Parameterize base-image version for drools-apps 70/100070/3
authorBruno Sakoto <bruno.sakoto@bell.ca>
Tue, 7 Jan 2020 22:48:00 +0000 (17:48 -0500)
committerBruno Sakoto <bruno.sakoto@bell.ca>
Thu, 9 Jan 2020 18:13:51 +0000 (13:13 -0500)
Issue-ID: POLICY-2318
Signed-off-by: Bruno Sakoto <bruno.sakoto@bell.ca>
Change-Id: I5cc2761adb2621bca094fb035e626dd40baa08e1

controlloop/packages/docker-controlloop/pom.xml
controlloop/packages/docker-controlloop/src/main/docker/Dockerfile

index f709585..a4c893a 100644 (file)
@@ -3,7 +3,7 @@
   ONAP
   ================================================================================
   Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
-  Modifications Copyright (C) 2019 Bell Canada.
+  Modifications Copyright (C) 2019-2020 Bell Canada.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
                     </execution>
                 </executions>
             </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>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>update-parameterized-dockerfile</id>
+                        <phase>initialize</phase>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <configuration>
+                            <tasks>
+                                <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>
+                            </tasks>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
             <plugin>
                 <groupId>io.fabric8</groupId>
                 <artifactId>docker-maven-plugin</artifactId>
                             <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>
index 14e8c74..98bf35a 100644 (file)
@@ -1,4 +1,4 @@
-FROM onap/policy-drools:1.6-SNAPSHOT-latest
+FROM onap/policy-drools:@version.policy.drools-pdp@
 
 ARG BUILD_VERSION_APP_CL=${BUILD_VERSION_APP_CL}
 ENV BUILD_VERSION_APP_CL=${BUILD_VERSION_APP_CL}