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>sliplugins-features-installer</artifactId>
174 <version>${ccsdk.sli.plugins.version}</version>
175 <classifier>repo</classifier>
183 <!-- this extension is required by wagon in order to pass the proxy -->
184 <groupId>org.apache.maven.wagon</groupId>
185 <artifactId>wagon-http-lightweight</artifactId>
186 <version>2.2</version>
193 <groupId>org.codehaus.groovy.maven</groupId>
194 <artifactId>gmaven-plugin</artifactId>
197 <phase>validate</phase>
203 println project.properties['ccsdk.project.version'];
205 if (project.properties['ccsdk.project.version'] != null ) {
206 versionArray = project.properties['ccsdk.project.version'].split('\\.');
209 if (project.properties['ccsdk.project.version'].endsWith("-SNAPSHOT"))
211 project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest";
213 project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest";
216 println 'New Tag for docker:' + project.properties['project.docker.latesttag.version'];
226 <artifactId>maven-resources-plugin</artifactId>
227 <version>2.6</version>
230 <id>copy-dockerfile</id>
232 <goal>copy-resources</goal>
233 </goals><!-- here the phase you need -->
234 <phase>validate</phase>
236 <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
239 <directory>src/main/docker</directory>
241 <include>Dockerfile</include>
243 <filtering>true</filtering>
250 <id>copy-scripts</id>
252 <goal>copy-resources</goal>
253 </goals><!-- here the phase you need -->
254 <phase>validate</phase>
256 <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/bin</outputDirectory>
259 <directory>src/main/scripts</directory>
261 <include>*.sh</include>
263 <filtering>false</filtering>
270 <id>copy-odl-resources</id>
272 <goal>copy-resources</goal>
273 </goals><!-- here the phase you need -->
274 <phase>validate</phase>
276 <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
279 <directory>src/main/resources</directory>
281 <include>idmlight.db.mv.db</include>
282 <include>org.ops4j.pax.logging.cfg</include>
283 <include>install_ccsdk.yml</include>
284 <include>ansible-sources.list</include>
286 <filtering>false</filtering>
294 <goal>copy-resources</goal>
295 </goals><!-- here the phase you need -->
296 <phase>validate</phase>
298 <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
301 <directory>src/main/resources</directory>
303 <include>org.ops4j.pax.logging.cfg</include>
305 <filtering>false</filtering>
313 <goal>copy-resources</goal>
314 </goals><!-- here the phase you need -->
315 <phase>validate</phase>
317 <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data</outputDirectory>
320 <directory>src/main/resources</directory>
322 <include>*.dump</include>
324 <filtering>false</filtering>
330 <id>copy-properties</id>
332 <goal>copy-resources</goal>
333 </goals><!-- here the phase you need -->
334 <phase>validate</phase>
336 <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data/properties</outputDirectory>
339 <directory>src/main/properties</directory>
341 <include>*.properties</include>
343 <filtering>false</filtering>
349 <id>copy-keystores</id>
351 <goal>copy-resources</goal>
352 </goals><!-- here the phase you need -->
353 <phase>validate</phase>
355 <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/data/stores</outputDirectory>
358 <directory>src/main/stores</directory>
360 <include>*.jks</include>
362 <filtering>false</filtering>
370 <groupId>org.apache.maven.plugins</groupId>
371 <artifactId>maven-dependency-plugin</artifactId>
372 <version>3.0.2</version>
375 <id>unpack features</id>
376 <phase>generate-sources</phase>
378 <goal>unpack-dependencies</goal>
381 <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
382 <excludeTransitive>true</excludeTransitive>
387 <phase>generate-sources</phase>
392 <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk</outputDirectory>
395 <groupId>${project.groupId}</groupId>
396 <artifactId>platform-logic-installer</artifactId>
397 <version>${project.version}</version>
406 <groupId>org.codehaus.mojo</groupId>
407 <artifactId>exec-maven-plugin</artifactId>
408 <version>1.5.0</version>
412 <id>change shell permissions</id>
413 <phase>process-sources</phase>
418 <executable>/usr/bin/find</executable>
420 <argument>${basedir}/target/docker-stage/opt/onap/ccsdk</argument>
421 <argument>-name</argument>
422 <argument>*.sh</argument>
423 <argument>-exec</argument>
424 <argument>chmod</argument>
425 <argument>+x</argument>
426 <argument>{}</argument>
427 <argument>;</argument>
444 <groupId>io.fabric8</groupId>
445 <artifactId>docker-maven-plugin</artifactId>
446 <version>0.16.5</version>
447 <inherited>false</inherited>
451 <name>${image.name}</name>
453 <cleanup>try</cleanup>
454 <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
455 <dockerFile>${basedir}/target/docker-stage/Dockerfile</dockerFile>
457 <tag>${project.version}</tag>
458 <tag>${project.version}-STAGING-${maven.build.timestamp}</tag>
459 <tag>${project.docker.latesttag.version}</tag>
467 <id>generate-images</id>
468 <phase>package</phase>
476 <phase>${docker.push.phase}</phase>