Set all cross references of policy/drools-applications
[policy/drools-applications.git] / controlloop / packages / docker-controlloop / pom.xml
index 526d3fb..e957182 100644 (file)
@@ -2,8 +2,9 @@
   ============LICENSE_START=======================================================
   ONAP
   ================================================================================
-  Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
-  Modifications Copyright (C) 2019 Bell Canada.
+  Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
+  Modifications Copyright (C) 2019-2020 Bell Canada.
+  Modifications Copyright (C) 2022-2023 Nordix Foundation.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   -->
 
 <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/xsd/maven-4.0.0.xsd">
+         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>
     <parent>
         <groupId>org.onap.policy.drools-applications.controlloop.packages</groupId>
-        <artifactId>packages</artifactId>
-        <version>1.5.0-SNAPSHOT</version>
+        <artifactId>drools-applications-packages</artifactId>
+        <version>3.0.0-SNAPSHOT</version>
     </parent>
     <artifactId>docker-controlloop</artifactId>
     <packaging>pom</packaging>
     <description>ONAP Policy Control Loop PDP-D Docker Build</description>
 
     <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <dist.project.version>${project.version}</dist.project.version>
         <docker.skip>false</docker.skip>
         <docker.skip.build>false</docker.skip.build>
         <docker.skip.push>false</docker.skip.push>
-        <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
-        <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
         <maven.build.timestamp.format>yyyyMMdd'T'HHmm</maven.build.timestamp.format>
         <docker.buildArg.BUILD_VERSION_APP_CL>${project.version}</docker.buildArg.BUILD_VERSION_APP_CL>
     </properties>
@@ -51,9 +49,8 @@
         <finalName>${project.artifactId}-${project.version}</finalName>
         <plugins>
             <plugin>
-                <groupId>org.codehaus.groovy.maven</groupId>
-                <artifactId>gmaven-plugin</artifactId>
-                <version>1.0</version>
+                <groupId>org.codehaus.gmaven</groupId>
+                <artifactId>groovy-maven-plugin</artifactId>
                 <executions>
                     <execution>
                         <phase>validate</phase>
                             <goal>execute</goal>
                         </goals>
                         <configuration>
-                            <source>
-                                println 'Project version: ' + project.properties['dist.project.version']
-                                if (project.properties['dist.project.version'] != null) {
-                                    def versionArray = project.properties['dist.project.version'].split('-')
-                                    def minMaxVersionArray = versionArray[0].tokenize('.')
-                                    if (project.properties['dist.project.version'].endsWith("-SNAPSHOT")) {
-                                        project.properties['project.docker.latest.minmax.tag.version'] =
-                                            minMaxVersionArray[0] + "." + minMaxVersionArray[1] + "-SNAPSHOT-latest"
-                                    } else {
-                                        project.properties['project.docker.latest.minmax.tag.version'] =
-                                            minMaxVersionArray[0] + "." + minMaxVersionArray[1] + "-STAGING-latest"
-                                    }
-                                    println 'New tag for docker: ' + properties['project.docker.latest.minmax.tag.version']
-                                }
-                            </source>
+                            <source>https://github.com/onap/policy-docker/raw/master/utils/groovy/docker-tag.groovy</source>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
+                <groupId>io.github.git-commit-id</groupId>
+                <artifactId>git-commit-id-maven-plugin</artifactId>
+            </plugin>
+
+            <!--fabric8.io docker-maven-plugin does not support ARG usage in the FROM statement of Dockerfile
+             even though docker supports it: https://github.com/fabric8io/docker-maven-plugin/issues/859.
+             As a workaround we shall use maven-antrun-plugin to copy the Dockerfile and apply filters to
+             replace the parameterized base-image version. The fabric8.io docker-maven-plugin shall use this filtered file
+             to build the image. After the image is built we perform a cleanup to remove the filtered file.-->
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <version>3.1.0</version>
+                <executions>
+                    <execution>
+                        <id>update-parameterized-dockerfile</id>
+                        <phase>initialize</phase>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <configuration>
+                            <target>
+                                <copy file="src/main/docker/Dockerfile"
+                                      toFile="${project.build.directory}/docker-tmp/Dockerfile">
+                                    <filterset>
+                                        <filter token="version.policy.drools-pdp" value="${version.policy.drools-pdp}"/>
+                                    </filterset>
+                                </copy>
+                            </target>
                         </configuration>
                     </execution>
                 </executions>
             <plugin>
                 <groupId>io.fabric8</groupId>
                 <artifactId>docker-maven-plugin</artifactId>
-                <version>0.30.0</version> <!-- Extract this as a property from the policy-parent -->
                 <configuration>
                     <verbose>true</verbose>
                     <apiVersion>1.23</apiVersion>
                             <name>onap/policy-pdpd-cl</name>
                             <build>
                                 <cleanup>try</cleanup>
+                                <contextDir>${project.build.directory}/docker-tmp</contextDir>
                                 <dockerFile>Dockerfile</dockerFile>
                                 <tags>
                                     <tag>${project.version}</tag>
                             <goal>build</goal>
                             <goal>push</goal>
                         </goals>
-                        <configuration>
-                            <image>onap/policy-pdpd-cl</image>
-                        </configuration>
                     </execution>
                 </executions>
             </plugin>