c78979eccb6eeb1af418741eec2f6a3a3a2c6fc3
[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.4.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
69         <configuration>
70           <verbose>true</verbose>
71           <apiVersion>1.23</apiVersion>
72           <pullRegistry>${docker.pull.registry}</pullRegistry>
73           <pushRegistry>${docker.push.registry}</pushRegistry>
74
75           <images>
76             <image>
77               <name>${docker.image.prefix}/base-image:1.0</name>
78               <build>
79                 <cleanup>try</cleanup>
80                 <dockerFileDir>docker-files</dockerFileDir>
81                 <dockerFile>Dockerfile.so-base-image</dockerFile>
82               </build>
83             </image>
84             <image>
85               <name>${docker.image.prefix}/vnfm-adapter</name>
86               <build>
87                 <cleanup>try</cleanup>
88                 <dockerFileDir>docker-files</dockerFileDir>
89                 <dockerFile>Dockerfile.so-app</dockerFile>
90                 <tags>
91                   <tag>${project.version}</tag>
92                   <tag>${project.version}-${maven.build.timestamp}</tag>
93                   <tag>${project.docker.latesttag.version}</tag>
94                 </tags>
95                 <assembly>
96                   <inline>
97                     <dependencySets>
98                       <dependencySet>
99                         <includes>
100                           <include>org.onap.so.adapters:mso-vnfm-etsi-adapter</include>
101                         </includes>
102                         <outputFileNameMapping>app.jar</outputFileNameMapping>
103                       </dependencySet>
104                     </dependencySets>
105                   </inline>
106                 </assembly>
107               </build>
108             </image>
109             <image>
110               <name>${docker.image.prefix}/ve-vnfm-adapter</name>
111               <build>
112                 <cleanup>try</cleanup>
113                 <dockerFileDir>docker-files</dockerFileDir>
114                 <dockerFile>Dockerfile.so-app</dockerFile>
115                 <tags>
116                   <tag>${project.version}</tag>
117                   <tag>${project.version}-${maven.build.timestamp}</tag>
118                   <tag>${project.docker.latesttag.version}</tag>
119                 </tags>
120                 <assembly>
121                   <inline>
122                     <dependencySets>
123                       <dependencySet>
124                         <includes>
125                           <include>org.onap.so.adapters:mso-ve-vnfm-adapter</include>
126                         </includes>
127                         <outputFileNameMapping>app.jar</outputFileNameMapping>
128                       </dependencySet>
129                     </dependencySets>
130                   </inline>
131                 </assembly>
132               </build>
133             </image>
134             <image>
135               <name>${docker.image.prefix}/catalog-db-adapter</name>
136               <build>
137                 <cleanup>try</cleanup>
138                 <dockerFileDir>docker-files</dockerFileDir>
139                 <dockerFile>Dockerfile.so-app</dockerFile>
140                 <tags>
141                   <tag>${project.version}</tag>
142                   <tag>${project.version}-${maven.build.timestamp}</tag>
143                   <tag>${project.docker.latesttag.version}</tag>
144                 </tags>
145                 <assembly>
146                   <inline>
147                     <dependencySets>
148                       <dependencySet>
149                         <includes>
150                           <include>org.onap.so.adapters:mso-catalog-db-adapter</include>
151                         </includes>
152                         <outputFileNameMapping>app.jar</outputFileNameMapping>
153                       </dependencySet>
154                     </dependencySets>
155                   </inline>
156                 </assembly>
157               </build>
158             </image>
159             <image>
160               <name>${docker.image.prefix}/request-db-adapter</name>
161               <build>
162                 <cleanup>try</cleanup>
163                 <dockerFileDir>docker-files</dockerFileDir>
164                 <dockerFile>Dockerfile.so-app</dockerFile>
165                 <tags>
166                   <tag>${project.version}</tag>
167                   <tag>${project.version}-${maven.build.timestamp}</tag>
168                   <tag>${project.docker.latesttag.version}</tag>
169                 </tags>
170                 <assembly>
171                   <inline>
172                     <dependencySets>
173                       <dependencySet>
174                         <includes>
175                           <include>org.onap.so.adapters:mso-requests-db-adapter</include>
176                         </includes>
177                         <outputFileNameMapping>app.jar</outputFileNameMapping>
178                       </dependencySet>
179                     </dependencySets>
180                   </inline>
181                 </assembly>
182               </build>
183             </image>
184             <image>
185               <name>${docker.image.prefix}/sdnc-adapter</name>
186               <build>
187                 <cleanup>try</cleanup>
188                 <dockerFileDir>docker-files</dockerFileDir>
189                 <dockerFile>Dockerfile.so-app</dockerFile>
190                 <tags>
191                   <tag>${project.version}</tag>
192                   <tag>${project.version}-${maven.build.timestamp}</tag>
193                   <tag>${project.docker.latesttag.version}</tag>
194                 </tags>
195                 <assembly>
196                   <inline>
197                     <dependencySets>
198                       <dependencySet>
199                         <includes>
200                           <include>org.onap.so:mso-sdnc-adapter</include>
201                         </includes>
202                         <outputFileNameMapping>app.jar</outputFileNameMapping>
203                       </dependencySet>
204                     </dependencySets>
205                   </inline>
206                 </assembly>
207               </build>
208             </image>
209             <image>
210               <name>${docker.image.prefix}/openstack-adapter</name>
211               <build>
212                 <cleanup>try</cleanup>
213                 <dockerFileDir>docker-files</dockerFileDir>
214                 <dockerFile>Dockerfile.so-app</dockerFile>
215                 <tags>
216                   <tag>${project.version}</tag>
217                   <tag>${project.version}-${maven.build.timestamp}</tag>
218                   <tag>${project.docker.latesttag.version}</tag>
219                 </tags>
220                 <assembly>
221                   <inline>
222                     <dependencySets>
223                       <dependencySet>
224                         <includes>
225                           <include>org.onap.so:mso-openstack-adapters</include>
226                         </includes>
227                         <outputFileNameMapping>app.jar</outputFileNameMapping>
228                       </dependencySet>
229                     </dependencySets>
230                   </inline>
231                 </assembly>
232               </build>
233             </image>
234             <image>
235               <name>${docker.image.prefix}/vfc-adapter</name>
236               <build>
237                 <cleanup>try</cleanup>
238                 <dockerFileDir>docker-files</dockerFileDir>
239                 <dockerFile>Dockerfile.so-app</dockerFile>
240                 <tags>
241                   <tag>${project.version}</tag>
242                   <tag>${project.version}-${maven.build.timestamp}</tag>
243                   <tag>${project.docker.latesttag.version}</tag>
244                 </tags>
245                 <assembly>
246                   <inline>
247                     <dependencySets>
248                       <dependencySet>
249                         <includes>
250                           <include>org.onap.so.adapters:mso-vfc-adapter</include>
251                         </includes>
252                         <outputFileNameMapping>app.jar</outputFileNameMapping>
253                       </dependencySet>
254                     </dependencySets>
255                   </inline>
256                 </assembly>
257               </build>
258             </image>
259             <image>
260               <name>${docker.image.prefix}/so-appc-orchestrator</name>
261               <build>
262                 <cleanup>try</cleanup>
263                 <dockerFileDir>docker-files</dockerFileDir>
264                 <dockerFile>Dockerfile.so-app</dockerFile>
265                 <tags>
266                   <tag>${project.version}</tag>
267                   <tag>${project.version}-${maven.build.timestamp}</tag>
268                   <tag>${project.docker.latesttag.version}</tag>
269                 </tags>
270                 <assembly>
271                   <inline>
272                     <dependencySets>
273                       <dependencySet>
274                         <includes>
275                           <include>org.onap.so.adapters:so-appc-orchestrator</include>
276                         </includes>
277                         <outputFileNameMapping>app.jar</outputFileNameMapping>
278                       </dependencySet>
279                     </dependencySets>
280                   </inline>
281                 </assembly>
282               </build>
283             </image>
284             <image>
285               <name>${docker.image.prefix}/sdc-controller</name>
286               <build>
287                 <cleanup>try</cleanup>
288                 <dockerFileDir>docker-files</dockerFileDir>
289                 <dockerFile>Dockerfile.so-app</dockerFile>
290                 <tags>
291                   <tag>${project.version}</tag>
292                   <tag>${project.version}-${maven.build.timestamp}</tag>
293                   <tag>${project.docker.latesttag.version}</tag>
294                 </tags>
295                 <assembly>
296                   <inline>
297                     <dependencySets>
298                       <dependencySet>
299                         <includes>
300                           <include>org.onap.so:asdc-controller</include>
301                         </includes>
302                         <outputFileNameMapping>app.jar</outputFileNameMapping>
303                       </dependencySet>
304                     </dependencySets>
305                   </inline>
306                 </assembly>
307               </build>
308             </image>
309             <image>
310               <name>${docker.image.prefix}/bpmn-infra</name>
311               <build>
312                 <cleanup>try</cleanup>
313                 <dockerFileDir>docker-files</dockerFileDir>
314                 <dockerFile>Dockerfile.so-app</dockerFile>
315                 <tags>
316                   <tag>${project.version}</tag>
317                   <tag>${project.version}-${maven.build.timestamp}</tag>
318                   <tag>${project.docker.latesttag.version}</tag>
319                 </tags>
320                 <assembly>
321                   <inline>
322                     <dependencySets>
323                       <dependencySet>
324                         <includes>
325                           <include>org.onap.so:mso-infrastructure-bpmn</include>
326                         </includes>
327                         <outputFileNameMapping>app.jar</outputFileNameMapping>
328                       </dependencySet>
329                     </dependencySets>
330                   </inline>
331                 </assembly>
332               </build>
333             </image>
334             <image>
335               <name>${docker.image.prefix}/api-handler-infra</name>
336               <build>
337                 <cleanup>try</cleanup>
338                 <dockerFileDir>docker-files</dockerFileDir>
339                 <dockerFile>Dockerfile.so-app</dockerFile>
340                 <tags>
341                   <tag>${project.version}</tag>
342                   <tag>${project.version}-${maven.build.timestamp}</tag>
343                   <tag>${project.docker.latesttag.version}</tag>
344                 </tags>
345                 <assembly>
346                   <inline>
347                     <dependencySets>
348                       <dependencySet>
349                         <includes>
350                           <include>org.onap.so:mso-api-handler-infra</include>
351                         </includes>
352                         <outputFileNameMapping>app.jar</outputFileNameMapping>
353                       </dependencySet>
354                     </dependencySets>
355                   </inline>
356                 </assembly>
357               </build>
358             </image>
359             <image>
360               <name>${docker.image.prefix}/so-monitoring</name>
361               <build>
362                 <cleanup>try</cleanup>
363                 <dockerFileDir>docker-files</dockerFileDir>
364                 <dockerFile>Dockerfile.so-app</dockerFile>
365                 <tags>
366                   <tag>${project.version}</tag>
367                   <tag>${project.version}-${maven.build.timestamp}</tag>
368                   <tag>${project.docker.latesttag.version}</tag>
369                 </tags>
370                 <assembly>
371                   <inline>
372                     <dependencySets>
373                       <dependencySet>
374                         <includes>
375                           <include>org.onap.so.monitoring:so-monitoring-service</include>
376                         </includes>
377                         <outputFileNameMapping>app.jar</outputFileNameMapping>
378                       </dependencySet>
379                     </dependencySets>
380                   </inline>
381                 </assembly>
382               </build>
383             </image>
384             <image>
385               <name>${docker.image.prefix}/so-simulator</name>
386               <build>
387                 <cleanup>try</cleanup>
388                 <dockerFileDir>docker-files</dockerFileDir>
389                 <dockerFile>Dockerfile.so-app</dockerFile>
390                 <tags>
391                   <tag>${project.version}</tag>
392                   <tag>${project.version}-${maven.build.timestamp}</tag>
393                   <tag>${project.docker.latesttag.version}</tag>
394                 </tags>
395                 <assembly>
396                   <inline>
397                     <dependencySets>
398                       <dependencySet>
399                         <includes>
400                           <include>org.onap.so.simulator:so-simulator</include>
401                         </includes>
402                         <outputFileNameMapping>app.jar</outputFileNameMapping>
403                       </dependencySet>
404                     </dependencySets>
405                   </inline>
406                 </assembly>
407               </build>
408             </image>
409           </images>
410         </configuration>
411
412         <executions>
413           <execution>
414             <id>clean-images</id>
415             <phase>pre-clean</phase>
416             <goals>
417               <goal>remove</goal>
418             </goals>
419             <configuration>
420               <removeAll>true</removeAll>
421             </configuration>
422           </execution>
423
424           <execution>
425             <id>generate-images</id>
426             <phase>generate-sources</phase>
427             <goals>
428               <goal>build</goal>
429             </goals>
430           </execution>
431
432           <execution>
433             <id>push-images</id>
434             <phase>${docker.push.phase}</phase>
435             <goals>
436               <goal>build</goal>
437               <goal>push</goal>
438             </goals>
439             <configuration>
440               <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}/vfc-adapter,${docker.image.prefix}/sdc-controller,${docker.image.prefix}/bpmn-infra,${docker.image.prefix}/api-handler-infra,${docker.image.prefix}/so-monitoring,${docker.image.prefix}/so-simulator</image>
441             </configuration>
442           </execution>
443         </executions>
444       </plugin>
445
446       <plugin>
447         <groupId>org.apache.maven.plugins</groupId>
448         <artifactId>maven-deploy-plugin</artifactId>
449         <version>2.8</version>
450         <configuration>
451           <skip>true</skip>
452         </configuration>
453       </plugin>
454     </plugins>
455   </build>
456
457   <dependencies>
458     <dependency>
459       <groupId>org.onap.so.adapters</groupId>
460       <artifactId>mso-vnfm-etsi-adapter</artifactId>
461       <version>${project.version}</version>
462     </dependency>
463     <dependency>
464       <groupId>org.onap.so.adapters</groupId>
465       <artifactId>mso-ve-vnfm-adapter</artifactId>
466       <version>${project.version}</version>
467     </dependency>
468     <dependency>
469       <groupId>org.onap.so.adapters</groupId>
470       <artifactId>mso-catalog-db-adapter</artifactId>
471       <version>${project.version}</version>
472     </dependency>
473     <dependency>
474       <groupId>org.onap.so.adapters</groupId>
475       <artifactId>mso-requests-db-adapter</artifactId>
476       <version>${project.version}</version>
477     </dependency>
478     <dependency>
479       <groupId>org.onap.so</groupId>
480       <artifactId>mso-sdnc-adapter</artifactId>
481       <version>${project.version}</version>
482     </dependency>
483     <dependency>
484       <groupId>org.onap.so</groupId>
485       <artifactId>mso-openstack-adapters</artifactId>
486       <version>${project.version}</version>
487     </dependency>
488     <dependency>
489       <groupId>org.onap.so.adapters</groupId>
490       <artifactId>mso-vfc-adapter</artifactId>
491       <version>${project.version}</version>
492     </dependency>
493     <dependency>
494       <groupId>org.onap.so.adapters</groupId>
495       <artifactId>so-appc-orchestrator</artifactId>
496       <version>${project.version}</version>
497     </dependency>
498     <dependency>
499       <groupId>org.onap.so</groupId>
500       <artifactId>asdc-controller</artifactId>
501       <version>${project.version}</version>
502     </dependency>
503     <dependency>
504       <groupId>org.onap.so</groupId>
505       <artifactId>mso-infrastructure-bpmn</artifactId>
506       <version>${project.version}</version>
507     </dependency>
508     <dependency>
509       <groupId>org.onap.so</groupId>
510       <artifactId>mso-api-handler-infra</artifactId>
511       <version>${project.version}</version>
512     </dependency>
513     <dependency>
514       <groupId>org.onap.so.monitoring</groupId>
515       <artifactId>so-monitoring-service</artifactId>
516       <version>${project.version}</version>
517     </dependency>
518     <dependency>
519       <groupId>org.onap.so.simulator</groupId>
520       <artifactId>so-simulator</artifactId>
521       <version>${project.version}</version>
522     </dependency>
523   </dependencies>
524 </project>