1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5 <modelVersion>4.0.0</modelVersion>
8 <groupId>org.onap.ccsdk.parent</groupId>
9 <artifactId>odlparent-lite</artifactId>
10 <version>1.1.0-SNAPSHOT</version>
14 <groupId>org.onap.ccsdk.distribution</groupId>
15 <artifactId>distribution-odlsli</artifactId>
16 <version>0.3.0-SNAPSHOT</version>
17 <packaging>pom</packaging>
19 <name>ccsdk-distribution :: odlsli</name>
20 <description>Creates SDN Controller Docker container</description>
22 <name>openECOMP</name>
26 <image.name>onap/ccsdk-odlsli-image</image.name>
27 <ccsdk.project.version>${project.version}</ccsdk.project.version>
28 <docker.buildArg.https_proxy>${https_proxy}</docker.buildArg.https_proxy>
29 <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
30 <opendaylight.root>opt/opendaylight</opendaylight.root>
31 <docker.push.phase>deploy</docker.push.phase>
32 <docker.verbose>true</docker.verbose>
33 <ansible.gpg.key>93C4A3FD7BB9C367</ansible.gpg.key>
39 <groupId>org.onap.ccsdk.sli.core</groupId>
40 <artifactId>dblib-installer</artifactId>
41 <version>${ccsdk.sli.core.version}</version>
42 <classifier>repo</classifier>
46 <groupId>org.onap.ccsdk.sli.core</groupId>
47 <artifactId>filters-installer</artifactId>
48 <version>${ccsdk.sli.core.version}</version>
49 <classifier>repo</classifier>
53 <groupId>org.onap.ccsdk.sli.core</groupId>
54 <artifactId>sli-installer</artifactId>
55 <version>${ccsdk.sli.core.version}</version>
56 <classifier>repo</classifier>
60 <groupId>org.onap.ccsdk.sli.core</groupId>
61 <artifactId>sliapi-installer</artifactId>
62 <version>${ccsdk.sli.core.version}</version>
63 <classifier>repo</classifier>
67 <groupId>org.onap.ccsdk.sli.core</groupId>
68 <artifactId>sliPluginUtils-installer</artifactId>
69 <version>${ccsdk.sli.core.version}</version>
70 <classifier>repo</classifier>
74 <groupId>org.onap.ccsdk.sli.core</groupId>
75 <artifactId>utils-installer</artifactId>
76 <version>${ccsdk.sli.core.version}</version>
77 <classifier>repo</classifier>
81 <groupId>org.onap.ccsdk.sli.core</groupId>
82 <artifactId>slicore-features-installer</artifactId>
83 <version>${ccsdk.sli.core.version}</version>
84 <classifier>repo</classifier>
88 <groupId>org.onap.ccsdk.sli.adaptors</groupId>
89 <artifactId>aai-service-installer</artifactId>
90 <version>${ccsdk.sli.adaptors.version}</version>
91 <classifier>repo</classifier>
95 <groupId>org.onap.ccsdk.sli.adaptors</groupId>
96 <artifactId>ansible-adapter-installer</artifactId>
97 <version>${ccsdk.sli.adaptors.version}</version>
98 <classifier>repo</classifier>
102 <groupId>org.onap.ccsdk.sli.adaptors</groupId>
103 <artifactId>mdsal-resource-installer</artifactId>
104 <version>${ccsdk.sli.adaptors.version}</version>
105 <classifier>repo</classifier>
109 <groupId>org.onap.ccsdk.sli.adaptors</groupId>
110 <artifactId>resource-assignment-installer</artifactId>
111 <version>${ccsdk.sli.adaptors.version}</version>
112 <classifier>repo</classifier>
116 <groupId>org.onap.ccsdk.sli.adaptors</groupId>
117 <artifactId>sql-resource-installer</artifactId>
118 <version>${ccsdk.sli.adaptors.version}</version>
119 <classifier>repo</classifier>
123 <groupId>org.onap.ccsdk.sli.adaptors</groupId>
124 <artifactId>sliadaptors-features-installer</artifactId>
125 <version>${ccsdk.sli.adaptors.version}</version>
126 <classifier>repo</classifier>
130 <groupId>org.onap.ccsdk.sli.northbound</groupId>
131 <artifactId>asdcApi-installer</artifactId>
132 <version>${ccsdk.sli.northbound.version}</version>
133 <classifier>repo</classifier>
137 <groupId>org.onap.ccsdk.sli.northbound</groupId>
138 <artifactId>dataChange-installer</artifactId>
139 <version>${ccsdk.sli.northbound.version}</version>
140 <classifier>repo</classifier>
144 <groupId>org.onap.ccsdk.sli.northbound</groupId>
145 <artifactId>lcm-installer</artifactId>
146 <version>${ccsdk.sli.northbound.version}</version>
147 <classifier>repo</classifier>
151 <groupId>org.onap.ccsdk.sli.northbound</groupId>
152 <artifactId>slinorthbound-features-installer</artifactId>
153 <version>${ccsdk.sli.northbound.version}</version>
154 <classifier>repo</classifier>
158 <groupId>org.onap.ccsdk.sli.plugins</groupId>
159 <artifactId>properties-node-installer</artifactId>
160 <version>${ccsdk.sli.plugins.version}</version>
161 <classifier>repo</classifier>
165 <groupId>org.onap.ccsdk.sli.plugins</groupId>
166 <artifactId>restapi-call-node-installer</artifactId>
167 <version>${ccsdk.sli.plugins.version}</version>
168 <classifier>repo</classifier>
172 <groupId>org.onap.ccsdk.sli.plugins</groupId>
173 <artifactId>restconf-client-installer</artifactId>
174 <version>${ccsdk.sli.plugins.version}</version>
175 <classifier>repo</classifier>
179 <groupId>org.onap.ccsdk.sli.plugins</groupId>
180 <artifactId>sshapi-call-node-installer</artifactId>
181 <version>${ccsdk.sli.plugins.version}</version>
182 <classifier>repo</classifier>
186 <groupId>org.onap.ccsdk.sli.plugins</groupId>
187 <artifactId>sliplugins-features-installer</artifactId>
188 <version>${ccsdk.sli.plugins.version}</version>
189 <classifier>repo</classifier>
197 <!-- this extension is required by wagon in order to pass the proxy -->
198 <groupId>org.apache.maven.wagon</groupId>
199 <artifactId>wagon-http-lightweight</artifactId>
200 <version>2.2</version>
207 <groupId>org.codehaus.groovy.maven</groupId>
208 <artifactId>gmaven-plugin</artifactId>
211 <phase>validate</phase>
217 println project.properties['ccsdk.project.version'];
219 if (project.properties['ccsdk.project.version'] != null ) {
220 versionArray = project.properties['ccsdk.project.version'].split('\\.');
223 if (project.properties['ccsdk.project.version'].endsWith("-SNAPSHOT"))
225 project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest";
227 project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest";
230 println 'New Tag for docker:' + project.properties['project.docker.latesttag.version'];
240 <artifactId>maven-resources-plugin</artifactId>
241 <version>2.6</version>
244 <id>copy-dockerfile</id>
246 <goal>copy-resources</goal>
247 </goals><!-- here the phase you need -->
248 <phase>validate</phase>
250 <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
253 <directory>src/main/docker</directory>
255 <include>Dockerfile</include>
257 <filtering>true</filtering>
264 <id>copy-scripts</id>
266 <goal>copy-resources</goal>
267 </goals><!-- here the phase you need -->
268 <phase>validate</phase>
270 <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/bin</outputDirectory>
273 <directory>src/main/scripts</directory>
275 <include>*.sh</include>
277 <filtering>false</filtering>
284 <id>copy-odl-resources</id>
286 <goal>copy-resources</goal>
287 </goals><!-- here the phase you need -->
288 <phase>validate</phase>
290 <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
293 <directory>src/main/resources</directory>
295 <include>idmlight.db.mv.db</include>
296 <include>org.ops4j.pax.logging.cfg</include>
297 <include>install_ccsdk.yml</include>
298 <include>ansible-sources.list</include>
300 <filtering>false</filtering>
308 <goal>copy-resources</goal>
309 </goals><!-- here the phase you need -->
310 <phase>validate</phase>
312 <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
315 <directory>src/main/resources</directory>
317 <include>org.ops4j.pax.logging.cfg</include>
319 <filtering>false</filtering>
327 <goal>copy-resources</goal>
328 </goals><!-- here the phase you need -->
329 <phase>validate</phase>
331 <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data</outputDirectory>
334 <directory>src/main/resources</directory>
336 <include>*.dump</include>
338 <filtering>false</filtering>
344 <id>copy-properties</id>
346 <goal>copy-resources</goal>
347 </goals><!-- here the phase you need -->
348 <phase>validate</phase>
350 <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data/properties</outputDirectory>
353 <directory>src/main/properties</directory>
355 <include>*.properties</include>
357 <filtering>false</filtering>
363 <id>copy-keystores</id>
365 <goal>copy-resources</goal>
366 </goals><!-- here the phase you need -->
367 <phase>validate</phase>
369 <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data/stores</outputDirectory>
372 <directory>src/main/stores</directory>
374 <include>*.jks</include>
376 <filtering>false</filtering>
384 <groupId>org.apache.maven.plugins</groupId>
385 <artifactId>maven-dependency-plugin</artifactId>
386 <version>3.0.2</version>
389 <id>unpack features</id>
390 <phase>generate-sources</phase>
392 <goal>unpack-dependencies</goal>
395 <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
396 <excludeTransitive>true</excludeTransitive>
401 <phase>generate-sources</phase>
406 <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk</outputDirectory>
409 <groupId>${project.groupId}</groupId>
410 <artifactId>platform-logic-installer</artifactId>
411 <version>${project.version}</version>
420 <groupId>org.codehaus.mojo</groupId>
421 <artifactId>exec-maven-plugin</artifactId>
422 <version>1.5.0</version>
426 <id>change shell permissions</id>
427 <phase>process-sources</phase>
432 <executable>/usr/bin/find</executable>
434 <argument>${basedir}/target/docker-stage/opt/onap/ccsdk</argument>
435 <argument>-name</argument>
436 <argument>*.sh</argument>
437 <argument>-exec</argument>
438 <argument>chmod</argument>
439 <argument>+x</argument>
440 <argument>{}</argument>
441 <argument>;</argument>
458 <groupId>io.fabric8</groupId>
459 <artifactId>docker-maven-plugin</artifactId>
460 <version>0.16.5</version>
461 <inherited>false</inherited>
465 <name>${image.name}</name>
467 <cleanup>try</cleanup>
468 <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
469 <dockerFile>${basedir}/target/docker-stage/Dockerfile</dockerFile>
471 <tag>${project.version}</tag>
472 <tag>${project.version}-STAGING-${maven.build.timestamp}</tag>
473 <tag>${project.docker.latesttag.version}</tag>
481 <id>generate-images</id>
482 <phase>package</phase>
490 <phase>${docker.push.phase}</phase>