<?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">

	<modelVersion>4.0.0</modelVersion>
	<parent>
        <groupId>org.onap.aaf.authz</groupId>
        <artifactId>parent</artifactId>
        <version>2.1.5-SNAPSHOT</version>
    </parent>
	<artifactId>authparent</artifactId>
	<name>AAF Auth Parent</name>
	<packaging>pom</packaging>

	
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.ext_root_dir>/opt/app/osaaf</project.ext_root_dir>
		<!--  SONAR  -->
		 <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>
		<!-- We have to up these versions from the original to avoid Security Errors -->
		<project.nettyVersion>4.1.22.Final</project.nettyVersion>
		<project.project.ext_root_dir>/opt/app/osaaf</project.project.ext_root_dir>
	</properties>

	<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>

	<build>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>2.3.2</version>
					<configuration>
						<source>1.8</source>
						<target>1.8</target>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>2.6</version>
					<configuration>
						<skip>false</skip>
					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.17</version>
					<configuration>
						<skipTests>false</skipTests>

						<includes>
							<include>**/JU*.java</include>
						</includes>
						<excludes>
						</excludes>

					</configuration>
				</plugin>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-failsafe-plugin</artifactId>
					<version>2.17</version>
					<configuration>
						<skipTests>false</skipTests>
					</configuration>
					<executions>
						<execution>
							<id>integration-test</id>
							<goals>
								<goal>integration-test</goal>
								<goal>verify</goal>
							</goals>
						</execution>
					</executions>
				</plugin>
				
				<!--  Builds O/S Command line ready jars and scripts, ready to run/zip -->
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>appassembler-maven-plugin</artifactId>
					<version>1.10</version>
					<executions>
						<execution>
							<goals>
								<goal>assemble</goal>
							</goals>
							<phase>install</phase>
						</execution>
					</executions>
					<configuration>
						<programs/> <!-- this set in projects that have programs -->
						<assembleDirectory>../aaf_${project.version}</assembleDirectory>
						<copyConfigurationDirectory>true</copyConfigurationDirectory>
						<configurationDirectory>etc</configurationDirectory>
						<repositoryName>lib</repositoryName>
						<includeConfigurationDirectoryInClasspath>false</includeConfigurationDirectoryInClasspath>
						<repositoryLayout>flat</repositoryLayout>
					</configuration>
				</plugin>
				
				<!-- Build Docker Image -->
				<plugin>
					<groupId>com.spotify</groupId>
					<artifactId>docker-maven-plugin</artifactId>
					<version>1.0.0</version>
					<configuration>
						<imageName>onap/osaaf/${project.artifactId}</imageName>
						<!-- <dockerDirectory>${dockerLocation}</dockerDirectory> -->
						<dockerDirectory>${basedir}/src/main/resources/docker</dockerDirectory>
						<imageTags>
							<imageTag>latest</imageTag>
							<imageTag>${project.docker.latesttagtimestamp.version}</imageTag>
							<imageTag>${project.docker.latesttag.version}</imageTag>
						</imageTags>
						<forceTags>true</forceTags>
						<!-- <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}/opt</directory> 
							<filtering>true</filtering> <includes> <include>**/**</include> </includes> 
							</resource> </resources> -->
						<resources>
							<resource>
								<targetPath>/</targetPath>
								<directory>${project.build.directory}/opt</directory>
								<include>${project.build.finalName}.jar</include>
							</resource>
							<resource>
								<targetPath>/</targetPath>
								<directory>${project.build.directory}</directory>
								<include>**/**</include>
							</resource>
						</resources>
					</configuration>
					<executions>
						<execution>
							<id>build-image</id>
							<phase>package</phase>
							<goals>
								<goal>build</goal>
							</goals>
							<configuration>
								<skipDockerBuild>${skip.docker.build}</skipDockerBuild>
							</configuration>
						</execution>
				
						<execution>
							<id>tag-image-project-version</id>
							<phase>package</phase>
							<goals>
								<goal>tag</goal>
							</goals>
							<configuration>
								<image>onap/osaaf/${project.artifactId}</image>
								<newName>${docker.push.registry}/onap/osaaf/${project.artifactId}:${project.version}</newName>
								<skipDockerTag>${skip.docker.push}</skipDockerTag>
							</configuration>
						</execution>
				
						<execution>
							<id>tag-image-latest</id>
							<phase>package</phase>
							<goals>
								<goal>tag</goal>
							</goals>
							<configuration>
								<image>onap/aaf/authz-service</image>
								<newName>${docker.push.registry}/onap/osaaf/${project.artifactId}:latest</newName>
								<skipDockerTag>${skip.docker.push}</skipDockerTag>
							</configuration>
						</execution>
				
						<execution>
							<id>push-image-latest</id>
							<phase>deploy</phase>
							<goals>
								<goal>push</goal>
							</goals>
							<configuration>
								<imageName>${docker.push.registry}/onap/osaaf/${project.artifactId}:${project.version}</imageName>
								<skipDockerPush>${skip.docker.push}</skipDockerPush>
							</configuration>
						</execution>
				
						<execution>
							<id>push-image</id>
							<phase>deploy</phase>
							<goals>
								<goal>push</goal>
							</goals>
							<configuration>
								<imageName>${docker.push.registry}/onap/osaaf/${project.artifactId}:latest</imageName>
								<skipDockerPush>${skip.docker.push}</skipDockerPush>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>1.6.7</version>
				<extensions>true</extensions>
				<configuration>
					<nexusUrl>${nexusproxy}</nexusUrl>
					<stagingProfileId>176c31dfe190a</stagingProfileId>
					<serverId>ecomp-staging</serverId>
				</configuration>
			</plugin>		
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.7.201606060606</version>
				<configuration>
					<dumpOnExit>true</dumpOnExit>
					<includes>
						<include>org.onap.aaf.*</include>
					</includes>
				</configuration>
				<executions>
					<execution>
						<id>pre-unit-test</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
							<!-- <append>true</append> -->
						</configuration>
					</execution>
					<execution>
						<id>pre-integration-test</id>
						<phase>pre-integration-test</phase>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
							<!-- <append>true</append> -->
						</configuration>
					</execution>
					<execution>
                        <goals>
                            <goal>merge</goal>
                        </goals>
                        <phase>post-integration-test</phase>
                        <configuration>
                            <fileSets>
                                <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
                                    <directory>${project.build.directory}/coverage-reports</directory>
                                    <includes>
                                        <include>*.exec</include>
                                    </includes>
                                </fileSet>
                            </fileSets>
                            <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
                        </configuration>
                    </execution>
				</executions>
			</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<dependencies>
		<dependency>
			<groupId>org.mockito</groupId>
			<artifactId>mockito-all</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-module-junit4</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.powermock</groupId>
			<artifactId>powermock-api-mockito</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<scope>test</scope>
		</dependency>

	</dependencies>

	<modules>
		<!-- <module>auth-client</module> complile manually with mvn -N independently -->
		<module>auth-core</module>
		<module>auth-cass</module>
		<module>auth-deforg</module>

		<module>auth-service</module>
		<module>auth-cmd</module>
		<module>auth-batch</module>

		<module>auth-gui</module>
		<module>auth-locate</module>
		<module>auth-oauth</module>
		<module>auth-certman</module>
		<module>auth-fs</module>
		<module>auth-hello</module>
	</modules>


</project>	
