<?xml version="1.0" encoding="UTF-8"?>
<!--
 * ============LICENSE_START====================================================
 * org.onap.aaf
 * ===========================================================================
 * Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
 * ===========================================================================
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ============LICENSE_END====================================================
 *
-->
<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">
	<parent>
		<groupId>org.onap.aaf.authz</groupId>
		<artifactId>miscparent</artifactId>
		<version>2.1.15-SNAPSHOT</version>
		<relativePath>..</relativePath>
	</parent>

	<modelVersion>4.0.0</modelVersion>
	<artifactId>aaf-misc-rosetta</artifactId>
	<name>AAF Misc Rosetta</name>
	<packaging>jar</packaging>

	<developers>
		<developer>
			<name>Jonathan Gathman</name>
			<email>jonathan.gathman@att.com</email>
			<organization>ATT</organization>
			<roles>
				<role>Architect</role>
				<role>Lead Developer</role>
			</roles>
		</developer>
		<developer>
			<name>Gabe Maurer</name>
			<email>gabe.maurer@att.com</email>
			<organization>ATT</organization>
			<roles>
				<role>Developer</role>
			</roles>
		</developer>
		<developer>
			<name>Ian Howell</name>
			<email>ian.howell@att.com</email>
			<organization>ATT</organization>
			<roles>
				<role>Developer</role>
			</roles>
		</developer>
		<developer>
			<name>Sai Gandham</name>
			<email>sai.gandham@att.com</email>
			<organization>ATT</organization>
			<roles>
				<role>Developer</role>
			</roles>
		</developer>
	</developers>

	<properties>
	<!--  SONAR  -->
	<scijava.jvm.version>1.8</scijava.jvm.version>
	<!-- <sonar.skip>true</sonar.skip> -->
		 <jacoco.version>0.7.7.201606060606</jacoco.version>
	    <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
	    <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
	    <!-- Default Sonar configuration -->
	    <sonar.jacoco.reportPaths>target/code-coverage/jacoco-ut.exec</sonar.jacoco.reportPaths>
	    <sonar.jacoco.itReportPaths>target/code-coverage/jacoco-it.exec</sonar.jacoco.itReportPaths>
	    <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
	    <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>

		<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/aaf/authz/${project.artifactId}/${project.version}</sitePath>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.onap.aaf.authz</groupId>
			<artifactId>aaf-misc-env</artifactId>
			<version>${project.version}</version>
		</dependency>
	</dependencies>

			

				<!-- ============================================================== -->
	<!-- Define common plugins and make them available for all modules -->
	<!-- ============================================================== -->
	<build>
		<testSourceDirectory>src/test/java</testSourceDirectory>
		
			<plugins>
				<plugin>
					<inherited>true</inherited>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<configuration>
						<source>1.7</source>
						<target>1.7</target>
					</configuration>
				</plugin>

				<plugin>
				<groupId>org.jvnet.jaxb2.maven2</groupId>
				<artifactId>maven-jaxb2-plugin</artifactId>
				<version>0.8.2</version>
				<executions>
					<execution>
						<goals>
							<goal>generate</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<schemaDirectory>src/main/xsd</schemaDirectory>
				</configuration>
			</plugin>
			
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<configuration>
						<outputDirectory>target</outputDirectory>
						<archive>
							<manifestEntries>
								<Sealed>true</Sealed>
							</manifestEntries>
						</archive>
					</configuration>
				</plugin>

				<!-- Define the javadoc plugin -->
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<configuration>
						<excludePackageNames>org.opendaylight.*</excludePackageNames>
					</configuration>
				</plugin>

				<plugin>
					<artifactId>maven-release-plugin</artifactId>
					<configuration>
						<goals>-s ${mvn.settings} deploy</goals>
					</configuration>
				</plugin>

				<plugin>
					<artifactId>maven-assembly-plugin</artifactId>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<configuration>
						<skip>false</skip>
					</configuration>

				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-dependency-plugin</artifactId>
				</plugin>

				<!-- Maven surefire plugin for testing -->
				<plugin>
					<artifactId>maven-surefire-plugin</artifactId>
					<configuration>
					<skipTests>false</skipTests>
					<includes>
						<include>**/JU*.java</include>
					</includes>
					<excludes>
					</excludes>
					</configuration>
				</plugin>

				<!--This plugin's configuration is used to store Eclipse m2e settings
					only. It has no influence on the Maven build itself. -->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.codehaus.mojo
										</groupId>
										<artifactId>
											jaxb2-maven-plugin
										</artifactId>
										<versionRange>
											[1.3,)
										</versionRange>
										<goals>
											<goal>xjc</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore />
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<configuration>
						<excludes>
							<exclude>**/gen/**</exclude>
							<exclude>**/generated-sources/**</exclude>
							<exclude>**/yang-gen/**</exclude>
							<exclude>**/pax/**</exclude>
						</excludes>
					</configuration>
					<executions>
						<execution>
							<id>pre-unit-test</id>
							<goals>
								<goal>prepare-agent</goal>
							</goals>
							<configuration>
								<destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
								<propertyName>surefireArgLine</propertyName>
							</configuration>
						</execution>
						<execution>
							<id>post-unit-test</id>
							<phase>test</phase>
							<goals>
								<goal>report</goal>
							</goals>
							<configuration>
								<dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
								<outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
							</configuration>
						</execution>
						<execution>
							<id>pre-integration-test</id>
							<phase>pre-integration-test</phase>
							<goals>
								<goal>prepare-agent</goal>
							</goals>
							<configuration>
								<destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
								<propertyName>failsafeArgLine</propertyName>
							</configuration>
						</execution>
						<execution>
							<id>post-integration-test</id>
							<phase>post-integration-test</phase>
							<goals>
								<goal>report</goal>
							</goals>
							<configuration>
								<dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
								<outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
							</configuration>
						</execution>
					</executions>
				</plugin>
			</plugins>
	</build>

	<distributionManagement>
		<repository>
			<id>ecomp-releases</id>
			<name>AAF Release Repository</name>
			<url>${nexusproxy}${releaseNexusPath}</url>
		</repository>
		<snapshotRepository>
			<id>ecomp-snapshots</id>
			<name>AAF Snapshot Repository</name>
			<url>${nexusproxy}${snapshotNexusPath}</url>
		</snapshotRepository>
		<site>
			<id>ecomp-site</id>
			<url>dav:${nexusproxy}${sitePath}</url>
		</site>
	</distributionManagement>

</project>
