9216c04e9a4e9b69423ae0e59798e36e5c13d766
[ccsdk/distribution.git] / odlsli / odlsli-alpine / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <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">
3     <modelVersion>4.0.0</modelVersion>
4
5     <parent>
6         <groupId>org.onap.ccsdk.distribution</groupId>
7         <artifactId>distribution-odlsli</artifactId>
8         <version>1.2.0-SNAPSHOT</version>
9     </parent>
10
11     <artifactId>distribution-odlsli-alpine</artifactId>
12     <packaging>pom</packaging>
13
14     <name>ccsdk-distribution :: odlsli-alpine</name>
15     <description>Creates Alpine-based ODLSLI Docker container</description>
16     <organization>
17         <name>openECOMP</name>
18     </organization>
19
20     <properties>
21         <base.image.name>onap/ccsdk-odl-silicon-alpine-image</base.image.name>
22         <image.name>onap/ccsdk-odlsli-alpine-image</image.name>
23
24         <ccsdk.project.version>${project.version}</ccsdk.project.version>
25         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
26             <ccsdk.build.timestamp>${maven.build.timestamp}</ccsdk.build.timestamp>
27
28         <docker.verbose>true</docker.verbose>
29
30         <docker.buildArg.https_proxy>${https_proxy}</docker.buildArg.https_proxy>
31         <opendaylight.root>opt/opendaylight</opendaylight.root>
32
33         <ansible.gpg.key>93C4A3FD7BB9C367</ansible.gpg.key>
34         <extra.odl.features>
35             odl-restconf-all,odl-mdsal-all,odl-mdsal-apidocs,odl-daexim-all,odl-restconf-nb-rfc8040
36         </extra.odl.features>
37         <ccsdk.sli.features>
38             ccsdk-sli-core-all,ccsdk-sli-adaptors-all,ccsdk-sli-northbound-all,ccsdk-sli-plugins-all
39         </ccsdk.sli.features>
40         <docker.autoCreateCustomNetworks>true</docker.autoCreateCustomNetworks>
41     </properties>
42
43     <dependencies>
44         <dependency>
45             <groupId>${project.groupId}</groupId>
46             <artifactId>dependencies</artifactId>
47             <version>${project.version}</version>
48             <type>zip</type>
49             <classifier>repo</classifier>
50         </dependency>
51         <dependency>
52             <groupId>org.onap.ccsdk.sli.core</groupId>
53             <artifactId>dblib-installer</artifactId>
54             <version>${ccsdk.sli.version}</version>
55             <type>zip</type>
56             <classifier>repo</classifier>
57         </dependency>
58         <dependency>
59             <groupId>org.onap.ccsdk.sli.core</groupId>
60             <artifactId>filters-installer</artifactId>
61             <version>${ccsdk.sli.version}</version>
62             <type>zip</type>
63             <classifier>repo</classifier>
64         </dependency>
65         <dependency>
66             <groupId>org.onap.ccsdk.sli.core</groupId>
67             <artifactId>sli-installer</artifactId>
68             <version>${ccsdk.sli.version}</version>
69             <type>zip</type>
70             <classifier>repo</classifier>
71         </dependency>
72         <dependency>
73             <groupId>org.onap.ccsdk.sli.core</groupId>
74             <artifactId>sliapi-installer</artifactId>
75             <version>${ccsdk.sli.version}</version>
76             <type>zip</type>
77             <classifier>repo</classifier>
78         </dependency>
79         <dependency>
80             <groupId>org.onap.ccsdk.sli.core</groupId>
81             <artifactId>sliPluginUtils-installer</artifactId>
82             <version>${ccsdk.sli.version}</version>
83             <type>zip</type>
84             <classifier>repo</classifier>
85         </dependency>
86         <dependency>
87             <groupId>org.onap.ccsdk.sli.core</groupId>
88             <artifactId>utils-installer</artifactId>
89             <version>${ccsdk.sli.version}</version>
90             <type>zip</type>
91             <classifier>repo</classifier>
92         </dependency>
93         <dependency>
94             <groupId>org.onap.ccsdk.sli.core</groupId>
95             <artifactId>slicore-features-installer</artifactId>
96             <version>${ccsdk.sli.version}</version>
97             <type>zip</type>
98             <classifier>repo</classifier>
99         </dependency>
100         <dependency>
101             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
102             <artifactId>aai-service-installer</artifactId>
103             <version>${ccsdk.sli.version}</version>
104             <type>zip</type>
105             <classifier>repo</classifier>
106         </dependency>
107         <dependency>
108             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
109             <artifactId>ansible-adaptor-installer</artifactId>
110             <version>${ccsdk.sli.version}</version>
111             <type>zip</type>
112             <classifier>repo</classifier>
113         </dependency>
114         <dependency>
115             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
116             <artifactId>base-http-installer</artifactId>
117             <version>${ccsdk.sli.version}</version>
118             <type>zip</type>
119             <classifier>repo</classifier>
120         </dependency>
121         <dependency>
122             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
123             <artifactId>mdsal-resource-installer</artifactId>
124             <version>${ccsdk.sli.version}</version>
125             <type>zip</type>
126             <classifier>repo</classifier>
127         </dependency>
128         <dependency>
129             <groupId>org.onap.ccsdk.sli.adaptors.messagerouter</groupId>
130             <artifactId>publisher.installer</artifactId>
131             <version>${ccsdk.sli.version}</version>
132             <type>zip</type>
133             <classifier>repo</classifier>
134         </dependency>
135         <dependency>
136             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
137             <artifactId>netbox-client-installer</artifactId>
138             <version>${ccsdk.sli.version}</version>
139             <type>zip</type>
140             <classifier>repo</classifier>
141         </dependency>
142         <dependency>
143             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
144             <artifactId>resource-assignment-installer</artifactId>
145             <version>${ccsdk.sli.version}</version>
146             <type>zip</type>
147             <classifier>repo</classifier>
148         </dependency>
149         <dependency>
150             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
151             <artifactId>saltstack-adaptor-installer</artifactId>
152             <version>${ccsdk.sli.version}</version>
153             <type>zip</type>
154             <classifier>repo</classifier>
155         </dependency>
156         <dependency>
157             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
158             <artifactId>sql-resource-installer</artifactId>
159             <version>${ccsdk.sli.version}</version>
160             <type>zip</type>
161             <classifier>repo</classifier>
162         </dependency>
163         <dependency>
164             <groupId>org.onap.ccsdk.sli.adaptors</groupId>
165             <artifactId>sliadaptors-features-installer</artifactId>
166             <version>${ccsdk.sli.version}</version>
167             <type>zip</type>
168             <classifier>repo</classifier>
169         </dependency>
170         <dependency>
171             <groupId>org.onap.ccsdk.sli.northbound</groupId>
172             <artifactId>asdcApi-installer</artifactId>
173             <version>${ccsdk.sli.version}</version>
174             <type>zip</type>
175             <classifier>repo</classifier>
176         </dependency>
177         <dependency>
178             <groupId>org.onap.ccsdk.sli.northbound</groupId>
179             <artifactId>dataChange-installer</artifactId>
180             <version>${ccsdk.sli.version}</version>
181             <type>zip</type>
182             <classifier>repo</classifier>
183         </dependency>
184         <dependency>
185             <groupId>org.onap.ccsdk.sli.northbound</groupId>
186             <artifactId>lcm-installer</artifactId>
187             <version>${ccsdk.sli.version}</version>
188             <type>zip</type>
189             <classifier>repo</classifier>
190         </dependency>
191         <dependency>
192             <groupId>org.onap.ccsdk.sli.northbound</groupId>
193             <artifactId>slinorthbound-features-installer</artifactId>
194             <version>${ccsdk.sli.version}</version>
195             <type>zip</type>
196             <classifier>repo</classifier>
197         </dependency>
198         <dependency>
199             <groupId>org.onap.ccsdk.sli.plugins</groupId>
200             <artifactId>properties-node-installer</artifactId>
201             <version>${ccsdk.sli.version}</version>
202             <type>zip</type>
203             <classifier>repo</classifier>
204         </dependency>
205         <dependency>
206             <groupId>org.onap.ccsdk.sli.plugins</groupId>
207             <artifactId>restapi-call-node-installer</artifactId>
208             <version>${ccsdk.sli.version}</version>
209             <type>zip</type>
210             <classifier>repo</classifier>
211         </dependency>
212         <dependency>
213             <groupId>org.onap.ccsdk.sli.plugins</groupId>
214             <artifactId>template-node-installer</artifactId>
215             <version>${ccsdk.sli.version}</version>
216             <type>zip</type>
217             <classifier>repo</classifier>
218         </dependency>
219         <dependency>
220             <groupId>org.onap.ccsdk.sli.plugins</groupId>
221             <artifactId>restconf-client-installer</artifactId>
222             <version>${ccsdk.sli.version}</version>
223             <type>zip</type>
224             <classifier>repo</classifier>
225         </dependency>
226         <dependency>
227             <groupId>org.onap.ccsdk.sli.plugins</groupId>
228             <artifactId>sshapi-call-node-installer</artifactId>
229             <version>${ccsdk.sli.version}</version>
230             <type>zip</type>
231             <classifier>repo</classifier>
232         </dependency>
233         <dependency>
234             <groupId>org.onap.ccsdk.sli.plugins</groupId>
235             <artifactId>sliplugins-features-installer</artifactId>
236             <version>${ccsdk.sli.version}</version>
237             <type>zip</type>
238             <classifier>repo</classifier>
239         </dependency>
240     </dependencies>
241
242     <build>
243         <plugins>
244             <plugin>
245                 <groupId>org.codehaus.groovy.maven</groupId>
246                 <artifactId>gmaven-plugin</artifactId>
247                 <version>1.0</version>
248                 <executions>
249                     <execution>
250                         <phase>validate</phase>
251                         <goals>
252                             <goal>execute</goal>
253                         </goals>
254                         <configuration>
255                             <source>${basedir}/../../src/main/scripts/TagSnapshotVersion.groovy</source>
256                         </configuration>
257                     </execution>
258                 </executions>
259             </plugin>
260             <plugin>
261                 <artifactId>maven-resources-plugin</artifactId>
262                 <version>2.6</version>
263                 <executions>
264                     <execution>
265                         <id>copy-dockerfile</id>
266                         <goals>
267                             <goal>copy-resources</goal>
268                         </goals>
269                         <!-- here the phase you need -->
270                         <phase>validate</phase>
271                         <configuration>
272                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
273                             <resources>
274                                 <resource>
275                                     <directory>src/main/docker</directory>
276                                     <includes>
277                                         <include>Dockerfile</include>
278                                     </includes>
279                                     <filtering>true</filtering>
280                                 </resource>
281                             </resources>
282                         </configuration>
283                     </execution>
284                     <execution>
285                         <id>copy-scripts</id>
286                         <goals>
287                             <goal>copy-resources</goal>
288                         </goals>
289                         <!-- here the phase you need -->
290                         <phase>validate</phase>
291                         <configuration>
292                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/bin</outputDirectory>
293                             <resources>
294                                 <resource>
295                                     <directory>../src/main/scripts</directory>
296                                     <includes>
297                                         <include>*.sh</include>
298                                     </includes>
299                                     <filtering>false</filtering>
300                                 </resource>
301                             </resources>
302                         </configuration>
303                     </execution>
304                     <execution>
305                         <id>copy-odl-resources</id>
306                         <goals>
307                             <goal>copy-resources</goal>
308                         </goals>
309                         <!-- here the phase you need -->
310                         <phase>validate</phase>
311                         <configuration>
312                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
313                             <resources>
314                                 <resource>
315                                     <directory>../src/main/resources</directory>
316                                     <includes>
317                                         <include>idmlight.db.mv.db</include>
318                                         <include>org.ops4j.pax.logging.cfg</include>
319                                         <include>install_ccsdk.yml</include>
320                                         <include>ansible-sources.list</include>
321                                     </includes>
322                                     <filtering>false</filtering>
323                                 </resource>
324                             </resources>
325                         </configuration>
326                     </execution>
327                     <execution>
328                         <id>copy-config</id>
329                         <goals>
330                             <goal>copy-resources</goal>
331                         </goals>
332                         <!-- here the phase you need -->
333                         <phase>validate</phase>
334                         <configuration>
335                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
336                             <resources>
337                                 <resource>
338                                     <directory>../src/main/resources</directory>
339                                     <includes>
340                                         <include>org.ops4j.pax.logging.cfg</include>
341                                     </includes>
342                                     <filtering>false</filtering>
343                                 </resource>
344                             </resources>
345                         </configuration>
346                     </execution>
347                     <execution>
348                         <id>copy-data</id>
349                         <goals>
350                             <goal>copy-resources</goal>
351                         </goals>
352                         <!-- here the phase you need -->
353                         <phase>validate</phase>
354                         <configuration>
355                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data</outputDirectory>
356                             <resources>
357                                 <resource>
358                                     <directory>../src/main/resources</directory>
359                                     <includes>
360                                         <include>*.dump</include>
361                                     </includes>
362                                     <filtering>false</filtering>
363                                 </resource>
364                             </resources>
365                         </configuration>
366                     </execution>
367                     <execution>
368                         <id>copy-properties</id>
369                         <goals>
370                             <goal>copy-resources</goal>
371                         </goals>
372                         <!-- here the phase you need -->
373                         <phase>validate</phase>
374                         <configuration>
375                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data/properties
376                             </outputDirectory>
377                             <resources>
378                                 <resource>
379                                     <directory>../src/main/properties</directory>
380                                     <includes>
381                                         <include>*.properties</include>
382                                         <include>*.vt</include>
383                                     </includes>
384                                     <filtering>false</filtering>
385                                 </resource>
386                             </resources>
387                         </configuration>
388                     </execution>
389                     <execution>
390                         <id>copy-keystores</id>
391                         <goals>
392                             <goal>copy-resources</goal>
393                         </goals>
394                         <!-- here the phase you need -->
395                         <phase>validate</phase>
396                         <configuration>
397                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data/stores</outputDirectory>
398                             <resources>
399                                 <resource>
400                                     <directory>../src/main/stores</directory>
401                                     <includes>
402                                         <include>*.jks</include>
403                                     </includes>
404                                     <filtering>false</filtering>
405                                 </resource>
406                             </resources>
407                         </configuration>
408                     </execution>
409                 </executions>
410             </plugin>
411             <plugin>
412                 <groupId>org.apache.maven.plugins</groupId>
413                 <artifactId>maven-dependency-plugin</artifactId>
414                 <version>3.0.2</version>
415                 <executions>
416                     <execution>
417                         <id>unpack features</id>
418                         <phase>generate-sources</phase>
419                         <goals>
420                             <goal>unpack-dependencies</goal>
421                         </goals>
422                         <configuration>
423                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
424                             <excludeTransitive>true</excludeTransitive>
425                         </configuration>
426                     </execution>
427                     <execution>
428                         <id>unpack dgs</id>
429                         <phase>generate-sources</phase>
430                         <goals>
431                             <goal>unpack</goal>
432                         </goals>
433                         <configuration>
434                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk</outputDirectory>
435                             <artifactItems>
436                                 <artifactItem>
437                                     <groupId>${project.groupId}</groupId>
438                                     <artifactId>platform-logic-installer</artifactId>
439                                     <version>${project.version}</version>
440                                     <type>zip</type>
441                                 </artifactItem>
442                             </artifactItems>
443                         </configuration>
444                     </execution>
445                 </executions>
446             </plugin>
447             <plugin>
448                 <groupId>org.apache.maven.plugins</groupId>
449                 <artifactId>maven-antrun-plugin</artifactId>
450                 <version>1.8</version>
451                 <executions>
452                     <execution>
453                         <id>change-shell-permissions</id>
454                         <phase>process-sources</phase>
455                         <configuration>
456                             <target>
457                                 <chmod dir="${basedir}/target/docker-stage/opt/onap/ccsdk" perm="+x" includes="**/*.sh"/>
458                             </target>
459                         </configuration>
460                         <goals>
461                             <goal>run</goal>
462                         </goals>
463                     </execution>
464                 </executions>
465             </plugin>
466             <plugin>
467                 <groupId>org.apache.maven.plugins</groupId>
468                 <artifactId>maven-failsafe-plugin</artifactId>
469                 <executions>
470                     <execution>
471                         <goals>
472                             <goal>integration-test</goal>
473                             <goal>verify</goal>
474                         </goals>
475                     </execution>
476                 </executions>
477                 <configuration>
478                     <skipITs>true</skipITs>
479                 </configuration>
480             </plugin>
481         </plugins>
482         <extensions>
483             <extension><!-- this extension is required by wagon in order to pass the proxy -->
484                 <groupId>org.apache.maven.wagon</groupId>
485                 <artifactId>wagon-http-lightweight</artifactId>
486                 <version>2.2</version>
487             </extension>
488         </extensions>
489     </build>
490
491     <profiles>
492         <profile>
493             <id>docker</id>
494             <build>
495                 <plugins>
496                     <plugin>
497                         <groupId>org.apache.maven.plugins</groupId>
498                         <artifactId>maven-failsafe-plugin</artifactId>
499                         <executions>
500                             <execution>
501                                 <goals>
502                                     <goal>integration-test</goal>
503                                     <goal>verify</goal>
504                                 </goals>
505                             </execution>
506                         </executions>
507                         <configuration>
508                             <skipITs>false</skipITs>
509                             <environmentVariables>
510                                 <ODLSLI_PORT>${odlsli.port}</ODLSLI_PORT>
511                             </environmentVariables>
512                         </configuration>
513                     </plugin>
514                     <plugin>
515                         <groupId>io.fabric8</groupId>
516                         <artifactId>docker-maven-plugin</artifactId>
517                         <version>0.34.0</version>
518                         <inherited>false</inherited>
519                         <configuration>
520                             <images>
521                                 <image>
522                                     <name>${image.name}</name>
523                                     <build>
524                                         <cleanup>try</cleanup>
525                                         <noCache>true</noCache>
526                                         <contextDir>${basedir}/target/docker-stage</contextDir>
527                                         <dockerFile>Dockerfile</dockerFile>
528                                         <tags>
529                                             <tag>${project.docker.latestminortag.snapshot.version}</tag>
530                                             <tag>${project.docker.latestfulltag.snapshot.version}</tag>
531                                             <tag>${project.docker.latesttagtimestamp.snapshot.version}</tag>
532                                         </tags>
533                                     </build>
534                                 </image>
535                             </images>
536                             <verbose>${docker.verbose}</verbose>
537                             <skipPush>${docker.skip.push}</skipPush>
538                         </configuration>
539                         <executions>
540                             <execution>
541                                 <id>build-push-images</id>
542                                 <goals>
543                                     <goal>build</goal>
544                                     <goal>push</goal>
545                                 </goals>
546                             </execution>
547                         </executions>
548                     </plugin>
549                 </plugins>
550             </build>
551         </profile>
552     </profiles>
553 </project>