blob: 0efeab7deff454a673ffa45034b94f8a20d80d8c [file] [log] [blame]
<?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>