10342e192d0547dedbfd980f576885bd76744f7e
[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.4.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-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                         <goals>
217                             <goal>build</goal>
218                             <goal>push</goal>
219                         </goals>
220                     </execution>
221                 </executions>
222             </plugin>
223             <plugin>
224                 <artifactId>maven-resources-plugin</artifactId>
225                 <version>2.6</version>
226                 <executions>
227                     <execution>
228                         <id>copy-dockerfile</id>
229                         <goals>
230                             <goal>copy-resources</goal>
231                         </goals>
232                         <!-- here the phase you need -->
233                         <phase>validate</phase>
234                         <configuration>
235                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
236                             <resources>
237                                 <resource>
238                                     <directory>src/main/docker</directory>
239                                     <includes>
240                                         <include>Dockerfile</include>
241                                     </includes>
242                                     <filtering>true</filtering>
243                                 </resource>
244                             </resources>
245                         </configuration>
246                     </execution>
247                     <execution>
248                         <id>copy-scripts</id>
249                         <goals>
250                             <goal>copy-resources</goal>
251                         </goals>
252                         <!-- here the phase you need -->
253                         <phase>validate</phase>
254                         <configuration>
255                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/sdnc/bin</outputDirectory>
256                             <resources>
257                                 <resource>
258                                     <directory>src/main/scripts</directory>
259                                     <includes>
260                                         <include>*.py</include>
261                                         <include>*.sh</include>
262                                     </includes>
263                                     <filtering>true</filtering>
264                                 </resource>
265                             </resources>
266                         </configuration>
267                     </execution>
268                     <execution>
269                         <id>copy-tarballs</id>
270                         <goals>
271                             <goal>copy-resources</goal>
272                         </goals>
273                         <!-- here the phase you need -->
274                         <phase>validate</phase>
275                         <configuration>
276                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
277                             <resources>
278                                 <resource>
279                                     <directory>src/main/resources</directory>
280                                     <includes>
281                                         <include>idmlight.db.mv.db</include>
282                                         <include>truststoreONAPall.jks</include>
283                                         <include>aaa-app-config.xml</include>
284                                     </includes>
285                                     <filtering>false</filtering>
286                                 </resource>
287                             </resources>
288                         </configuration>
289                     </execution>
290                     <execution>
291                         <id>copy-data</id>
292                         <goals>
293                             <goal>copy-resources</goal>
294                         </goals>
295                         <!-- here the phase you need -->
296                         <phase>validate</phase>
297                         <configuration>
298                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/sdnc/data</outputDirectory>
299                             <resources>
300                                 <resource>
301                                     <directory>src/main/resources</directory>
302                                     <includes>
303                                         <include>*.dump</include>
304                                         <include>oauth-aaa-app-config.xml</include>
305                                     </includes>
306                                     <filtering>false</filtering>
307                                 </resource>
308                             </resources>
309                         </configuration>
310                     </execution>
311                     <execution>
312                         <id>copy-properties</id>
313                         <goals>
314                             <goal>copy-resources</goal>
315                         </goals>
316                         <!-- here the phase you need -->
317                         <phase>validate</phase>
318                         <configuration>
319                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/sdnc/data/properties</outputDirectory>
320                             <resources>
321                                 <resource>
322                                     <directory>../src/main/properties</directory>
323                                     <includes>
324                                         <include>*.properties</include>
325                                         <include>*.props</include>
326                                         <include>*.csv</include>
327                                     </includes>
328                                     <filtering>false</filtering>
329                                 </resource>
330                             </resources>
331                         </configuration>
332                     </execution>
333                     <execution>
334                         <id>copy-keystores</id>
335                         <goals>
336                             <goal>copy-resources</goal>
337                         </goals>
338                         <!-- here the phase you need -->
339                         <phase>validate</phase>
340                         <configuration>
341                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/sdnc/data/stores</outputDirectory>
342                             <resources>
343                                 <resource>
344                                     <directory>../src/main/stores</directory>
345                                     <includes>
346                                         <include>*.jks</include>
347                                         <include>*.keyfile</include>
348                                         <include>*.p12</include>
349                                     </includes>
350                                     <filtering>false</filtering>
351                                 </resource>
352                             </resources>
353                         </configuration>
354                     </execution>
355                 </executions>
356             </plugin>
357             <plugin>
358                 <groupId>org.apache.maven.plugins</groupId>
359                 <artifactId>maven-dependency-plugin</artifactId>
360                 <version>3.0.2</version>
361                 <executions>
362                     <execution>
363                         <id>unpack-sdnc-features</id>
364                         <phase>generate-sources</phase>
365                         <goals>
366                             <goal>unpack-dependencies</goal>
367                         </goals>
368                         <configuration>
369                             <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
370                             <excludeTransitive>true</excludeTransitive>
371                         </configuration>
372                     </execution>
373                     <execution>
374                         <id>unpack-platform-logic</id>
375                         <phase>generate-sources</phase>
376                         <goals>
377                             <goal>unpack</goal>
378                         </goals>
379                         <configuration>
380                             <outputDirectory>${basedir}/target/docker-stage/opt/onap/sdnc</outputDirectory>
381                             <artifactItems>
382                                 <artifactItem>
383                                     <groupId>${project.groupId}</groupId>
384                                     <artifactId>platform-logic-installer</artifactId>
385                                     <version>${project.version}</version>
386                                     <type>zip</type>
387                                 </artifactItem>
388                             </artifactItems>
389                         </configuration>
390                     </execution>
391                 </executions>
392             </plugin>
393             <plugin>
394                 <groupId>org.apache.maven.plugins</groupId>
395                 <artifactId>maven-antrun-plugin</artifactId>
396                 <version>1.8</version>
397                 <executions>
398                     <execution>
399                         <id>change-shell-permissions</id>
400                         <phase>process-sources</phase>
401                         <configuration>
402                             <target>
403                                 <chmod dir="${basedir}/target/docker-stage/opt/onap/sdnc" perm="+x" includes="**/*.sh"/>
404                             </target>
405                         </configuration>
406                         <goals>
407                             <goal>run</goal>
408                         </goals>
409                     </execution>
410                 </executions>
411             </plugin>
412             <plugin>
413                 <groupId>org.apache.maven.plugins</groupId>
414                 <artifactId>maven-failsafe-plugin</artifactId>
415                 <executions>
416                     <execution>
417                         <goals>
418                             <goal>integration-test</goal>
419                             <goal>verify</goal>
420                         </goals>
421                     </execution>
422                 </executions>
423                 <configuration>
424                     <skipITs>false</skipITs>
425                     <environmentVariables>
426                         <SDNC_PORT>${sdnc.port}</SDNC_PORT>
427                     </environmentVariables>
428                 </configuration>
429             </plugin>
430         </plugins>
431     </build>
432 </project>