<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <artifactId>appc-iaas-adapter</artifactId>
    <groupId>org.onap.appc</groupId>
    <version>1.3.0-SNAPSHOT</version>
  </parent>
  <artifactId>appc-iaas-adapter-features</artifactId>
  <name>IaaS Adaptor - Features</name>

  <packaging>jar</packaging>

  <dependencies>
    <dependency>
      <groupId>org.onap.appc</groupId>
      <artifactId>appc-iaas-adapter-bundle</artifactId>
      <version>${project.version}</version>
    </dependency>

    <dependency>
      <groupId>org.opendaylight.mdsal</groupId>
      <artifactId>features-mdsal</artifactId>
      <classifier>features</classifier>
      <type>xml</type>
      <scope>runtime</scope>
    </dependency>

    <!-- dependency for opendaylight-karaf-empty for use by testing -->
    <dependency>
      <groupId>org.opendaylight.controller</groupId>
      <artifactId>opendaylight-karaf-empty</artifactId>
      <type>zip</type>
    </dependency>

    <dependency>
      <groupId>org.opendaylight.yangtools</groupId>
      <artifactId>features-yangtools</artifactId>
      <classifier>features</classifier>
      <type>xml</type>
      <scope>runtime</scope>
    </dependency>
  </dependencies>

  <build>
    <resources>
      <resource>
        <filtering>true</filtering>
        <directory>src/main/resources</directory>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <id>filter</id>
            <goals>
              <goal>resources</goal>
            </goals>
            <phase>generate-resources</phase>
          </execution>
        </executions>
      </plugin>
      <!-- launches the feature test, which validates that your karaf feature 
        can be installed inside of a karaf container. It doesn't validate that your 
        functionality works correctly, just that you have all of the dependent bundles 
        defined correctly. -->
      <!-- <plugin> -->
      <!-- <groupId>org.apache.maven.plugins</groupId> -->
      <!-- <artifactId>maven-surefire-plugin</artifactId> -->
      <!-- <version>2.16</version> -->
      <!-- <configuration> -->
      <!-- <systemPropertyVariables> -->
      <!-- <karaf.distro.groupId>org.opendaylight.controller</karaf.distro.groupId> -->
      <!-- <karaf.distro.artifactId>opendaylight-karaf-empty</karaf.distro.artifactId> -->
      <!-- <karaf.distro.version>${odl.karaf.empty.distro.version}</karaf.distro.version> -->
      <!-- </systemPropertyVariables> -->
      <!-- <dependenciesToScan> -->
      <!-- <dependency>org.opendaylight.yangtools:features-test</dependency> -->
      <!-- </dependenciesToScan> -->
      <!-- </configuration> -->
      <!-- </plugin> -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>attach-artifacts</id>
            <goals>
              <goal>attach-artifact</goal>
            </goals>
            <phase>package</phase>
            <configuration>
              <artifacts>
                <artifact>
                  <file>${project.build.directory}/classes/${features.file}</file>
                  <type>xml</type>
                  <classifier>features</classifier>
                </artifact>
              </artifacts>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
