<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.portal</groupId>
		<artifactId>onap-portal-parent</artifactId>
		<version>2.3.0</version>
	</parent>

	<artifactId>portal-be-os</artifactId>
	<packaging>war</packaging>

	<properties>
		<!-- If skipTests is false use this command to generate the report: mvn 
			clean jacoco:prepare-agent install jacoco:report -->
		<skipTests>false</skipTests>
	</properties>

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

		<plugins>
			<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>
			<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>**/*TestCase.java</include>
						<inlcude>**/*TestSuite.java</inlcude>
					</includes>
					<!-- Intentionally Excluding TestFromSuite -->
					<excludes>
						<exclude>**/*TestFromSuite.java</exclude>
					</excludes>
					<additionalClasspathElements>
						<additionalClasspathElement>${basedir}/src/main/webapp</additionalClasspathElement>
						<additionalClasspathElement>../ecomp-portal-BE-common/src/main/webapp</additionalClasspathElement>
						<additionalClasspathElement>../ecomp-portal-BE-common</additionalClasspathElement>
					</additionalClasspathElements>
					<systemPropertyVariables>
						<container.classpath>classpath:</container.classpath>
					</systemPropertyVariables>
				</configuration>
			</plugin>

			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.6</version>
				<configuration>
					<warSourceDirectory>src/main/webapp</warSourceDirectory>
					<failOnMissingWebXml>false</failOnMissingWebXml>
					<archive>
						<manifest>
							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
						</manifest>
						<manifestEntries>
							<Build-Number>${project.version}.${build.number}</Build-Number>
							<Build-Time>${maven.build.timestamp}</Build-Time>
						</manifestEntries>
					</archive>
					<overlays>
						<!-- specify the order in which these should be applied -->
						<overlay>
							<groupId>org.onap.portal</groupId>
							<artifactId>portal-be-common</artifactId>
						</overlay>
						<overlay>
							<groupId>org.onap.portal.sdk</groupId>
							<artifactId>epsdk-app-overlay</artifactId>
						</overlay>
					</overlays>
				</configuration>
			</plugin>

			<!-- No deployment step for this project -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<version>2.8</version>
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>

			<plugin>
				<artifactId>maven-resources-plugin</artifactId>
				<version>3.0.2</version>
				<!-- Your own property files can be placed in ecomp-portal-be/../../overrides 
					directory and they will override the generic source controlled versions at 
					build time allowing you to test locally with your own settings. -->
				<executions>
					<execution>
						<id>copy-custom-properties1</id>
						<phase>process-resources</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<overwrite>true</overwrite>
							<outputDirectory>${basedir}/war/WEB-INF/conf</outputDirectory>
							<resources>
								<resource>
									<directory>${basedir}/../../overrides</directory>
									<includes>
										<include>system.properties</include>
									</includes>
								</resource>
							</resources>
						</configuration>
					</execution>
					<execution>
						<id>copy-custom-properties2</id>
						<phase>process-resources</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<overwrite>true</overwrite>
							<outputDirectory>${basedir}/war/WEB-INF/fusion/conf</outputDirectory>
							<resources>
								<resource>
									<directory>${basedir}/../../overrides</directory>
									<includes>
										<include>fusion.properties</include>
									</includes>
								</resource>
							</resources>
						</configuration>
					</execution>
					<execution>
						<id>copy-custom-properties3</id>
						<phase>process-resources</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<overwrite>true</overwrite>
							<outputDirectory>${basedir}/src/main/resources</outputDirectory>
							<resources>
								<resource>
									<directory>${basedir}/../../overrides</directory>
									<includes>
										<include>portal.properties</include>
										<include>openid-connect.properties</include>
										<include>openid-keystore.jwks</include>
									</includes>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>

		<testResources>
			<testResource>
				<directory>src/test/java</directory>
				<includes>
					<include>**/*Test*.*</include>
				</includes>
			</testResource>
		</testResources>

		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<includes>
					<include>**/*.xml</include>
					<include>**/*.ccf</include>
					<include>**/*.properties</include>
					<include>**/*.jwks</include>
				</includes>
			</resource>
			<resource>
				<directory>src/test/resources</directory>
				<includes>
					<include>**/*.xml</include>
					<include>**/*.properties</include>
				</includes>
			</resource>
			<!-- picks up the applicationcodes.properties file presented in \src\ 
				path -->
			<resource>
				<directory>src/main/java</directory>
				<includes>
					<include>**/*.xml</include>
					<include>**/*.properties</include>
				</includes>
			</resource>
		</resources>

	</build>

	<dependencies>
		<!-- Spring -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</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.springframework</groupId>
			<artifactId>spring-tx</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context-support</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${springframework.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
			<version>1.3.0.RELEASE</version>
			<exclusions>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>log4j-over-slf4j</artifactId>
				</exclusion>
				<exclusion>
					<groupId>ch.qos.logback</groupId>
					<artifactId>logback-classic</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<!-- Hibernate -->
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>${hibernate.version}</version>
		</dependency>
		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-validator</artifactId>
			<version>5.1.3.Final</version>
		</dependency>
		<!-- Servlet+JSP+JSTL -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>javax.servlet.jsp-api</artifactId>
			<version>2.3.1</version>
		</dependency>
		<dependency>
    		<groupId>org.apache.taglibs</groupId>
    		<artifactId>taglibs-standard-spec</artifactId>
    		<version>1.2.5</version>
		</dependency>
		<dependency>
    		<groupId>org.apache.taglibs</groupId>
    		<artifactId>taglibs-standard-impl</artifactId>
    		<version>1.2.5</version>
		</dependency>
		<dependency>
    		<groupId>org.apache.taglibs</groupId>
   			<artifactId>taglibs-standard-jstlel</artifactId>
    		<version>1.2.5</version>
		</dependency>
		<!-- Apache Tiles -->
		<dependency>
			<groupId>org.apache.tiles</groupId>
			<artifactId>tiles-core</artifactId>
			<version>3.0.5</version>
		</dependency>
		<dependency>
			<groupId>org.apache.tiles</groupId>
			<artifactId>tiles-jsp</artifactId>
			<version>3.0.5</version>
		</dependency>
		<dependency>
			<groupId>org.apache.cxf</groupId>
			<artifactId>cxf-rt-rs-client</artifactId>
			<version>3.0.0-milestone1</version>
		</dependency>
		<!-- Mapper -->
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-annotations</artifactId>
			<version>2.8.10</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-core</artifactId>
			<version>2.8.10</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.8.10</version>
		</dependency>
		<dependency>
			<groupId>com.fasterxml</groupId>
			<artifactId>classmate</artifactId>
			<version>1.3.1</version>
		</dependency>
		<!-- Use Mariadb connector/j for failover -->
		<dependency>
			<groupId>org.mariadb.jdbc</groupId>
			<artifactId>mariadb-java-client</artifactId>
			<version>1.5.8</version>
		</dependency>
		<!-- Elastic Search -->
		<dependency>
			<groupId>org.elasticsearch</groupId>
			<artifactId>elasticsearch</artifactId>
			<version>2.2.0</version>
			<exclusions>
				<exclusion>
					<groupId>org.apache.lucene</groupId>
					<artifactId>lucene-queryparser</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>io.searchbox</groupId>
			<artifactId>jest</artifactId>
			<version>2.0.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.jcs</groupId>
			<artifactId>jcs</artifactId>
			<version>1.3</version>
			<exclusions>
				<exclusion>
					<groupId>*</groupId>
					<artifactId>*</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.tomcat</groupId>
			<artifactId>tomcat-websocket</artifactId>
			<version>8.0.28</version>
			<scope>provided</scope>
		</dependency>
		<!-- Raptor required Libraries -->
		<!-- for static charts -->
		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>2.6</version>
		</dependency>
		<!-- for generating excel/csv/excelx -->
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi</artifactId>
			<version>3.15</version>
			<exclusions>
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
				<exclusion>
					<groupId>log4j</groupId>
					<artifactId>log4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-ooxml</artifactId>
			<version>3.15</version>
			<exclusions>
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
				<exclusion>
					<groupId>log4j</groupId>
					<artifactId>log4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-scratchpad</artifactId>
			<version>3.5-FINAL</version>
			<exclusions>
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
				<exclusion>
					<groupId>log4j</groupId>
					<artifactId>log4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.apache.poi</groupId>
			<artifactId>poi-contrib</artifactId>
			<version>3.5-FINAL</version>
			<exclusions>
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
				<exclusion>
					<groupId>log4j</groupId>
					<artifactId>log4j</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<!-- Quartz -->
		<dependency>
			<groupId>org.quartz-scheduler</groupId>
			<artifactId>quartz</artifactId>
			<version>2.2.1</version>
			<exclusions>
				<!-- SDK brings a new version of c3p0 -->
				<exclusion>
					<groupId>c3p0</groupId>
					<artifactId>c3p0</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
			<version>1.9</version>
		</dependency>
		<dependency>
			<groupId>com.att.nsa</groupId>
			<artifactId>cambriaClient</artifactId>
			<version>0.0.1</version>
			<exclusions>
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
				<exclusion>
					<groupId>log4j</groupId>
					<artifactId>log4j</artifactId>
				</exclusion>
				<exclusion>
					<groupId>log4j</groupId>
					<artifactId>apache-log4j-extras</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-log4j12</artifactId>
				</exclusion>
			</exclusions>
		</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>
				 <exclusions>
				<exclusion>
             		<groupId>commons-beanutils</groupId>
             		<artifactId>commons-beanutils-core</artifactId>
            	 </exclusion>
              </exclusions>
			
		</dependency>
		<!-- EcompPortal common overlay -->
		<dependency>
			<groupId>org.onap.portal</groupId>
			<artifactId>portal-be-common</artifactId>
			<version>${project.version}</version>
			<type>war</type>
		</dependency>
		<dependency>
			<groupId>org.onap.portal</groupId>
			<artifactId>portal-be-common</artifactId>
			<version>${project.version}</version>
			<type>jar</type>
			<classifier>classes</classifier>
		</dependency>
		<dependency>
			<groupId>org.onap.portal</groupId>
			<artifactId>portal-be-common</artifactId>
			<version>${project.version}</version>
			<type>jar</type>
			<classifier>tests</classifier>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.onap.portal.sdk</groupId>
			<artifactId>epsdk-fw</artifactId>
			<version>${epsdk.version}</version>
			<exclusions>
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				</exclusion>
				<exclusion>
					<groupId>log4j</groupId>
					<artifactId>log4j</artifactId>
				</exclusion>
				<exclusion>
					<groupId>log4j</groupId>
					<artifactId>apache-log4j-extras</artifactId>
				</exclusion>
				<exclusion>
					<groupId>org.slf4j</groupId>
					<artifactId>slf4j-log4j12</artifactId>
				</exclusion>
			</exclusions>
		</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-workflow</artifactId>
			<version>${epsdk.version}</version>
		</dependency>
		<!-- Raptor required Libraries -->
		<!-- for static charts -->
		<dependency>
			<groupId>org.onap.portal.sdk</groupId>
			<artifactId>epsdk-analytics</artifactId>
			<version>${epsdk.version}</version>
		</dependency>
		<dependency>
			<groupId>org.json</groupId>
			<artifactId>json</artifactId>
			<version>20171018</version>
		</dependency>
		<!-- Referenced by some poms and needed for testing; do NOT use "test" 
			scope here. -->
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.5.3</version>
		</dependency>
		<!-- for testing -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.11</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-api-mockito</artifactId>
			<version>1.6.1</version>
		</dependency>
		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-core</artifactId>
			<version>1.6.1</version>
		</dependency>
		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-module-junit4</artifactId>
			<version>1.6.1</version>
		</dependency>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-core</artifactId>
			<version>1.8.5</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>commons-beanutils</groupId>
			<artifactId>commons-beanutils</artifactId>
			<version>1.9.3</version>
		</dependency>
		<!-- OpenID Connect Dependencies -->
		<dependency>
			<groupId>org.mitre</groupId>
			<artifactId>openid-connect-client</artifactId>
			<version>1.3.1</version>
			<exclusions>
				<exclusion>
					<groupId>org.codehaus.jackson</groupId>
					<artifactId>jackson-mapper-asl</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.nimbusds</groupId>
					<artifactId>nimbus-jose-jwt</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
<!-- 		<dependency>
			<groupId>org.springframework.security</groupId>
			<artifactId>spring-security-taglibs</artifactId>
			<version>3.2.8.RELEASE</version>
			<exclusions>
				<exclusion>
					<groupId>org.springframework</groupId>
					<artifactId>*</artifactId>
				</exclusion>
			</exclusions>
		</dependency> -->
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>1.8.9</version>
		</dependency>
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjweaver</artifactId>
			<version>1.8.9</version>
		</dependency>
		<!-- Jacoco for offline instrumentation -->
		<dependency>
			<groupId>org.jacoco</groupId>
			<artifactId>org.jacoco.agent</artifactId>
			<version>${jacocoVersion}</version>
			<classifier>runtime</classifier>
		</dependency>
		<!-- Music -->
		<dependency>
			<groupId>org.onap.portal.sdk</groupId>
			<artifactId>epsdk-music</artifactId>
			<version>${epsdk.version}</version>
			
			<exclusions> 
				<exclusion> 
					  <groupId>com.sun.jersey</groupId> 
          			  <artifactId>jersey-client</artifactId> 
				</exclusion> 
				<exclusion> 
					 <groupId>com.sun.jersey</groupId> 
          			 <artifactId>jersey-server</artifactId> 
				</exclusion> 
				<exclusion> 
					 <groupId>com.sun.jersey</groupId> 
           			 <artifactId>jersey-json</artifactId> 
				</exclusion><exclusion> 
					<groupId>com.sun.jersey</groupId> 
          			<artifactId>jersey-servlet</artifactId> 
				</exclusion> 
			</exclusions> 
		</dependency> 
	</dependencies>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>3.0.0-M1</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>
</project>