<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.openecomp.mso</groupId>
		<artifactId>adapters</artifactId>
		<version>1.1.0-SNAPSHOT</version>
	</parent>
	<groupId>org.openecomp.mso.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 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>
		</plugins>
	</build>
	<dependencies>
		<dependency>
			<groupId>org.jboss.resteasy</groupId>
			<artifactId>resteasy-jaxrs</artifactId>
			<version>3.0.19.Final</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.jboss.resteasy</groupId>
			<artifactId>resteasy-jackson-provider</artifactId>
			<version>3.0.19.Final</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
		  	<groupId>org.jboss.resteasy</groupId>
   		 	<artifactId>resteasy-jettison-provider</artifactId>
    		<version>3.0.19.Final</version>
		</dependency>
		<dependency>
			<groupId>org.openecomp.mso.adapters</groupId>
			<artifactId>mso-adapter-utils</artifactId>
			<version>${project.version}</version>
		</dependency>
	</dependencies>
</project>
