<?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>
	
	<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.skip>true</sonar.skip>
		<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>
		<docker.push.registry>localhost:5000</docker.push.registry>
		<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>
	<finalName>authz-service</finalName>
	    <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-project-version</id>
            <phase>package</phase>
            <goals>
              <goal>tag</goal>
            </goals>
            <configuration>
              <image>onap/aaf/authz-service</image>
              <newName>${docker.push.registry}/onap/aaf/authz-service:${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/aaf/authz-service: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/aaf/authz-service:${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/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>
