<?xml version="1.0" encoding="UTF-8"?>
<!--
  ============LICENSE_START====================================================
  * org.onap.aaf
  * ===========================================================================
  * Copyright © 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====================================================
  *
  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
  *
-->
<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/maven-v4_0_0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.onap.aaf.authz</groupId>
		<artifactId>parent</artifactId>
		<version>1.0.1-SNAPSHOT</version>
		<relativePath>../pom.xml</relativePath>
	</parent>
		
	<artifactId>authz-service</artifactId>
	<name>Authz Service</name>
	<description>API for Authorization and Authentication</description>
		<url>https://github.com/att/AAF</url>
	<licenses>
		<license>
		<name>BSD License</name>
		<url> </url>
		</license>
	</licenses>
	<developers>
		<developer>
		<name>Jonathan Gathman</name>
		<email></email>
	<organization>ATT</organization>
	<organizationUrl></organizationUrl>
		</developer>
	</developers>

	<properties>
	<maven.build.timestamp.format>yyyy.MM.dd'T'hh.mm.ss'Z'</maven.build.timestamp.format>
		<maven.test.failure.ignore>true</maven.test.failure.ignore>
		<project.swmVersion>1</project.swmVersion>
			<project.innoVersion>1.0.0-SNAPSHOT</project.innoVersion>
		<project.cadiVersion>1.0.0-SNAPSHOT</project.cadiVersion>
        <dockerLocation>${basedir}/target/</dockerLocation>
		<distFilesRootDirPath>opt/app/aaf/${project.artifactId}/${project.version}</distFilesRootDirPath>
			<sonar.language>java</sonar.language>
		<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
		<sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
		<sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
		<sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>
		<sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
		<sonar.projectVersion>${project.version}</sonar.projectVersion>
        <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>
        <skip.docker.build>true</skip.docker.build>
        <skip.docker.push>true</skip.docker.push>
        <skip.staging.artifacts>false</skip.staging.artifacts>
	</properties>
	
		
	<dependencies>
        <dependency>
            <groupId>org.onap.aaf.authz</groupId>
            <artifactId>authz-client</artifactId>
			<version>${project.version}</version>
        </dependency>
		
		<dependency>
            <groupId>org.onap.aaf.authz</groupId>
            <artifactId>authz-cmd</artifactId>
			<version>${project.version}</version>
        </dependency>		
        <dependency>
            <groupId>org.onap.aaf.authz</groupId>
            <artifactId>authz-core</artifactId>
			<version>${project.version}</version>
            <exclusions>
			  <exclusion> 
					<groupId>javax.servlet</groupId>
       			<artifactId>servlet-api</artifactId>
       		   </exclusion>
		    </exclusions> 
        </dependency>
        
        <dependency>
            <groupId>org.onap.aaf.authz</groupId>
            <artifactId>authz-cass</artifactId>
			<version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>org.onap.aaf.authz</groupId>
            <artifactId>authz-defOrg</artifactId>
            <version>${project.version}</version>
        </dependency>


	
        <dependency > 
			<groupId>org.onap.aaf.inno</groupId>
			<artifactId>env</artifactId>
			<version>${project.innoVersion}</version>
		</dependency>


		<dependency>
			<groupId>org.onap.aaf.cadi</groupId>
			<artifactId>cadi-core</artifactId>
			<version>${project.cadiVersion}</version>
		</dependency>

		<dependency>
			<groupId>com.att.aft</groupId>
			<artifactId>dme2</artifactId>
		</dependency>

 		<dependency>
			<groupId>org.onap.aaf.inno</groupId>
			<artifactId>rosetta</artifactId>
			<version>${project.innoVersion}</version>
		</dependency>
		<dependency>
			<groupId>org.onap.aaf.cadi</groupId>
			<artifactId>cadi-aaf</artifactId>
			<version>${project.cadiVersion}</version>
		</dependency>   
	</dependencies>


	<build>
	    <plugins>
	
		
<plugin>
        <groupId>com.spotify</groupId>
        <artifactId>docker-maven-plugin</artifactId>
        <version>1.0.0</version>
        <configuration>
          <imageName>onap/aaf/authz-service</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-latest-timestamp</id>
            <phase>package</phase>
            <goals>
              <goal>tag</goal>
            </goals>
            <configuration>
              <image>onap/aaf/authz-service</image>
              <newName>onap/aaf/authz-service:${project.docker.latesttagtimestamp.version}</newName>
              <skipDockerTag>${skip.docker.push}</skipDockerTag>
            </configuration>
          </execution>
          <execution>
            <id>push-image-latest-timestamp</id>
            <phase>deploy</phase>
            <goals>
              <goal>push</goal>
            </goals>
            <configuration>
              <imageName>onap/aaf/authz-service:${project.docker.latesttagtimestamp.version}</imageName>
              <skipDockerPush>${skip.docker.push}</skipDockerPush>
            </configuration>
          </execution>
          <execution>
            <id>tag-image-latest</id>
            <phase>package</phase>
            <goals>
              <goal>tag</goal>
            </goals>
            <configuration>
              <image>onap/aaf/authz-service</image>
              <newName>onap/aaf/authz-service:${project.docker.latesttag.version}</newName>
              <skipDockerTag>${skip.docker.push}</skipDockerTag>
            </configuration>
          </execution>
          <execution>
            <id>push-image-latest</id>
            <phase>deploy</phase>
            <goals>
              <goal>push</goal>
            </goals>
            <configuration>
              <imageName>onap/aaf/authz-service:${project.docker.latesttag.version}</imageName>
              <skipDockerPush>${skip.docker.push}</skipDockerPush>
            </configuration>
          </execution>
          <execution>
            <id>tag-image</id>
            <phase>package</phase>
            <goals>
              <goal>tag</goal>
            </goals>
            <configuration>
              <image>onap/aaf/authz-service</image>
              <newName>onap/aaf/authz-service:latest</newName>
              <skipDockerTag>${skip.docker.push}</skipDockerTag>
            </configuration>
          </execution>
          <execution>
            <id>push-image</id>
            <phase>deploy</phase>
            <goals>
              <goal>push</goal>
            </goals>
            <configuration>
              <imageName>onap/aaf/authz-service:latest</imageName>
              <skipDockerPush>${skip.docker.push}</skipDockerPush>
            </configuration>
          </execution>
        </executions>
      </plugin>

 <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.7</version>
              <executions>
	            <execution>
                        <id>copy-docker-file</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${dockerLocation}</outputDirectory>
                            <overwrite>true</overwrite>
                            <resources>
                                <resource>
                                    <directory>${basedir}/src/main/resources/docker</directory>
                                    <filtering>true</filtering>
                                    <includes>
                                        <include>**/*</include>
                                    </includes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>  
      <execution>
        <id>copy-resources-1</id>
        <phase>validate</phase>
        <goals>
          <goal>copy-resources</goal>
        </goals>
        <configuration>
         <outputDirectory>${project.build.directory}/opt/dme2reg/</outputDirectory>
          <resources>
            <resource>
                        <directory>${project.basedir}/src/main/resources/dme2reg/</directory> 
						 <includes>
						 <include>**/*.txt</include>
                        </includes>
                    </resource>
          </resources>
        </configuration>
      </execution>
      <execution>
        <id>copy-resources-2</id>
        <phase>validate</phase>
        <goals>
          <goal>copy-resources</goal>
        </goals>
        <configuration>
          <outputDirectory>${project.build.directory}/opt/app/aaf/authz-service/etc</outputDirectory>
          <resources>
            <resource>
                        <directory>${project.basedir}/src/main/resources/etc</directory>
                        <includes>
                            <include>**/**</include>
                        </includes>
                    </resource>
          </resources>
        </configuration>
      </execution>
	  
	   <execution>
        <id>copy-resources-3</id>
        <phase>validate</phase>
        <goals>
          <goal>copy-resources</goal>
        </goals>
        <configuration>
          <outputDirectory>${project.build.directory}/opt/app/aaf/authz-service/lib</outputDirectory>
          <resources>
            <resource>
                        <directory>${project.basedir}/../authz-cmd/target</directory>
                        <includes>
                            <include>**/*.jar</include>
                        </includes>
                    </resource>
          </resources>
        </configuration>
      </execution>
	  <execution>
        <id>copy-resources-4</id>
        <phase>validate</phase>
        <goals>
          <goal>copy-resources</goal>
        </goals>
        <configuration>
          <outputDirectory>${project.build.directory}/opt/app/aaf/authz-service/</outputDirectory>
          <resources>
            <resource>
                        <directory>${project.basedir}/../authz-cmd</directory>
                        <includes>
                            <include>**/aafcli.sh</include>
                        </includes>
                    </resource>
          </resources>
        </configuration>
      </execution>
		<execution>
        <id>copy-resources-5</id>
        <phase>validate</phase>
        <goals>
          <goal>copy-resources</goal>
        </goals>
        <configuration>
          <outputDirectory>${project.build.directory}/opt/app/aaf/authz-service/etc/</outputDirectory>
          <resources>
            <resource>
                        <directory>${project.basedir}/src/main/config</directory>
                        <includes>
                            <include>**/**</include>
                        </includes>
                    </resource>
          </resources>
        </configuration>
      </execution>
	  <execution>
        <id>copy-resources-6</id>
        <phase>validate</phase>
        <goals>
          <goal>copy-resources</goal>
        </goals>
        <configuration>
          <outputDirectory>${project.build.directory}/opt/app/aaf/authz-service/etc/data</outputDirectory>
          <resources>
            <resource>
                        <directory>${project.basedir}/../opt/app/aaf/data</directory>
                        <includes>
                            <include>**/**</include>
                        </includes>
                    </resource>
          </resources>
        </configuration>
		</execution>
    </executions>
  </plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>2.10</version>
				<executions>
					<execution>
						<id>copy-dependencies</id>
						<phase>package</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.directory}/opt/app/aaf/authz-service/lib</outputDirectory>
							<overWriteReleases>false</overWriteReleases>
							<overWriteSnapshots>false</overWriteSnapshots>
							<overWriteIfNewer>true</overWriteIfNewer>
						</configuration>
					</execution>
				</executions>
			</plugin>
				
	            <plugin>
	                <groupId>org.codehaus.mojo</groupId>
	                <artifactId>exec-maven-plugin</artifactId>
	                <version>1.5.0</version>
	                <configuration>
	                    <executable>java</executable>
	                    <arguments>
	                        <argument>-DAFT_LATITUDE=33</argument>
	                        <argument>-DAFT_LONGITUDE=-84</argument>
	                        <argument>-DAFT_ENVIRONMENT=AFTUAT</argument>
	
	                        <argument>-XX:NewRatio=3</argument>
	                        <argument>-XX:+PrintGCTimeStamps</argument>
	                        <argument>-XX:+PrintGCDetails</argument>
	                        <argument>-Xloggc:gc.log</argument>
	                        <argument>-classpath</argument>
	
	                        <classpath>
	                        
	                        </classpath>
	                        <argument>org.onap.aaf.authz.service.AuthAPI</argument>
	
	                   <argument>service=org.onap.aaf.authz.AuthorizationService/version=2.0/envContext=DEV/routeOffer=Dev</argument>
	                    </arguments>
	                </configuration>
	            </plugin>
	
	            <plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
					<configuration>
						<excludes>
	                    	<exclude>*.properties</exclude>
	                	</excludes>
					</configuration>
					<version>2.3.1</version>
				</plugin>
 

		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-javadoc-plugin</artifactId>
			<version>2.10.4</version>
			<configuration>
			<failOnError>false</failOnError>
			</configuration>
			<executions>
				<execution>
					<id>attach-javadocs</id>
					<goals>
						<goal>jar</goal>
					</goals>
				</execution>
			</executions>
		</plugin> 
	   
	   
	       <plugin>
		      <groupId>org.apache.maven.plugins</groupId>
		      <artifactId>maven-source-plugin</artifactId>
		      <version>2.2.1</version>
		      <executions>
			<execution>
			  <id>attach-sources</id>
			  <goals>
			    <goal>jar-no-fork</goal>
			  </goals>
			</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>

	</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>
 <profiles>
    <profile>
      <id>docker</id>
      <properties>
        <skip.staging.artifacts>true</skip.staging.artifacts>
        <skip.docker.build>false</skip.docker.build>
        <skip.docker.tag>false</skip.docker.tag>
        <skip.docker.push>false</skip.docker.push>
      </properties>
    </profile>
  </profiles>
</project>
