Add tagging to docker
[sdc/sdc-workflow-designer.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index 41b9d4b..775e216 100644 (file)
--- a/pom.xml
+++ b/pom.xml
         because of a limitation of ONAP CI/CD infrastructure.
     -->
     <groupId>org.onap.sdc.sdc-workflow-designer</groupId>
-    <artifactId>workflow-designer-parent</artifactId>
+    <artifactId>sdc-workflow-designer-parent</artifactId>
     <name>sdc-sdc-workflow-designer</name>
-    <version>1.4.0-SNAPSHOT</version>
+    <version>1.7.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <properties>
-        <jacoco.skip>true</jacoco.skip>
+        <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>
         <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>
-        <staging.profile.id>176c31dfe190a</staging.profile.id>
+               <!-- 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>workflow-designer-init</module>
-        <module>workflow-designer-be</module>
-        <module>workflow-designer-ui</module>
+        <module>sdc-workflow-designer-init</module>
+        <module>sdc-workflow-designer-be</module>
+        <module>sdc-workflow-designer-ui</module>
     </modules>
 
     <build>
@@ -72,7 +85,7 @@
                     <artifactId>docker-maven-plugin</artifactId>
                     <version>0.28.0</version>
                     <configuration>
-                        <verbose>true</verbose>
+                        <verbose>false</verbose>
                         <registry>${nexus.registry}</registry>
                         <authConfig>
                             <pull>
             </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>
                             <goal>report</goal>
                         </goals>
                         <configuration>
-                            <dataFile>target/jacoco.exec</dataFile>
-                            <outputDirectory>target/jacoco-ut</outputDirectory>
+                            <destFile>${sonar.jacoco.reportPath}</destFile>
                         </configuration>
                     </execution>
                 </executions>
             </plugin>
-
             <plugin>
-                <groupId>org.sonatype.plugins</groupId>
-                <artifactId>nexus-staging-maven-plugin</artifactId>
-                <version>1.6.8</version>
-                <extensions>true</extensions>
-                <configuration>
-                    <serverId>ecomp-staging</serverId>
-                    <nexusUrl>${nexus.proxy}</nexusUrl>
-                    <stagingProfileId>${staging.profile.id}</stagingProfileId>
-                </configuration>
+                <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>