<?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.1.0</version>
		<relativePath />
	</parent>

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