Bump version to 1.13.0-SNAPSHOT
[so.git] / packages / docker / pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3
4   <modelVersion>4.0.0</modelVersion>
5
6   <parent>
7     <groupId>org.onap.so</groupId>
8     <artifactId>packages</artifactId>
9     <version>1.13.0-SNAPSHOT</version>
10   </parent>
11
12   <packaging>pom</packaging>
13   <artifactId>docker</artifactId>
14   <name>Docker Images</name>
15   <description>Docker Images</description>
16
17   <properties>
18     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
19     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
20     <so.project.version>${project.version}</so.project.version>
21     <docker.skip>false</docker.skip>
22     <docker.skip.build>false</docker.skip.build>
23     <docker.skip.push>false</docker.skip.push>
24     <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
25     <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
26     <docker.image.prefix>onap/so</docker.image.prefix>
27     <docker.push.phase>deploy</docker.push.phase>
28   </properties>
29
30   <build>
31     <finalName>${project.artifactId}-${project.version}</finalName>
32     <plugins>
33       <plugin>
34         <groupId>org.codehaus.groovy.maven</groupId>
35         <artifactId>gmaven-plugin</artifactId>
36         <version>1.0</version>
37         <executions>
38           <execution>
39             <phase>validate</phase>
40             <goals>
41               <goal>execute</goal>
42             </goals>
43             <configuration>
44               <source>
45                 println 'Project version: ' + project.properties['so.project.version'];
46                 def versionArray;
47                 if ( project.properties['so.project.version'] != null ) {
48                   versionArray = project.properties['so.project.version'].split('-');
49                 }
50
51                 if ( project.properties['so.project.version'].endsWith("-SNAPSHOT") ) {
52                   project.properties['project.docker.latesttag.version']=versionArray[0] + "-SNAPSHOT-latest";
53                 } else {
54                   project.properties['project.docker.latesttag.version']=versionArray[0] + "-STAGING-latest";
55                 }
56
57                 println 'New tag for docker: ' + project.properties['project.docker.latesttag.version'];
58               </source>
59             </configuration>
60           </execution>
61         </executions>
62       </plugin>
63
64       <plugin>
65         <groupId>io.fabric8</groupId>
66         <artifactId>docker-maven-plugin</artifactId>
67         <version>0.31.0</version>
68         <configuration combine.self="override">
69           <verbose>true</verbose>
70           <apiVersion>1.23</apiVersion>
71           <pullRegistry>${docker.pull.registry}</pullRegistry>
72           <pushRegistry>${docker.push.registry}</pushRegistry>
73           <images>
74             <image>
75               <name>${docker.image.prefix}/base-image:1.0</name>
76               <build>
77                 <cleanup>try</cleanup>
78                 <dockerFile>docker-files/Dockerfile.so-base-image</dockerFile>
79               </build>
80             </image>
81             <image>
82               <name>${docker.image.prefix}/catalog-db-adapter</name>
83               <build>
84                 <cleanup>try</cleanup>
85                 <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
86                 <tags>
87                   <tag>${project.version}</tag>
88                   <tag>${project.version}-${maven.build.timestamp}</tag>
89                   <tag>${project.docker.latesttag.version}</tag>
90                 </tags>
91                 <assembly>
92                   <inline>
93                     <dependencySets>
94                       <dependencySet>
95                         <includes>
96                           <include>org.onap.so.adapters:mso-catalog-db-adapter</include>
97                         </includes>
98                         <outputFileNameMapping>app.jar</outputFileNameMapping>
99                       </dependencySet>
100                     </dependencySets>
101                   </inline>
102                 </assembly>
103               </build>
104             </image>
105             <image>
106               <name>${docker.image.prefix}/request-db-adapter</name>
107               <build>
108                 <cleanup>try</cleanup>
109                 <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
110                 <tags>
111                   <tag>${project.version}</tag>
112                   <tag>${project.version}-${maven.build.timestamp}</tag>
113                   <tag>${project.docker.latesttag.version}</tag>
114                 </tags>
115                 <assembly>
116                   <inline>
117                     <dependencySets>
118                       <dependencySet>
119                         <includes>
120                           <include>org.onap.so.adapters:mso-requests-db-adapter</include>
121                         </includes>
122                         <outputFileNameMapping>app.jar</outputFileNameMapping>
123                       </dependencySet>
124                     </dependencySets>
125                   </inline>
126                 </assembly>
127               </build>
128             </image>
129             <image>
130               <name>${docker.image.prefix}/sdnc-adapter</name>
131               <build>
132                 <cleanup>try</cleanup>
133                 <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
134                 <tags>
135                   <tag>${project.version}</tag>
136                   <tag>${project.version}-${maven.build.timestamp}</tag>
137                   <tag>${project.docker.latesttag.version}</tag>
138                 </tags>
139                 <assembly>
140                   <inline>
141                     <dependencySets>
142                       <dependencySet>
143                         <includes>
144                           <include>org.onap.so:mso-sdnc-adapter</include>
145                         </includes>
146                         <outputFileNameMapping>app.jar</outputFileNameMapping>
147                       </dependencySet>
148                     </dependencySets>
149                   </inline>
150                 </assembly>
151               </build>
152             </image>
153             <image>
154               <name>${docker.image.prefix}/openstack-adapter</name>
155               <build>
156                 <cleanup>try</cleanup>
157                 <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
158                 <tags>
159                   <tag>${project.version}</tag>
160                   <tag>${project.version}-${maven.build.timestamp}</tag>
161                   <tag>${project.docker.latesttag.version}</tag>
162                 </tags>
163                 <assembly>
164                   <inline>
165                     <dependencySets>
166                       <dependencySet>
167                         <includes>
168                           <include>org.onap.so:mso-openstack-adapters</include>
169                         </includes>
170                         <outputFileNameMapping>app.jar</outputFileNameMapping>
171                       </dependencySet>
172                     </dependencySets>
173                   </inline>
174                 </assembly>
175               </build>
176             </image>
177             <image>
178               <name>${docker.image.prefix}/so-appc-orchestrator</name>
179               <build>
180                 <cleanup>try</cleanup>
181                 <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
182                 <tags>
183                   <tag>${project.version}</tag>
184                   <tag>${project.version}-${maven.build.timestamp}</tag>
185                   <tag>${project.docker.latesttag.version}</tag>
186                 </tags>
187                 <assembly>
188                   <inline>
189                     <dependencySets>
190                       <dependencySet>
191                         <includes>
192                           <include>org.onap.so.adapters:so-appc-orchestrator</include>
193                         </includes>
194                         <outputFileNameMapping>app.jar</outputFileNameMapping>
195                       </dependencySet>
196                     </dependencySets>
197                   </inline>
198                 </assembly>
199               </build>
200             </image>
201             <image>
202               <name>${docker.image.prefix}/sdc-controller</name>
203               <build>
204                 <cleanup>try</cleanup>
205                 <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
206                 <tags>
207                   <tag>${project.version}</tag>
208                   <tag>${project.version}-${maven.build.timestamp}</tag>
209                   <tag>${project.docker.latesttag.version}</tag>
210                 </tags>
211                 <assembly>
212                   <inline>
213                     <dependencySets>
214                       <dependencySet>
215                         <includes>
216                           <include>org.onap.so:asdc-controller</include>
217                         </includes>
218                         <outputFileNameMapping>app.jar</outputFileNameMapping>
219                       </dependencySet>
220                     </dependencySets>
221                   </inline>
222                 </assembly>
223               </build>
224             </image>
225             <image>
226               <name>${docker.image.prefix}/bpmn-infra</name>
227               <build>
228                 <cleanup>try</cleanup>
229                 <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
230                 <tags>
231                   <tag>${project.version}</tag>
232                   <tag>${project.version}-${maven.build.timestamp}</tag>
233                   <tag>${project.docker.latesttag.version}</tag>
234                 </tags>
235                 <assembly>
236                   <inline>
237                     <dependencySets>
238                       <dependencySet>
239                         <includes>
240                           <include>org.onap.so:mso-infrastructure-bpmn</include>
241                         </includes>
242                         <outputFileNameMapping>app.jar</outputFileNameMapping>
243                       </dependencySet>
244                     </dependencySets>
245                   </inline>
246                 </assembly>
247               </build>
248             </image>
249             <image>
250               <name>${docker.image.prefix}/api-handler-infra</name>
251               <build>
252                 <cleanup>try</cleanup>
253                 <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
254                 <tags>
255                   <tag>${project.version}</tag>
256                   <tag>${project.version}-${maven.build.timestamp}</tag>
257                   <tag>${project.docker.latesttag.version}</tag>
258                 </tags>
259                 <assembly>
260                   <inline>
261                     <dependencySets>
262                       <dependencySet>
263                         <includes>
264                           <include>org.onap.so:mso-api-handler-infra</include>
265                         </includes>
266                         <outputFileNameMapping>app.jar</outputFileNameMapping>
267                       </dependencySet>
268                     </dependencySets>
269                   </inline>
270                 </assembly>
271               </build>
272             </image>
273             <image>
274               <name>${docker.image.prefix}/so-simulator</name>
275               <build>
276                 <cleanup>try</cleanup>
277                 <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
278                 <tags>
279                   <tag>${project.version}</tag>
280                   <tag>${project.version}-${maven.build.timestamp}</tag>
281                   <tag>${project.docker.latesttag.version}</tag>
282                 </tags>
283                 <assembly>
284                   <inline>
285                     <dependencySets>
286                       <dependencySet>
287                         <includes>
288                           <include>org.onap.so.simulator:so-simulator</include>
289                         </includes>
290                         <outputFileNameMapping>app.jar</outputFileNameMapping>
291                       </dependencySet>
292                     </dependencySets>
293                   </inline>
294                 </assembly>
295               </build>
296             </image>
297           </images>
298         </configuration>
299
300         <executions>
301           <execution>
302             <id>clean-images</id>
303             <phase>pre-clean</phase>
304             <goals>
305               <goal>remove</goal>
306             </goals>
307             <configuration>
308               <removeAll>true</removeAll>
309             </configuration>
310           </execution>
311
312           <execution>
313             <id>generate-images</id>
314             <phase>generate-sources</phase>
315             <goals>
316               <goal>build</goal>
317             </goals>
318           </execution>
319
320           <execution>
321             <id>push-images</id>
322             <phase>${docker.push.phase}</phase>
323             <goals>
324               <goal>build</goal>
325               <goal>push</goal>
326             </goals>
327             <configuration>
328               <image>${docker.image.prefix}/catalog-db-adapter,${docker.image.prefix}/request-db-adapter,${docker.image.prefix}/sdnc-adapter,${docker.image.prefix}/openstack-adapter,${docker.image.prefix}/sdc-controller,${docker.image.prefix}/bpmn-infra,${docker.image.prefix}/api-handler-infra,${docker.image.prefix}/so-simulator</image>
329             </configuration>
330           </execution>
331         </executions>
332       </plugin>
333
334       <plugin>
335         <groupId>org.apache.maven.plugins</groupId>
336         <artifactId>maven-deploy-plugin</artifactId>
337         <version>2.8</version>
338         <configuration>
339           <skip>true</skip>
340         </configuration>
341       </plugin>
342     </plugins>
343   </build>
344
345   <dependencies>
346     <dependency>
347       <groupId>org.onap.so.adapters</groupId>
348       <artifactId>mso-catalog-db-adapter</artifactId>
349       <version>${project.version}</version>
350     </dependency>
351     <dependency>
352       <groupId>org.onap.so.adapters</groupId>
353       <artifactId>mso-requests-db-adapter</artifactId>
354       <version>${project.version}</version>
355     </dependency>
356     <dependency>
357       <groupId>org.onap.so</groupId>
358       <artifactId>mso-sdnc-adapter</artifactId>
359       <version>${project.version}</version>
360     </dependency>
361     <dependency>
362       <groupId>org.onap.so</groupId>
363       <artifactId>mso-openstack-adapters</artifactId>
364       <version>${project.version}</version>
365     </dependency>
366     <dependency>
367       <groupId>org.onap.so.adapters</groupId>
368       <artifactId>so-appc-orchestrator</artifactId>
369       <version>${project.version}</version>
370     </dependency>
371     <dependency>
372       <groupId>org.onap.so</groupId>
373       <artifactId>asdc-controller</artifactId>
374       <version>${project.version}</version>
375     </dependency>
376     <dependency>
377       <groupId>org.onap.so</groupId>
378       <artifactId>mso-infrastructure-bpmn</artifactId>
379       <version>${project.version}</version>
380     </dependency>
381     <dependency>
382       <groupId>org.onap.so</groupId>
383       <artifactId>mso-api-handler-infra</artifactId>
384       <version>${project.version}</version>
385     </dependency>
386     <dependency>
387       <groupId>org.onap.so.simulator</groupId>
388       <artifactId>so-simulator</artifactId>
389       <version>${project.version}</version>
390     </dependency>
391   </dependencies>
392 </project>