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