<?xml version="1.0"?>
<project
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
	xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<modelVersion>4.0.0</modelVersion>

	<!-- This is the Maven project object model (POM) file for VID web application 
		based on the ECOMP SDK distribution. This file stands alone; it does not 
		inherit from a parent maven module. -->
	<groupId>org.onap.vid</groupId>
	<artifactId>vid-app-common</artifactId>
	<version>3.0.0-SNAPSHOT</version>
	<packaging>war</packaging>
	<name>VID Common</name>
	<description>VID Common code for opensource version</description>

	<properties>
		<encoding>UTF-8</encoding>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<epsdk.version>2.1.0</epsdk.version>
		<springframework.version>4.2.9.RELEASE</springframework.version>
		<hibernate.version>4.3.11.Final</hibernate.version>
		<!-- Skip assembling the zip by default -->
		<skipassembly>true</skipassembly>
		<!-- Tests usually require some setup that maven cannot do, so skip. -->
		<skiptests>false</skiptests>
		<nexusproxy>https://nexus.onap.org</nexusproxy>
		<snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
		<releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
		<stagingNexusPath>/content/repositories/staging/</stagingNexusPath>
		<sitePath>/content/sites/site/org/onap/vid/${project.version}</sitePath>
	</properties>


	<!-- this should be commented for local debugging -->
	<!-- <deployenv>local</deployenv> -->

	<repositories>
		<repository>
			<id>ecomp-releases</id>
			<name>VID Release Repository</name>
			<url>${nexusproxy}${releaseNexusPath}</url>
		</repository>
		<repository>
			<id>ecomp-snapshots</id>
			<name>VID Snapshot Repository</name>
			<url>${nexusproxy}${snapshotNexusPath}</url>
		</repository>
		<repository>
			<id>ecomp-staging</id>
			<name>VID Staging Repository</name>
			<url>${nexusproxy}${stagingNexusPath}</url>
		</repository>
		<repository>
			<!-- Snapshots repository has ECOMP snapshot artifacts -->
			<id>oss-snapshots</id>
			<name>oss Central - Snapshots</name>
			<url>https://oss.sonatype.org/service/local/repositories/releases/content/</url>
		</repository>

	</repositories>
	<distributionManagement>
		<repository>
			<id>ecomp-releases</id>
			<name>VID Release Repository</name>
			<url>${nexusproxy}/${releaseNexusPath}</url>
		</repository>
		<snapshotRepository>
			<id>ecomp-snapshots</id>
			<name>VID Snapshot Repository</name>
			<url>${nexusproxy}/${snapshotNexusPath}</url>
		</snapshotRepository>
		<!-- added for javadoc -->
		<site>
			<id>ecomp-site</id>
			<url>dav:${nexusproxy}${sitePath}</url>
		</site>
	</distributionManagement>

	<build>
		<finalName>vid-common</finalName>

		<plugins>
			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>1.6.7</version>
				<extensions>true</extensions>
				<configuration>
					<nexusUrl>${nexusproxy}</nexusUrl>
					<stagingProfileId>176c31dfe190a</stagingProfileId>
					<serverId>ecomp-staging</serverId>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.9</version>
				<executions>
					<execution>
						<id>default-prepare-agent</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
					</execution>
					<execution>
						<id>default-report</id>
						<goals>
							<goal>report</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat6-maven-plugin</artifactId>
				<version>2.2</version>
			</plugin>
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
			</plugin>

			<!-- Generate POJOs from MSO json schema -->
			<plugin>
				<groupId>org.jsonschema2pojo</groupId>
				<artifactId>jsonschema2pojo-maven-plugin</artifactId>
				<version>0.4.23</version>
				<configuration>
					<sourceDirectory>${basedir}/src/main/resources/json/mso</sourceDirectory>
					<targetPackage>org.onap.vid.domain.mso</targetPackage>
					<outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
				</configuration>
				<executions>
					<execution>
						<goals>
							<goal>generate</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.19.1</version>
				<configuration>
					<skipTests>${skiptests}</skipTests>
					<includes>
						<include>**/Test*.java</include>
						<include>**/*Test.java</include>
						<include>**/*TestCase.java</include>
					</includes>
					<excludes>
						<exclude>**/selenium/*.java</exclude>
						<exclude>**/integrationTest/*.java</exclude>
					</excludes>
					<additionalClasspathElements>
						<additionalClasspathElement>${basedir}/war</additionalClasspathElement>
					</additionalClasspathElements>
					<systemPropertyVariables>
						<container.classpath>classpath:</container.classpath>
					</systemPropertyVariables>
				</configuration>
			</plugin>

			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<configuration>
					<skipAssembly>${skipassembly}</skipAssembly>
					<descriptors>
						<descriptor>${basedir}/distribution.xml</descriptor>
					</descriptors>
				</configuration>
				<executions>
					<execution>
						<id>make-assembly</id>
						<phase>package</phase>
						<goals>
							<goal>single</goal>
						</goals>
					</execution>
				</executions>
			</plugin>


			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>3.0.0</version>
				<configuration>
					<!-- Build a jar with all the Java classes -->
					<attachClasses>true</attachClasses>
					<!-- Do not put any jars in the war -->
					<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>3.6</version>
				<dependencies>
					<dependency>
						<groupId>org.apache.maven.wagon</groupId>
						<artifactId>wagon-webdav-jackrabbit</artifactId>
						<version>2.10</version>
					</dependency>
				</dependencies>
			</plugin>
		</plugins>
	</build>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.4</version>
				<configuration>
					<failOnError>false</failOnError>
					<doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
					<docletArtifact>
						<groupId>org.umlgraph</groupId>
						<artifactId>umlgraph</artifactId>
						<version>5.6</version>
					</docletArtifact>
					<additionalparam>-views</additionalparam>
					<useStandardDocletOptions>true</useStandardDocletOptions>
				</configuration>
			</plugin>
		</plugins>
	</reporting>

	<dependencies>
	
		<dependency>
		    <groupId>com.opencsv</groupId>
		    <artifactId>opencsv</artifactId>
		    <version>4.1</version>
		</dependency>
			
		<!-- HTTP client -->

		<dependency>
			<groupId>io.joshworks.unirest</groupId>
			<artifactId>unirest-java</artifactId>
			<version>0.2.1</version>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.3.6</version>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpasyncclient</artifactId>
			<version>4.0.2</version>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpmime</artifactId>
			<version>4.3.6</version>
		</dependency>
		<dependency>
			<groupId>com.xebialabs.restito</groupId>
			<artifactId>restito</artifactId>
			<version>0.9.3</version>
			<scope>test</scope>
		</dependency>

		<!-- Helpers -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.2</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>io.vavr</groupId>
			<artifactId>vavr</artifactId>
			<version>0.9.2</version>
		</dependency>

		<!-- SDK overlay war -->
		<dependency>
			<groupId>org.onap.portal.sdk</groupId>
			<artifactId>epsdk-app-overlay</artifactId>
			<version>${epsdk.version}</version>
			<type>war</type>
		</dependency>
		<dependency>
			<groupId>org.onap.portal.sdk</groupId>
			<artifactId>epsdk-app-common</artifactId>
			<version>${epsdk.version}</version>
			<type>jar</type>
		</dependency>

		<dependency>
			<groupId>org.onap.portal.sdk</groupId>
			<artifactId>epsdk-core</artifactId>
			<version>${epsdk.version}</version>
		</dependency>
		<dependency>
			<groupId>org.onap.portal.sdk</groupId>
			<artifactId>epsdk-analytics</artifactId>
			<version>${epsdk.version}</version>
		</dependency>
		<dependency>
			<groupId>org.onap.portal.sdk</groupId>
			<artifactId>epsdk-workflow</artifactId>
			<version>${epsdk.version}</version>
		</dependency>
		<dependency>
			<groupId>com.att.eelf</groupId>
			<artifactId>eelf-core</artifactId>
			<version>1.0.0</version>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-core</artifactId>
			<version>1.2.3</version>
		</dependency>
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.2.3</version>
		</dependency>

		<!-- Mapper -->
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-annotations</artifactId>
			<version>2.6.3</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-core</artifactId>
			<version>2.8.6</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.6.7.1</version>
		</dependency>
		<dependency>
			<groupId>org.codehaus.jackson</groupId>
			<artifactId>jackson-mapper-asl</artifactId>
			<version>1.9.13</version>
		</dependency>
		<dependency>
			<groupId>com.mchange</groupId>
			<artifactId>c3p0</artifactId>
			<version>0.9.5.2</version>
		</dependency>
		<dependency>
			<groupId>io.searchbox</groupId>
			<artifactId>jest</artifactId>
			<version>2.0.0</version>
			<exclusions>
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>2.4</version>
			<!--<scope>test</scope>-->
		</dependency>
		<dependency>
			<groupId>com.google.code.bean-matchers</groupId>
			<artifactId>bean-matchers</artifactId>
			<version>0.11</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.json</groupId>
			<artifactId>json</artifactId>
			<version>20160212</version>
		</dependency>
		<dependency>
			<groupId>org.quartz-scheduler</groupId>
			<artifactId>quartz</artifactId>
			<version>2.2.1</version>
			<exclusions>
				<!-- exclude 0.9.1.1 to avoid dupe of com.mchange:c3p0:0.9.2.1 -->
				<exclusion>
					<groupId>c3p0</groupId>
					<artifactId>c3p0</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<!-- bridge to implement commons-logging using slf4j -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jcl-over-slf4j</artifactId>
			<version>1.7.12</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${springframework.version}</version>
			<exclusions>
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.glassfish.jersey.core</groupId>
			<artifactId>jersey-client</artifactId>
			<version>2.23.1</version>
		</dependency>
		<dependency>
			<groupId>org.glassfish.jersey.connectors</groupId>
			<artifactId>jersey-jetty-connector</artifactId>
			<version>2.23.1</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.jaxrs</groupId>
			<artifactId>jackson-jaxrs-json-provider</artifactId>
			<version>2.6.3</version>
		</dependency>
		<dependency>
			<groupId>commons-beanutils</groupId>
			<artifactId>commons-beanutils</artifactId>
			<version>1.9.3</version>
		</dependency>
		<dependency>
			<groupId>com.googlecode.json-simple</groupId>
			<artifactId>json-simple</artifactId>
			<version>1.1.1</version>
		</dependency>
		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-java</artifactId>
			<version>2.53.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-api</artifactId>
			<version>2.53.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.testng</groupId>
			<artifactId>testng</artifactId>
			<version>6.8</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.seleniumhq.selenium</groupId>
			<artifactId>selenium-firefox-driver</artifactId>
			<version>2.53.1</version>
		</dependency>
		<dependency>
			<groupId>xml-apis</groupId>
			<artifactId>xml-apis</artifactId>
			<version>1.4.01</version>
		</dependency>
		<dependency>
			<groupId>org.yaml</groupId>
			<artifactId>snakeyaml</artifactId>
			<version>1.16</version>
		</dependency>
	        <dependency>
	            <groupId>org.skyscreamer</groupId>
	            <artifactId>jsonassert</artifactId>
	            <version>1.5.0</version>
	        </dependency>
	        <dependency>
	            <groupId>org.onap.sdc.sdc-tosca</groupId>
	            <artifactId>sdc-tosca</artifactId>
            	    <version>1.4.1</version>
            	    <scope>compile</scope>
	        </dependency>
	        <dependency>
	            <groupId>net.javacrumbs.json-unit</groupId>
	            <artifactId>json-unit</artifactId>
	            <version>1.23.0</version>
	            <scope>test</scope>
	        </dependency>
	        <dependency>
	            <groupId>org.apache.commons</groupId>
	            <artifactId>commons-text</artifactId>
	            <version>1.1</version>
	        </dependency>
	        <dependency>
	            <groupId>org.hamcrest</groupId>
	            <artifactId>java-hamcrest</artifactId>
	            <version>2.0.0.0</version>
	            <scope>test</scope>
	        </dependency>
	        <dependency>
	            <groupId>org.togglz</groupId>
	            <artifactId>togglz-spring-core</artifactId>
	            <version>2.5.0.Final</version>
	        </dependency>
			<dependency>
				<groupId>org.assertj</groupId>
				<artifactId>assertj-core</artifactId>
				<version>3.10.0</version>
				<scope>compile</scope>
		 	</dependency>
		</dependencies>
</project>
