aboutsummaryrefslogtreecommitdiffstats
path: root/packages/policy-pap-docker/pom.xml
blob: 65aeeed7e9b708cd96dc5c2c31513046f7b07418 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
<!--
  ============LICENSE_START=======================================================
   Copyright (C) 2019 Nordix Foundation.
   Modifications Copyright (C) 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.
  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.

  SPDX-License-Identifier: Apache-2.0
  ============LICENSE_END=========================================================
-->

<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">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.onap.policy.pap</groupId>
        <artifactId>pap-packages</artifactId>
        <version>2.2.3-SNAPSHOT</version>
    </parent>

    <artifactId>policy-pap-docker</artifactId>
    <packaging>pom</packaging>

    <name>${project.artifactId}</name>
    <description>The module for creating docker images of PAP component.</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>
    </properties>

    <build>
        <finalName>${project.artifactId}-${project.version}</finalName>
        <plugins>
            <plugin>
                <groupId>org.codehaus.groovy.maven</groupId>
                <artifactId>gmaven-plugin</artifactId>
                <version>1.0</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <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: ' + project.properties['project.docker.latest.minmax.tag.version']
                                }
                            </source>
                        </configuration>
                    </execution>
                </executions>
            </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-pap</name>
                            <build>
                                <cleanup>try</cleanup>
                                <dockerFile>Dockerfile</dockerFile>
                                <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.pap:policy-pap-tarball</include>
                                                </includes>
                                                <outputDirectory>/lib</outputDirectory>
                                                <outputFileNameMapping>policy-pap.tar.gz</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>
                        <configuration>
                            <image>onap/policy-pap</image>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>org.onap.policy.pap</groupId>
            <artifactId>policy-pap-tarball</artifactId>
            <version>${project.version}</version>
            <classifier>tarball</classifier>
            <type>tar.gz</type>
        </dependency>
    </dependencies>
</project>
class="n">version}</version> </dependency> <!-- Plugins for Context Distribution --> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-distribution</groupId> <artifactId>plugins-context-distribution-hazelcast</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-distribution</groupId> <artifactId>plugins-context-distribution-infinispan</artifactId> <version>${project.version}</version> </dependency> <!-- Plugins for Context Locking --> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-locking</groupId> <artifactId>plugins-context-locking-hazelcast</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-locking</groupId> <artifactId>plugins-context-locking-curator</artifactId> <version>${project.version}</version> </dependency> <!-- Plugins for Context Schemas --> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-schema</groupId> <artifactId>plugins-context-schema-avro</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-schema</groupId> <artifactId>plugins-context-schema-json</artifactId> <version>${project.version}</version> </dependency> <!-- Plugins for Executors --> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId> <artifactId>plugins-executor-java</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId> <artifactId>plugins-executor-javascript</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId> <artifactId>plugins-executor-jruby</artifactId> <version>${project.version}</version> </dependency> <!-- Jython support disabled due to security concerns --> <!-- dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId> <artifactId>plugins-executor-jython</artifactId> <version>${project.version}</version> </dependency--> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-executor</groupId> <artifactId>plugins-executor-mvel</artifactId> <version>${project.version}</version> </dependency> <!-- Plugins for event carrier technologies --> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId> <artifactId>plugins-event-carrier-kafka</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId> <artifactId>plugins-event-carrier-jms</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId> <artifactId>plugins-event-carrier-restclient</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId> <artifactId>plugins-event-carrier-restserver</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId> <artifactId>plugins-event-carrier-restrequestor</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-carrier</groupId> <artifactId>plugins-event-carrier-grpc</artifactId> <version>${project.version}</version> </dependency> <!-- Benchmark test event generator --> <dependency> <groupId>org.onap.policy.apex-pdp.testsuites.performance</groupId> <artifactId>performance-benchmark-test</artifactId> <version>${project.version}</version> </dependency> <!-- Plugins for event protocols --> <dependency> <groupId>org.onap.policy.apex-pdp.plugins.plugins-event.plugins-event-protocol</groupId> <artifactId>plugins-event-protocol-jms</artifactId> <version>${project.version}</version> </dependency> <!-- Authoring and Editors --> <dependency> <groupId>org.onap.policy.apex-pdp.auth</groupId> <artifactId>cli-editor</artifactId> <version>${project.version}</version> </dependency> <!-- Tools --> <dependency> <groupId>org.onap.policy.apex-pdp.tools</groupId> <artifactId>simple-wsclient</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.tools</groupId> <artifactId>model-generator</artifactId> <version>${project.version}</version> </dependency> <!-- Test Data used by examples --> <dependency> <groupId>org.onap.policy.apex-pdp.testsuites.integration</groupId> <artifactId>integration-common</artifactId> <version>${project.version}</version> </dependency> <!-- Sample Examples --> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-aadm</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-adaptive</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-myfirstpolicy</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-pcvs</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-decisionmaker</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-periodic</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-onap-vcpe</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-onap-bbs</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-grpc</artifactId> <version>${project.version}</version> </dependency> </dependencies> <build> <filters> <filter>src/main/resources/properties/db.properties</filter> </filters> <resources> <resource> <directory>src/main/resources/META-INF</directory> <filtering>true</filtering> <includes> <include>**/*.xml</include> </includes> </resource> </resources> <plugins> <!-- Copy required resources and examples --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>unpack-etc-examples</id> <phase>package</phase> <goals> <goal>unpack</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>org.onap.policy.apex-pdp.services</groupId> <artifactId>services-onappf</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}/etc/onappf</outputDirectory> <includes>config/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.auth</groupId> <artifactId>cli-editor</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.testsuites.integration</groupId> <artifactId>integration-common</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.testsuites.performance</groupId> <artifactId>performance-benchmark-test</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-aadm</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-adaptive</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-myfirstpolicy</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-pcvs</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-decisionmaker</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-decisionmaker</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}/examples/models/DecisionMaker</outputDirectory> <includes>*PolicyModel.json</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-periodic</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-periodic</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}/examples/models/Periodic</outputDirectory> <includes>PeriodicPolicyModel.json</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-onap-vcpe</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-onap-vcpe</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}/examples/models/ONAPvCPE</outputDirectory> <includes>ONAPvCPEPolicyModel.json</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-onap-bbs</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-onap-bbs</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}/examples/models/ONAPBBS</outputDirectory> <includes>NomadicONTPolicyModel.json</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.tools</groupId> <artifactId>tools-common</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}/etc</outputDirectory> <includes>/app-version.txt</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-grpc</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}</outputDirectory> <includes>etc/**/*,examples/**/*</includes> </artifactItem> <artifactItem> <groupId>org.onap.policy.apex-pdp.examples</groupId> <artifactId>examples-grpc</artifactId> <version>${project.version}</version> <type>jar</type> <overWrite>false</overWrite> <outputDirectory>${project.build.directory}/examples/models/APEXgRPC</outputDirectory> <includes>APEXgRPCPolicy.json</includes> </artifactItem> </artifactItems> <overWriteReleases>true</overWriteReleases> <overWriteSnapshots>true</overWriteSnapshots> </configuration> </execution> <execution> <id>copy-fat-jars</id> <phase>package</phase> <goals> <goal>copy</goal> </goals> <configuration> <artifactItems> <artifactItem> <groupId>org.onap.policy.apex-pdp.tools</groupId> <artifactId>simple-wsclient</artifactId> <version>${project.version}</version> <type>jar</type> <classifier>jar-with-dependencies</classifier> <outputDirectory>${project.build.directory}/lib/applications</outputDirectory> </artifactItem> </artifactItems> <overWriteReleases>true</overWriteReleases> <overWriteSnapshots>true</overWriteSnapshots> </configuration> </execution> </executions> </plugin> <!-- Build the tar ball --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <id>generate-complete-tar</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <descriptors> <descriptor>src/main/package/tarball/assembly.xml</descriptor> </descriptors> <finalName>${project.artifactId}-${project.version}</finalName> <appendAssemblyId>false</appendAssemblyId> </configuration> </execution> </executions> </plugin> </plugins> </build> <profiles> <profile> <id>only-eclipse</id> <activation> <property> <name>m2e.version</name> </property> </activation> <build> <pluginManagement> <plugins> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <versionRange>[2.0,)</versionRange> <goals> <goal>unpack</goal> <goal>copy</goal> </goals> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> </build> </profile> </profiles> </project>