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