blob: f6c1aef48f12cb89244560658cb63a92b006eee7 [file] [log] [blame]
<!--
~ Copyright © 2016-2018 European Support Limited
~
~ 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.
-->
<project
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
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>
<!--
The groupId violates Maven naming conventions
(https://maven.apache.org/guides/mini/guide-naming-conventions.html)
because of a limitation of ONAP CI/CD infrastructure.
-->
<groupId>org.onap.sdc.sdc-workflow-designer</groupId>
<artifactId>sdc-workflow-designer-parent</artifactId>
<name>sdc-sdc-workflow-designer</name>
<version>1.8.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<maven-checkstyle-plugin.version>2.17</maven-checkstyle-plugin.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<sdc.project.version>${project.version}</sdc.project.version>
<sdc.build.timestamp>${maven.build.timestamp}</sdc.build.timestamp>
<onap.version>1.3.0</onap.version>
<docker.optimize>true</docker.optimize>
<docker.username>docker</docker.username>
<docker.password>docker</docker.password>
<nexus.registry>nexus3.onap.org:10001</nexus.registry>
<nexus.proxy>https://nexus.onap.org</nexus.proxy>
<sitePath>/content/sites/site/org/onap/sdc/workflow/${project.version}</sitePath>
<!-- Sonar properties -->
<sonar.coverage.jacoco.xmlReportPaths>
${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml
</sonar.coverage.jacoco.xmlReportPaths>
</properties>
<parent>
<groupId>org.onap.oparent</groupId>
<artifactId>oparent</artifactId>
<version>2.0.0</version>
<relativePath/>
</parent>
<modules>
<module>sdc-workflow-designer-init</module>
<module>sdc-workflow-designer-be</module>
<module>sdc-workflow-designer-ui</module>
</modules>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.2</version>
</plugin>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.28.0</version>
<configuration>
<verbose>false</verbose>
<registry>${nexus.registry}</registry>
<authConfig>
<pull>
<username>${docker.username}</username>
<password>${docker.password}</password>
</pull>
</authConfig>
</configuration>
<executions>
<execution>
<id>docker-build</id>
<phase>install</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
<execution>
<id>push-images</id>
<phase>deploy</phase>
<goals>
<goal>push</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${maven-checkstyle-plugin.version}</version>
<configuration>
<suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
<suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>post-unit-test</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
<configuration>
<destFile>${sonar.jacoco.reportPath}</destFile>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.groovy.maven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.0</version>
<inherited>true</inherited>
<executions>
<execution>
<id>docker-tags</id>
<phase>validate</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
println 'Docker Tagging Script:' + project.properties['sdc.project.version'] + '/' + project.properties['sdc.build.timestamp'];
def versionArray;
if ( project.properties['sdc.project.version'] != null ) {
versionArray = project.properties['sdc.project.version'].split('\\.');
}
if ( project.properties['sdc.project.version'].endsWith("-SNAPSHOT") ) {
project.properties.setProperty('project.docker.latesttag.version',versionArray[0] + '.' + versionArray[1] + "-SNAPSHOT-latest");
project.properties.setProperty('project.docker.latesttagtimestamp.version',versionArray[0] + '.' + versionArray[1] + "-SNAPSHOT-"+project.properties['sdc.build.timestamp']);
} else {
project.properties.setProperty('project.docker.latesttag.version',versionArray[0] + '.' + versionArray[1] + "-STAGING-latest");
project.properties.setProperty('project.docker.latesttagtimestamp.version',versionArray[0] + '.' + versionArray[1] + "-STAGING-"+project.properties['sdc.build.timestamp']);
}
println 'New Tags for docker:' + project.properties['project.docker.latesttag.version'] + '/' + project.properties['project.docker.latesttagtimestamp.version'];
</source>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>ecomp-releases</id>
<name>Release Repository</name>
<url>${nexus.proxy}/content/repositories/releases/</url>
</repository>
<repository>
<id>ecomp-snapshots</id>
<name>Snapshots Repository</name>
<url>${nexus.proxy}/content/repositories/snapshots/</url>
</repository>
<repository>
<id>ecomp-public</id>
<name>Public Repository</name>
<url>${nexus.proxy}/content/repositories/public/</url>
</repository>
</repositories>
<distributionManagement>
<repository>
<id>ecomp-releases</id>
<name>Release Repository</name>
<url>${nexus.proxy}/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>ecomp-snapshots</id>
<name>Snapshot Repository</name>
<url>${nexus.proxy}/content/repositories/snapshots/</url>
</snapshotRepository>
<site>
<id>ecomp-site</id>
<url>dav:${nexus.proxy}${sitePath}</url>
</site>
</distributionManagement>
</project>