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