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