86685a3cec20959572b8c03025419c83d54c88f7
[sdnc/oam.git] / installation / sdnc / 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.sdnc.oam</groupId>
7         <artifactId>installation</artifactId>
8         <version>2.1.7-SNAPSHOT</version>
9     </parent>
10
11     <artifactId>installation-sdnc</artifactId>
12     <packaging>pom</packaging>
13
14     <name>sdnc-oam :: installation :: ${project.artifactId}</name>
15     <description>Creates SDN Controller Docker container</description>
16     <organization>
17         <name>ONAP</name>
18     </organization>
19
20     <properties>
21         <image.name>onap/sdnc-aaf-image</image.name>
22         <standalone.image.name>onap/sdnc-image</standalone.image.name>
23         <ccsdk.docker.version>${ccsdk.docker.odlsli.alpine.version}</ccsdk.docker.version>
24         <sdnc.keystore>org.onap.sdnc.p12</sdnc.keystore>
25         <sdnc.keypass><![CDATA[;:G58,7ZhqOSI:7^oZCY[9Dv]]></sdnc.keypass>
26         <sdnc.secureport>8443</sdnc.secureport>
27
28         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
29         <sdnc.build.timestamp>${maven.build.timestamp}</sdnc.build.timestamp>
30
31         <docker.buildArg.https_proxy>${https_proxy}</docker.buildArg.https_proxy>
32         <docker.autoCreateCustomNetworks>true</docker.autoCreateCustomNetworks>
33
34         <!-- SDNR Features Boot -->
35         <sdnr.features.boot>ccsdk-features-all</sdnr.features.boot>
36         <sdnr.features.repo>
37             mvn:org.onap.ccsdk.oran/a1-adapter-northbound/${ccsdk.oran.a1adapter.version}/xml/features,\
38             mvn:org.onap.ccsdk.features/ccsdk-features-all/${ccsdk.features.version}/xml/features,\
39             mvn:org.onap.ccsdk.features.sdnr.northbound/sdnr-northbound-all/${ccsdk.features.version}/xml/features,\
40             mvn:org.onap.ccsdk.features.sdnr.wt/sdnr-wt-feature-aggregator/${ccsdk.features.version}/xml/features,\
41             mvn:org.onap.ccsdk.features.sdnr.wt/sdnr-wt-feature-aggregator-oauth/${ccsdk.features.version}/xml/features,\
42             mvn:org.onap.ccsdk.features.sdnr.wt/sdnr-wt-feature-aggregator-devicemanager/${ccsdk.features.version}/xml/features,\
43             mvn:org.onap.ccsdk.features.sdnr.wt/sdnr-wt-feature-aggregator-devicemanager-base/${ccsdk.features.version}/xml/features
44         </sdnr.features.repo>
45
46         <!-- SDNC Features Boot -->
47         <sdnc.features.boot>sdnc-northbound-all</sdnc.features.boot>
48         <sdnc.features.repo>
49             mvn:org.onap.sdnc.northbound/sdnc-northbound-all/${sdnc.northbound.version}/xml/features
50         </sdnc.features.repo>
51     </properties>
52
53     <dependencies>
54         <dependency>
55             <groupId>org.onap.sdnc.northbound</groupId>
56             <artifactId>generic-resource-api-installer</artifactId>
57             <version>${sdnc.northbound.version}</version>
58             <type>zip</type>
59             <classifier>repo</classifier>
60         </dependency>
61         <dependency>
62             <groupId>org.onap.sdnc.northbound</groupId>
63             <artifactId>optical-service-installer</artifactId>
64             <version>${sdnc.northbound.version}</version>
65             <type>zip</type>
66             <classifier>repo</classifier>
67         </dependency>
68         <dependency>
69             <groupId>org.onap.sdnc.northbound</groupId>
70             <artifactId>vnftools-installer</artifactId>
71             <version>${sdnc.northbound.version}</version>
72             <type>zip</type>
73             <classifier>repo</classifier>
74         </dependency>
75         <dependency>
76             <groupId>org.onap.sdnc.northbound</groupId>
77             <artifactId>sdnc-northbound-features-installer</artifactId>
78             <version>${sdnc.northbound.version}</version>
79             <type>zip</type>
80             <classifier>repo</classifier>
81         </dependency>
82         <!-- SDNR Related Features : Start -->
83         <dependency>
84             <groupId>org.onap.ccsdk.features</groupId>
85             <artifactId>features-installer</artifactId>
86             <version>${ccsdk.features.version}</version>
87             <type>zip</type>
88             <classifier>repo</classifier>
89         </dependency>
90         <dependency>
91             <groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
92             <artifactId>sdnr-wt-feature-aggregator-installer</artifactId>
93             <version>${ccsdk.features.version}</version>
94             <type>zip</type>
95             <classifier>repo</classifier>
96         </dependency>
97         <dependency>
98             <groupId>org.onap.ccsdk.features</groupId>
99             <artifactId>aafshiro-installer</artifactId>
100             <version>${ccsdk.features.version}</version>
101             <type>zip</type>
102             <classifier>repo</classifier>
103         </dependency>
104         <dependency>
105             <groupId>org.onap.ccsdk.features.sdnr.northbound</groupId>
106             <artifactId>sdnr-northbound-features-installer</artifactId>
107             <version>${ccsdk.features.version}</version>
108             <type>zip</type>
109             <classifier>repo</classifier>
110         </dependency>
111         <dependency>
112             <groupId>org.onap.ccsdk.features.sdnr.northbound</groupId>
113             <artifactId>oofpcipoc-installer</artifactId>
114             <version>${ccsdk.features.version}</version>
115             <type>zip</type>
116             <classifier>repo</classifier>
117         </dependency>
118         <dependency>
119             <groupId>org.onap.ccsdk.features.sdnr.northbound</groupId>
120             <artifactId>CMNotify-installer</artifactId>
121             <version>${ccsdk.features.version}</version>
122             <type>zip</type>
123             <classifier>repo</classifier>
124         </dependency>
125         <dependency>
126             <groupId>org.onap.ccsdk.features.sdnr.northbound</groupId>
127             <artifactId>ranSlice-installer</artifactId>
128             <version>${ccsdk.features.version}</version>
129             <type>zip</type>
130             <classifier>repo</classifier>
131         </dependency>
132         <dependency>
133             <groupId>org.onap.ccsdk.oran</groupId>
134             <artifactId>a1-adapter-northbound-installer</artifactId>
135             <version>${ccsdk.oran.a1adapter.version}</version>
136             <type>zip</type>
137             <classifier>repo</classifier>
138         </dependency>
139         <dependency>
140             <groupId>org.onap.ccsdk.oran</groupId>
141             <artifactId>a1-adapter-installer</artifactId>
142             <version>${ccsdk.oran.a1adapter.version}</version>
143             <type>zip</type>
144             <classifier>repo</classifier>
145         </dependency>
146         <!-- SDNR Related Features : End -->
147     </dependencies>
148
149     <build>
150         <plugins>
151             <plugin>
152                 <groupId>org.codehaus.groovy.maven</groupId>
153                 <artifactId>gmaven-plugin</artifactId>
154                 <version>1.0</version>
155                 <executions>
156                     <execution>
157                         <phase>validate</phase>
158                         <goals>
159                             <goal>execute</goal>
160                         </goals>
161                         <configuration>
162                             <source>${basedir}/../TagVersion.groovy</source>
163                         </configuration>
164                     </execution>
165                 </executions>
166             </plugin>
167
168             <plugin>
169                 <groupId>io.fabric8</groupId>
170                 <artifactId>docker-maven-plugin</artifactId>
171                 <version>0.34.0</version>
172                 <inherited>false</inherited>
173                 <configuration>
174                     <images>
175                         <image>
176                             <name>${image.name}</name>
177                             <build>
178                                 <cleanup>try</cleanup>
179                                 <noCache>true</noCache>
180                                 <contextDir>${basedir}/target/docker-stage</contextDir>
181                                 <dockerFile>Dockerfile</dockerFile>
182                                 <args>
183                                     <AAF>true</AAF>
184                                 </args>
185                                 <tags>
186                                     <tag>${project.docker.latestminortag.version}</tag>
187                                     <tag>${project.docker.latestfulltag.version}</tag>
188                                     <tag>${project.docker.latesttagtimestamp.version}</tag>
189                                 </tags>
190                             </build>
191                         </image>
192                         <image>
193                             <name>${standalone.image.name}</name>
194                             <build>
195                                 <cleanup>try</cleanup>
196                                 <noCache>true</noCache>
197                                 <contextDir>${basedir}/target/docker-stage</contextDir>
198                                 <dockerFile>Dockerfile</dockerFile>
199                                 <args>
200                                     <AAF>false</AAF>
201                                 </args>
202                                 <tags>
203                                     <tag>${project.docker.latestminortag.version}</tag>
204                                     <tag>${project.docker.latestfulltag.version}</tag>
205                                     <tag>${project.docker.latesttagtimestamp.version}</tag>
206                                 </tags>
207                             </build>
208                         </image>
209                     </images>
210                     <verbose>${docker.verbose}</verbose>
211                     <skipPush>${docker.skip.push}</skipPush>
212                 </configuration>
213                 <executions>
214                     <execution>
215                         <id>build-push-images</id>
216                         <phase>${docker.push.phase}</phase>
217                         <goals>
218                             <goal>build</goal>
219                             <goal>push</goal>
220                         </goals>
221                     </execution>
222                 </executions>
223             </plugin>
224             <plugin>
225                 <artifactId>maven-resources-plugin</artifactId>
226                 <version>2.6</version>
227                 <executions>
228                     <execution>
229                         <id>copy-dockerfile</id>
230                         <goals>
231                             <goal>copy-resources</goal>
232                         </goals>
233                         <!-- here the phase you need -->
234                         <phase>validate</phase>
235                         <configuration>
236                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
237                             <resources>
238                                 <resource>
239                                     <directory>src/main/docker</directory>
240                                     <includes>
241                                         <include>Dockerfile</include>
242                                     </includes>
243                                     <filtering>true</filtering>
244                                 </resource>
245                             </resources>
246                         </configuration>
247                     </execution>
248                     <execution>
249                         <id>copy-scripts</id>
250                         <goals>
251                             <goal>copy-resources</goal>
252                         </goals>
253                         <!-- here the phase you need -->
254                         <phase>validate</phase>
255                         <configuration>
256                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/sdnc/bin</outputDirectory>
257                             <resources>
258                                 <resource>
259                                     <directory>src/main/scripts</directory>
260                                     <includes>
261                                         <include>*.py</include>
262                                         <include>*.sh</include>
263                                     </includes>
264                                     <filtering>true</filtering>
265                                 </resource>
266                             </resources>
267                         </configuration>
268                     </execution>
269                     <execution>
270                         <id>copy-tarballs</id>
271                         <goals>
272                             <goal>copy-resources</goal>
273                         </goals>
274                         <!-- here the phase you need -->
275                         <phase>validate</phase>
276                         <configuration>
277                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
278                             <resources>
279                                 <resource>
280                                     <directory>src/main/resources</directory>
281                                     <includes>
282                                         <include>idmlight.db.mv.db</include>
283                                         <include>truststoreONAPall.jks</include>
284                                         <include>aaa-app-config.xml</include>
285                                     </includes>
286                                     <filtering>false</filtering>
287                                 </resource>
288                             </resources>
289                         </configuration>
290                     </execution>
291                     <execution>
292                         <id>copy-data</id>
293                         <goals>
294                             <goal>copy-resources</goal>
295                         </goals>
296                         <!-- here the phase you need -->
297                         <phase>validate</phase>
298                         <configuration>
299                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/sdnc/data</outputDirectory>
300                             <resources>
301                                 <resource>
302                                     <directory>src/main/resources</directory>
303                                     <includes>
304                                         <include>*.dump</include>
305                                         <include>oauth-aaa-app-config.xml</include>
306                                     </includes>
307                                     <filtering>false</filtering>
308                                 </resource>
309                             </resources>
310                         </configuration>
311                     </execution>
312                     <execution>
313                         <id>copy-properties</id>
314                         <goals>
315                             <goal>copy-resources</goal>
316                         </goals>
317                         <!-- here the phase you need -->
318                         <phase>validate</phase>
319                         <configuration>
320                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/sdnc/data/properties</outputDirectory>
321                             <resources>
322                                 <resource>
323                                     <directory>../src/main/properties</directory>
324                                     <includes>
325                                         <include>*.properties</include>
326                                         <include>*.props</include>
327                                         <include>*.csv</include>
328                                     </includes>
329                                     <filtering>false</filtering>
330                                 </resource>
331                             </resources>
332                         </configuration>
333                     </execution>
334                     <execution>
335                         <id>copy-keystores</id>
336                         <goals>
337                             <goal>copy-resources</goal>
338                         </goals>
339                         <!-- here the phase you need -->
340                         <phase>validate</phase>
341                         <configuration>
342                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/sdnc/data/stores</outputDirectory>
343                             <resources>
344                                 <resource>
345                                     <directory>../src/main/stores</directory>
346                                     <includes>
347                                         <include>*.jks</include>
348                                         <include>*.keyfile</include>
349                                         <include>*.p12</include>
350                                     </includes>
351                                     <filtering>false</filtering>
352                                 </resource>
353                             </resources>
354                         </configuration>
355                     </execution>
356                 </executions>
357             </plugin>
358             <plugin>
359                 <groupId>org.apache.maven.plugins</groupId>
360                 <artifactId>maven-dependency-plugin</artifactId>
361                 <version>3.0.2</version>
362                 <executions>
363                     <execution>
364                         <id>unpack-sdnc-features</id>
365                         <phase>generate-sources</phase>
366                         <goals>
367                             <goal>unpack-dependencies</goal>
368                         </goals>
369                         <configuration>
370                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
371                             <excludeTransitive>true</excludeTransitive>
372                         </configuration>
373                     </execution>
374                     <execution>
375                         <id>unpack-platform-logic</id>
376                         <phase>generate-sources</phase>
377                         <goals>
378                             <goal>unpack</goal>
379                         </goals>
380                         <configuration>
381                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/sdnc</outputDirectory>
382                             <artifactItems>
383                                 <artifactItem>
384                                     <groupId>${project.groupId}</groupId>
385                                     <artifactId>platform-logic-installer</artifactId>
386                                     <version>${project.version}</version>
387                                     <type>zip</type>
388                                 </artifactItem>
389                             </artifactItems>
390                         </configuration>
391                     </execution>
392                     <execution>
393                         <id>unpack-data-migrator</id>
394                         <phase>generate-sources</phase>
395                         <goals>
396                             <goal>unpack</goal>
397                         </goals>
398                         <configuration>
399                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/sdnc/data-migrator</outputDirectory>
400                             <artifactItems>
401                                 <artifactItem>
402                                     <groupId>org.onap.sdnc.oam</groupId>
403                                     <artifactId>data-migrator</artifactId>
404                                     <version>${project.version}</version>
405                                     <type>zip</type>
406                                 </artifactItem>
407                             </artifactItems>
408                         </configuration>
409                     </execution>
410                 </executions>
411             </plugin>
412             <plugin>
413                 <groupId>org.apache.maven.plugins</groupId>
414                 <artifactId>maven-antrun-plugin</artifactId>
415                 <version>1.8</version>
416                 <executions>
417                     <execution>
418                         <id>change-shell-permissions</id>
419                         <phase>process-sources</phase>
420                         <configuration>
421                             <target>
422                                 <chmod dir="${basedir}/target/docker-stage/opt/onap/sdnc" perm="+x" includes="**/*.sh"/>
423                             </target>
424                         </configuration>
425                         <goals>
426                             <goal>run</goal>
427                         </goals>
428                     </execution>
429                 </executions>
430             </plugin>
431             <plugin>
432                 <groupId>org.apache.maven.plugins</groupId>
433                 <artifactId>maven-failsafe-plugin</artifactId>
434                 <executions>
435                     <execution>
436                         <goals>
437                             <goal>integration-test</goal>
438                             <goal>verify</goal>
439                         </goals>
440                     </execution>
441                 </executions>
442                 <configuration>
443                     <skipITs>false</skipITs>
444                     <environmentVariables>
445                         <SDNC_PORT>${sdnc.port}</SDNC_PORT>
446                     </environmentVariables>
447                 </configuration>
448             </plugin>
449         </plugins>
450     </build>
451 </project>