<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>
    <groupId>org.onap.so</groupId>
    <artifactId>adapters</artifactId>
    <version>1.6.0-SNAPSHOT</version>
  </parent>
  <groupId>org.onap.so.adapters</groupId>
  <artifactId>mso-adapters-rest-interface</artifactId>
  <packaging>jar</packaging>
  <name>mso-adapters-rest-interface</name>
  <description>
		Java Beans (Requests and Responses) for Network/Tenant/VNF/SDNC REST Operations
	</description>
  <build>
    <finalName>${project.artifactId}-${project.version}</finalName>
    <plugins>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <classesDirectory>target/classes</classesDirectory>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>org.javatuples</groupId>
      <artifactId>javatuples</artifactId>
      <version>1.2</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.libs.openstack-java-sdk</groupId>
      <artifactId>keystone-client</artifactId>
      <version>${openstack.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.libs.openstack-java-sdk</groupId>
      <artifactId>heat-client</artifactId>
      <version>${openstack.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.libs.openstack-java-sdk</groupId>
      <artifactId>quantum-client</artifactId>
      <version>${openstack.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.libs.openstack-java-sdk</groupId>
      <artifactId>glance-client</artifactId>
      <version>${openstack.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.libs.openstack-java-sdk</groupId>
      <artifactId>cinder-client</artifactId>
      <version>${openstack.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.libs.openstack-java-sdk</groupId>
      <artifactId>nova-client</artifactId>
      <version>${openstack.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so.libs.openstack-java-sdk.client-connectors</groupId>
      <artifactId>http-connector</artifactId>
      <version>${openstack.version}</version>
    </dependency>
    <dependency>
      <groupId>org.onap.so</groupId>
      <artifactId>common</artifactId>
      <version>${project.version}</version>
    </dependency>
  </dependencies>
</project>
