<?xml version="1.0" encoding="UTF-8"?>
<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.oparent</groupId>
		<artifactId>oparent</artifactId>
		<version>1.2.0</version>
		<relativePath />
	</parent>

	<groupId>org.onap.portal</groupId>
	<artifactId>onap-portal-parent</artifactId>
	<version>2.6.0-SNAPSHOT</version>
	<packaging>pom</packaging>
	<name>portal</name>

	<modules>
		<!-- This parent POM names only ONAP projects -->
		<module>ecomp-portal-BE-common</module>
		<module>ecomp-portal-BE-os</module>
		<module>ecomp-portal-FE-os</module>
		<module>ecomp-portal-widget-ms</module>
	</modules>

	<properties>
		<!-- Jenkins should invoke mvn with argument -Dbuild.number=${BUILD_NUMBER} -->
		<build.number>0</build.number>
		<epsdk.version>2.6.0-SNAPSHOT</epsdk.version>
		<springframework.version>4.2.3.RELEASE</springframework.version>
		<hibernate.version>4.3.11.Final</hibernate.version>
		<fasterxml.version>2.8.10</fasterxml.version>
		<eelf.version>1.0.0</eelf.version>
		<!-- NOT provided by OParent, unfortunately -->
		<jacocoVersion>0.7.6.201602180812</jacocoVersion>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<encoding>UTF-8</encoding>
		<!-- <sonar.exclusions>**/scripts/**/*,**.js</sonar.exclusions>  -->
		<sonar.test.exclusions>**/test/**/*,**/tests/**/*</sonar.test.exclusions>
		<enforcer.skip>false</enforcer.skip>
	</properties>

	<!-- Specify the repositories here to avoid coordination of ~/.m2/settings.xml 
		files among developers. Use values (not properties) so oparent can be resolved. -->
	<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>
			<url>https://nexus.onap.org/content/groups/public</url>
		</repository>
	</repositories>

	<!-- Specify the repositories here to avoid coordination of ~/.m2/settings.xml 
		files among all developers. -->
	<pluginRepositories>
		<pluginRepository>
			<id>onap-plugin-release</id>
			<url>https://nexus.onap.org/content/repositories/releases/</url>
		</pluginRepository>
		<pluginRepository>
			<id>onap-plugin-staging</id>
			<url>https://nexus.onap.org/content/repositories/staging/</url>
		</pluginRepository>
		<pluginRepository>
			<id>onap-plugin-snapshots</id>
			<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>3.0.0-M1</version>
						<configuration>
							<additionalparam>-Xdoclint:none</additionalparam>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<build>
		<pluginManagement>
			<plugins>
				<!-- Silence Eclipse m2e warnings -->
				<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>
				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.1</version>
					<configuration>
						<source>1.8</source>
						<target>1.8</target>
					</configuration>
				</plugin>
				<!-- maven-site-plugin config is provided by OParent -->
				<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>
		</pluginManagement>
		<plugins>
			<!-- Jacoco -->
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<!-- Override OParent version -->
				<version>${jacocoVersion}</version>
				<executions>
					<!-- disable jacoco executions from oparent -->
					<execution>
						<id>pre-unit-test</id>
						<phase>none</phase>
					</execution>
					<execution>
						<id>post-unit-test</id>
						<phase>none</phase>
					</execution>
					<execution>
						<id>pre-integration-test</id>
						<phase>none</phase>
					</execution>
					<execution>
						<id>post-integration-test</id>
						<phase>none</phase>
					</execution>
					<!-- Order matters -->
					<execution>
						<id>portal-prepare-agent</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<destFile>${sonar.jacoco.reportPath}</destFile>
						</configuration>
					</execution>
					<!-- offline instrumentation for PowerMock -->
					<execution>
						<id>portal-offline-instrument</id>
						<goals>
							<goal>instrument</goal>
						</goals>
					</execution>
					<execution>
						<id>portal-restore-instrumented-classes</id>
						<phase>test</phase>
						<goals>
							<goal>restore-instrumented-classes</goal>
						</goals>
					</execution>
					<execution>
						<id>portal-post-unit-test</id>
						<phase>test</phase>
						<goals>
							<goal>report</goal>
						</goals>
						<configuration>
							<dataFile>${sonar.jacoco.reportPath}</dataFile>
							<outputDirectory>${project.basedir}/target/site/jacoco</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<systemPropertyVariables>
						<jacoco-agent.destfile>${project.build.directory}/code-coverage/jacoco-ut.exec</jacoco-agent.destfile>
					</systemPropertyVariables>
				</configuration>
			</plugin>
			<!-- No deployment step for this project -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<!-- version managed by oparent <version>2.8</version> -->
				<configuration>
					<skip>true</skip>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>sonar-maven-plugin</artifactId>
				<version>3.0.2</version>
			</plugin>
		</plugins>
	</build>

	<distributionManagement>
		<!-- oparent.version defines snapshot and release repositories -->
		<site>
			<id>ecomp-site</id>
			<url>dav:https://nexus.onap.org/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</url>
		</site>
	</distributionManagement>
</project>
