Set all cross references of policy/drools-pdp
[policy/drools-pdp.git] / packages / docker / pom.xml
index 5d90809..382e3fe 100644 (file)
@@ -2,7 +2,9 @@
   ============LICENSE_START=======================================================
   ONAP Policy Engine - Docker files
   ================================================================================
-  Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+  Copyright (C) 2017-2018, 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>
+    <modelVersion>4.0.0</modelVersion>
 
-       <parent>
-                <groupId>org.onap.policy.drools-pdp</groupId>
-                <artifactId>packages</artifactId>
-                <version>1.2.0-SNAPSHOT</version>
-       </parent>
+    <parent>
+        <groupId>org.onap.policy.drools-pdp</groupId>
+        <artifactId>drools-packages</artifactId>
+        <version>3.0.0-SNAPSHOT</version>
+    </parent>
 
-       <artifactId>docker</artifactId>
-       <packaging>pom</packaging>
-       <name>Policy Drools PDP - Docker build</name>
-       <description>ONAP Policy Drools PDP Docker Build</description>
+    <artifactId>docker</artifactId>
+    <packaging>pom</packaging>
+    <name>Policy Drools PDP - Docker build</name>
+    <description>ONAP Policy Drools PDP Docker Build</description>
 
-       <properties>
-               <nexusproxy>https://nexus.onap.org</nexusproxy>
-       </properties>
+    <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.skip.deployconfig>true</docker.skip.deployconfig>
+        <docker.contextDir>${project.basedir}/src/main/docker</docker.contextDir>
+        <maven.build.timestamp.format>yyyyMMdd'T'HHmm</maven.build.timestamp.format>
+        <docker.buildArg.BUILD_VERSION_DROOLS>${project.version}</docker.buildArg.BUILD_VERSION_DROOLS>
+        <docker.buildArg.MVN_SNAPSHOT_REPO_URL>${nexusproxy}/${snapshots.path}</docker.buildArg.MVN_SNAPSHOT_REPO_URL>
+        <docker.buildArg.MVN_RELEASE_REPO_URL>${nexusproxy}/${releases.path}</docker.buildArg.MVN_RELEASE_REPO_URL>
+    </properties>
 
-       <build>
-               <plugins>
-                        <plugin>
-                                <groupId>org.apache.maven.plugins</groupId>
-                                <artifactId>maven-dependency-plugin</artifactId>
-                                <executions>
-                                       <execution>
-                                               <id>copy-drools-zip</id>
-                                               <phase>prepare-package</phase>
-                                               <goals>
-                                                       <goal>copy</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <outputDirectory>${project.build.directory}/policy-drools</outputDirectory>
-                                                       <overWriteReleases>false</overWriteReleases>
-                                                       <overWriteSnapshots>true</overWriteSnapshots>
-                                                       <artifactItems>
-                                                               <artifactItem>
-                                                                       <groupId>org.onap.policy.drools-pdp</groupId>
-                                                                       <artifactId>install-drools</artifactId>
-                                                                       <version>${project.version}</version>
-                                                                       <type>zip</type>
-                                                                       <destFileName>install-drools.zip</destFileName>
-                                                               </artifactItem>
-                                                       </artifactItems>
-                                               </configuration>
-                                       </execution>
-                                        <execution>
-                                                <id>copy-apps-zip</id>
-                                                <phase>prepare-package</phase>
-                                                <goals>
-                                                        <goal>copy</goal>
-                                                </goals>
-                                                <configuration>
-                                                        <outputDirectory>${project.build.directory}/policy-drools</outputDirectory>
-                                                        <overWriteReleases>false</overWriteReleases>
-                                                        <overWriteSnapshots>true</overWriteSnapshots>
-                                                        <artifactItems>
-                                                                <artifactItem>
-                                                                        <groupId>org.onap.policy.drools-applications.controlloop.packages</groupId>
-                                                                        <artifactId>apps-controlloop</artifactId>
-                                                                        <version>${project.version}</version>
-                                                                        <type>zip</type>
-                                                                        <destFileName>apps-controlloop.zip</destFileName>
-                                                                </artifactItem>
-                                                        </artifactItems>
-                                                </configuration>
-                                        </execution>
-                                </executions>
-                        </plugin>
-                        <plugin>
-                                <artifactId>maven-resources-plugin</artifactId>
-                                <version>3.0.2</version>
-                                <executions>
-                                        <execution>
-                                                <id>copy-resources</id>
-                                                <phase>prepare-package</phase>
-                                                <goals>
-                                                        <goal>copy-resources</goal>
-                                                </goals>
-                                                <configuration>
-                                                        <outputDirectory>${project.build.directory}/policy-drools</outputDirectory>
-                                                        <resources>
-                                                                <resource>
-                                                                        <directory>src/main/docker</directory>
-                                                                </resource>
-                                                        </resources>
-                                                </configuration>
-                                        </execution>
-                                </executions>
-                        </plugin>
+    <build>
+        <finalName>${project.artifactId}-${project.version}</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.gmaven</groupId>
+                <artifactId>groovy-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>execute</goal>
+                        </goals>
+                        <configuration>
+                            <source>https://github.com/onap/policy-docker/raw/master/utils/groovy/docker-tag.groovy</source>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
 
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>exec-maven-plugin</artifactId>
-        <version>1.6.0</version>
-        <executions>
-          <execution>
-               <id>get-target-version</id>
-               <phase>prepare-package</phase>
-            <goals>
-              <goal>exec</goal>
-            </goals>
-          </execution>
-        </executions>
-        <configuration>
-          <executable>echo</executable>
-          <workingDirectory>${project.build.directory}</workingDirectory>
-          <arguments>
-            <argument>${project.version}</argument>
-          </arguments>
-          <outputFile>${project.build.directory}/version</outputFile>
-        </configuration>
-      </plugin>
-
-               </plugins>
-       </build>
+            <plugin>
+                <groupId>io.github.git-commit-id</groupId>
+                <artifactId>git-commit-id-maven-plugin</artifactId>
+            </plugin>
 
+            <plugin>
+                <groupId>io.fabric8</groupId>
+                <artifactId>docker-maven-plugin</artifactId>
+                <configuration>
+                    <verbose>true</verbose>
+                    <apiVersion>1.23</apiVersion>
+                    <pullRegistry>${docker.pull.registry}</pullRegistry>
+                    <pushRegistry>${docker.push.registry}</pushRegistry>
+                    <images>
+                        <image>
+                            <name>onap/policy-drools</name>
+                            <build>
+                                <cleanup>try</cleanup>
+                                <dockerFile>${dockerFile}</dockerFile>
+                                <contextDir>${docker.contextDir}</contextDir>
+                                <tags>
+                                    <tag>${project.version}</tag>
+                                    <tag>${project.version}-${maven.build.timestamp}</tag>
+                                    <tag>${project.docker.latest.minmax.tag.version}</tag>
+                                </tags>
+                                <assembly>
+                                    <inline>
+                                        <dependencySets>
+                                            <dependencySet>
+                                                <includes>
+                                                    <include>org.onap.policy.drools-pdp:install-drools</include>
+                                                </includes>
+                                                <outputDirectory>.</outputDirectory>
+                                                <outputFileNameMapping>install-drools.zip</outputFileNameMapping>
+                                            </dependencySet>
+                                        </dependencySets>
+                                    </inline>
+                                </assembly>
+                            </build>
+                        </image>
+                    </images>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>clean-images</id>
+                        <phase>pre-clean</phase>
+                        <goals>
+                            <goal>remove</goal>
+                        </goals>
+                        <configuration>
+                            <removeAll>true</removeAll>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>generate-images</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>push-images</id>
+                        <phase>deploy</phase>
+                        <goals>
+                            <goal>build</goal>
+                            <goal>push</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <configuration>
+                    <skip>${docker.skip.deployconfig}</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+    <dependencies>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>install-drools</artifactId>
+            <version>${project.version}</version>
+            <type>zip</type>
+        </dependency>
+    </dependencies>
 </project>