<?xml version="1.0"?>
<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>

	<!-- This is the Maven project object model (POM) file for the open-source SDK web app.
		 This is NOT the Portal - but it is developed and supported by the Portal team. -->
	<groupId>org.onap.portal.sdk</groupId>
	<artifactId>epsdk-app-os</artifactId>
	<version>1.4.0-SNAPSHOT</version>
	<packaging>war</packaging>
	<name>ONAP Portal SDK Webapp for OpenSource</name>
	<description>ONAP Portal SDK Web Application for public release</description>

	<!-- OParent provides license audit, code audit, distribution management,
                etc.  But jenkins build fails, so comment out for now.
	<parent>
		<groupId>org.onap.oparent</groupId>
		<artifactId>oparent</artifactId>
		<version>0.1.0</version>
		<relativePath/>
	</parent>
	-->

	<properties>
		<encoding>UTF-8</encoding>
		<epsdk.version>1.4.0-SNAPSHOT</epsdk.version>
		<springframework.version>4.2.0.RELEASE</springframework.version>
		<hibernate.version>4.3.11.Final</hibernate.version>
		<!-- Skip assembling the zip; assemble via mvn -Dskipassembly=false .. -->
		<skipassembly>true</skipassembly>
		<!-- Tests usually require some setup that maven cannot do, so skip. -->
		<skiptests>true</skiptests>
	</properties>

	<repositories>
		<repository>
			<id>onap-releases</id>
			<name>ONAP - Release Repository</name>
			<url>https://nexus.onap.org/content/repositories/releases</url>
		</repository>
		<repository>
			<id>onap-staging</id>
			<name>ONAP - Staging Repository</name>
			<url>https://nexus.onap.org/content/repositories/staging</url>
		</repository>
		<repository>
			<id>onap-snapshots</id>
			<name>ONAP - Snapshot Repository</name>
			<url>https://nexus.onap.org/content/repositories/snapshots</url>
		</repository>
		<repository>
 			<id>onap-public</id>
			<name>ONAP public Repository</name>
			<url>https://nexus.onap.org/content/groups/public</url>
		</repository>
	</repositories>
	<pluginRepositories>
		<pluginRepository>
			<id>releases</id>
			<name>ONAP - Release Repository</name>
			<url>https://nexus.onap.org/content/repositories/releases</url>
		</pluginRepository>
		<pluginRepository>
			<id>staging</id>
			<name>ONAP - Staging Repository</name>
			<url>https://nexus.onap.org/content/repositories/staging</url>
		</pluginRepository>
		<pluginRepository>
			<id>snapshots</id>
			<name>ONAP - Snapshot Repository</name>
			<url>https://nexus.onap.org/content/repositories/snapshots</url>
		</pluginRepository>
	</pluginRepositories>

	<profiles>
		<!-- disable doclint, a new feature in Java 8, when generating javadoc -->
		<profile>
			<id>doclint-java8-disable</id>
			<activation>
				<jdk>[1.8,)</jdk>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
						<version>2.10.4</version>
						<configuration>
							<additionalparam>-Xdoclint:none</additionalparam>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<build>
		<!-- The war file name carries no version number -->
		<finalName>${project.artifactId}</finalName>

		<pluginManagement>
			<plugins>
				<!-- Silence Eclipse/m2e complaints about checkstyle plugin brought in by OParent -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>org.apache.maven.plugins</groupId>
										<artifactId>maven-checkstyle-plugin</artifactId>
										<versionRange>2.17,)</versionRange>
										<goals>
											<goal>check</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>

		<plugins>
			<!-- Compile to Java 1.8 class output format -->
			<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>
					<additionalClasspathElements>
						<additionalClasspathElement>${basedir}/war</additionalClasspathElement>
					</additionalClasspathElements>
					<systemPropertyVariables>
						<container.classpath>classpath:</container.classpath>
					</systemPropertyVariables>
				</configuration>
			</plugin>

			<!-- add version number to manifest -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.0.2</version>
				<configuration>
					<archive>
						<manifest>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
						</manifest>
						<manifestEntries>
							<Build-Number>${project.version}</Build-Number>
							<Build-Time>${maven.build.timestamp}</Build-Time>
						</manifestEntries>
					</archive>
					<overlays>
						<overlay>
							<groupId>org.onap.portal.sdk</groupId>
							<artifactId>epsdk-app-overlay</artifactId>
						</overlay>
					</overlays>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-assembly-plugin</artifactId>
				<version>3.0.0</version>
				<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-deploy-plugin</artifactId>
				<version>2.8</version>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>

		</plugins>
	</build>
	
	<dependencies>
		<!-- 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>
		<!-- SDK components -->
		<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>
		<!-- 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.6.3</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.6.3</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>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
		</dependency>
		<!-- Elastic Search -->
		<dependency>
			<groupId>org.elasticsearch</groupId>
			<artifactId>elasticsearch</artifactId>
			<version>2.2.0</version>
		</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>
	</dependencies>
</project>