Use integration-java11 Dockerfile
[sdc.git] / catalog-fe / pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0"
2   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4
5   <modelVersion>4.0.0</modelVersion>
6   <artifactId>catalog-fe</artifactId>
7   <packaging>war</packaging>
8
9   <parent>
10     <groupId>org.openecomp.sdc</groupId>
11     <artifactId>sdc-main</artifactId>
12     <version>1.9.0-SNAPSHOT</version>
13   </parent>
14
15   <dependencies>
16
17     <dependency>
18       <groupId>org.projectlombok</groupId>
19       <artifactId>lombok</artifactId>
20       <version>${lombok.version}</version>
21     </dependency>
22
23     <dependency>
24       <groupId>org.functionaljava</groupId>
25       <artifactId>functionaljava</artifactId>
26       <version>${functionaljava.version}</version>
27       <scope>compile</scope>
28     </dependency>
29     <dependency>
30       <groupId>org.onap.sdc.common</groupId>
31       <artifactId>onap-configuration-management-api</artifactId>
32       <version>${project.version}</version>
33     </dependency>
34     <dependency>
35       <groupId>org.openecomp.sdc</groupId>
36       <artifactId>common-app-api</artifactId>
37       <version>${project.version}</version>
38     </dependency>
39
40     <!-- File changes listener -->
41     <dependency>
42       <groupId>ch.qos.logback</groupId>
43       <artifactId>logback-classic</artifactId>
44       <version>${logback.version}</version>
45       <scope>compile</scope>
46     </dependency>
47
48     <dependency>
49       <groupId>org.codehaus.groovy</groupId>
50       <artifactId>groovy</artifactId>
51       <scope>compile</scope>
52     </dependency>
53
54     <dependency>
55       <groupId>org.codehaus.janino</groupId>
56       <artifactId>janino</artifactId>
57       <version>${janino.version}</version>
58       <scope>compile</scope>
59     </dependency>
60
61     <dependency>
62       <groupId>org.yaml</groupId>
63       <artifactId>snakeyaml</artifactId>
64       <version>${snakeyaml.version}</version>
65       <scope>compile</scope>
66     </dependency>
67
68     <dependency>
69       <groupId>org.apache.commons</groupId>
70       <artifactId>commons-jci-core</artifactId>
71       <version>${commons-jci-core.version}</version>
72       <scope>compile</scope>
73     </dependency>
74
75     <dependency>
76       <groupId>com.google.code.gson</groupId>
77       <artifactId>gson</artifactId>
78       <version>${gson.version}</version>
79       <scope>compile</scope>
80     </dependency>
81
82     <dependency>
83       <groupId>org.glassfish.jersey.containers</groupId>
84       <artifactId>jersey-container-servlet</artifactId>
85       <version>${jersey-bom.version}</version>
86       <scope>compile</scope>
87     </dependency>
88
89     <dependency>
90       <groupId>org.glassfish.jersey.media</groupId>
91       <artifactId>jersey-media-multipart</artifactId>
92       <version>${jersey-bom.version}</version>
93       <scope>compile</scope>
94     </dependency>
95
96     <dependency>
97       <groupId>org.glassfish.jersey.media</groupId>
98       <artifactId>jersey-media-moxy</artifactId>
99       <version>${jersey-bom.version}</version>
100       <scope>compile</scope>
101     </dependency>
102
103
104     <dependency>
105       <groupId>org.glassfish.jersey.media</groupId>
106       <artifactId>jersey-media-json-jackson</artifactId>
107       <version>${jersey-bom.version}</version>
108       <scope>compile</scope>
109     </dependency>
110
111     <dependency>
112       <groupId>org.glassfish.jersey.inject</groupId>
113       <artifactId>jersey-hk2</artifactId>
114       <version>${jersey-bom.version}</version>
115     </dependency>
116
117     <dependency>
118       <groupId>com.fasterxml.jackson.core</groupId>
119       <artifactId>jackson-core</artifactId>
120       <version>${jackson.version}</version>
121       <scope>compile</scope>
122     </dependency>
123
124     <dependency>
125       <groupId>com.fasterxml.jackson.core</groupId>
126       <artifactId>jackson-databind</artifactId>
127       <version>${jackson.version}</version>
128       <exclusions>
129         <exclusion>
130           <groupId>com.fasterxml.jackson.core</groupId>
131           <artifactId>jackson-core</artifactId>
132         </exclusion>
133       </exclusions>
134     </dependency>
135
136     <dependency>
137       <groupId>com.fasterxml.jackson.core</groupId>
138       <artifactId>jackson-annotations</artifactId>
139       <version>${jackson-annotations.version}</version>
140       <scope>compile</scope>
141     </dependency>
142
143     <!-- http client -->
144     <dependency>
145       <groupId>org.apache.httpcomponents</groupId>
146       <artifactId>httpclient</artifactId>
147       <version>${httpclient.version}</version>
148       <scope>compile</scope>
149     </dependency>
150
151     <dependency>
152       <groupId>org.apache.httpcomponents</groupId>
153       <artifactId>httpcore</artifactId>
154       <version>${httpcore.version}</version>
155       <scope>compile</scope>
156     </dependency>
157
158     <dependency>
159       <groupId>org.apache.httpcomponents</groupId>
160       <artifactId>httpmime</artifactId>
161       <version>${httpclient.version}</version>
162       <scope>compile</scope>
163     </dependency>
164
165     <dependency>
166       <groupId>commons-logging</groupId>
167       <artifactId>commons-logging</artifactId>
168       <version>${commons-logging}</version>
169       <scope>compile</scope>
170     </dependency>
171
172     <dependency>
173       <groupId>commons-codec</groupId>
174       <artifactId>commons-codec</artifactId>
175       <version>${commons-codec}</version>
176       <scope>compile</scope>
177     </dependency>
178     <!-- http client END -->
179
180     <dependency>
181       <groupId>javax.servlet</groupId>
182       <artifactId>javax.servlet-api</artifactId>
183       <version>${servlet-api.version}</version>
184       <scope>provided</scope>
185     </dependency>
186
187     <!-- JSON and YAML Parsing -->
188     <dependency>
189       <groupId>com.fasterxml.jackson.dataformat</groupId>
190       <artifactId>jackson-dataformat-yaml</artifactId>
191       <version>${jackson.version}</version>
192       <scope>compile</scope>
193     </dependency>
194
195     <!-- Jetty Proxy -->
196     <dependency>
197       <groupId>org.eclipse.jetty</groupId>
198       <artifactId>jetty-proxy</artifactId>
199       <version>${jetty.version}</version>
200       <scope>compile</scope>
201       <exclusions>
202         <exclusion>
203           <groupId>org.eclipse.jetty</groupId>
204           <artifactId>jetty-http</artifactId>
205         </exclusion>
206       </exclusions>
207     </dependency>
208
209     <dependency>
210       <groupId>org.eclipse.jetty</groupId>
211       <artifactId>jetty-servlets</artifactId>
212       <version>${jetty.version}</version>
213       <scope>compile</scope>
214       <exclusions>
215         <exclusion>
216           <groupId>org.eclipse.jetty</groupId>
217           <artifactId>jetty-http</artifactId>
218         </exclusion>
219       </exclusions>
220     </dependency>
221
222     <!-- Proxy servlet -->
223     <dependency>
224       <groupId>com.google.guava</groupId>
225       <artifactId>guava</artifactId>
226       <version>${guava.version}</version>
227       <scope>compile</scope>
228     </dependency>
229
230     <!-- Aspects -->
231     <dependency>
232       <groupId>com.jcabi</groupId>
233       <artifactId>jcabi-aspects</artifactId>
234       <version>${jcabi.version}</version>
235       <scope>compile</scope>
236     </dependency>
237     <dependency>
238       <groupId>org.aspectj</groupId>
239       <artifactId>aspectjrt</artifactId>
240       <version>${aspectjrt.version}</version>
241       <scope>compile</scope>
242     </dependency>
243
244     <dependency>
245       <groupId>org.apache.commons</groupId>
246       <artifactId>commons-lang3</artifactId>
247       <version>${lang3.version}</version>
248       <scope>compile</scope>
249     </dependency>
250
251         <dependency>
252             <groupId>javax.xml.bind</groupId>
253             <artifactId>jaxb-api</artifactId>
254             <version>${jaxb-api.version}</version>
255             <scope>compile</scope>
256         </dependency>
257
258         <!-- Inserted for ECOMP Portal Integration -->
259         <dependency>
260             <groupId>org.owasp.esapi</groupId>
261             <artifactId>esapi</artifactId>
262             <version>2.2.0.0</version>
263           <exclusions>
264             <exclusion>
265               <groupId>log4j</groupId>
266               <artifactId>log4j</artifactId>
267             </exclusion>
268           </exclusions>
269         </dependency>
270         <dependency>
271             <groupId>org.onap.portal.sdk</groupId>
272             <artifactId>epsdk-fw</artifactId>
273             <version>${ecomp.version}</version>
274             <scope>compile</scope>
275             <exclusions>
276                 <exclusion>
277                     <groupId>com.att.nsa</groupId>
278                     <artifactId>cambriaClient</artifactId>
279                 </exclusion>
280                 <exclusion>
281                     <artifactId>slf4j-log4j12</artifactId>
282                     <groupId>org.slf4j</groupId>
283                 </exclusion>
284                 <exclusion>
285                     <artifactId>log4j</artifactId>
286                     <groupId>log4j</groupId>
287                 </exclusion>
288             </exclusions>
289         </dependency>
290         <!-- System metrics -->
291         <dependency>
292             <groupId>org.fusesource</groupId>
293             <artifactId>sigar</artifactId>
294             <version>${sigar.version}</version>
295             <scope>compile</scope>
296             <exclusions>
297                 <exclusion>
298                     <groupId>log4j</groupId>
299                     <artifactId>log4j</artifactId>
300                 </exclusion>
301             </exclusions>
302         </dependency>
303
304     <!-- TEST -->
305     <dependency>
306       <groupId>org.glassfish.jersey.test-framework.providers</groupId>
307       <artifactId>jersey-test-framework-provider-bundle</artifactId>
308       <version>${jersey-bom.version}</version>
309       <type>pom</type>
310       <scope>test</scope>
311       <exclusions>
312         <exclusion>
313           <groupId>org.eclipse.jetty</groupId>
314           <artifactId>jetty-server</artifactId>
315         </exclusion>
316         <exclusion>
317           <groupId>org.eclipse.jetty</groupId>
318           <artifactId>jetty-continuation</artifactId>
319         </exclusion>
320       </exclusions>
321     </dependency>
322
323     <dependency>
324       <groupId>com.google.code.bean-matchers</groupId>
325       <artifactId>bean-matchers</artifactId>
326       <version>${bean-matchers.version}</version>
327       <scope>test</scope>
328     </dependency>
329
330     <dependency>
331       <groupId>org.eclipse.jetty</groupId>
332       <artifactId>jetty-servlet</artifactId>
333       <version>${jetty.version}</version>
334       <scope>test</scope>
335       <exclusions>
336         <exclusion>
337           <groupId>org.eclipse.jetty</groupId>
338           <artifactId>jetty-server</artifactId>
339         </exclusion>
340       </exclusions>
341     </dependency>
342
343     <dependency>
344       <groupId>org.eclipse.jetty</groupId>
345       <artifactId>jetty-webapp</artifactId>
346       <version>${jetty.version}</version>
347       <scope>test</scope>
348       <exclusions>
349         <exclusion>
350           <groupId>org.eclipse.jetty</groupId>
351           <artifactId>jetty-servlet</artifactId>
352         </exclusion>
353       </exclusions>
354     </dependency>
355     <dependency>
356       <groupId>org.eclipse.jetty</groupId>
357       <artifactId>jetty-http</artifactId>
358       <version>${jetty.version}</version>
359     </dependency>
360
361   </dependencies>
362
363   <build>
364
365     <finalName>${project.artifactId}-${project.version}</finalName>
366
367     <plugins>
368       <plugin>
369         <groupId>org.apache.maven.plugins</groupId>
370         <artifactId>maven-war-plugin</artifactId>
371         <configuration>
372           <archive>
373             <manifest>
374               <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
375             </manifest>
376           </archive>
377
378           <webResources>
379             <resource>
380               <directory>src/main/resources</directory>
381             </resource>
382           </webResources>
383         </configuration>
384       </plugin>
385
386       <plugin>
387         <groupId>org.eclipse.jetty</groupId>
388         <artifactId>jetty-maven-plugin</artifactId>
389         <version>${jetty.version}</version>
390         <configuration>
391           <webApp>
392             <contextPath>/</contextPath>
393             <webInfIncludeJarPattern>.*/.*jersey-[^/]\.jar$</webInfIncludeJarPattern>
394           </webApp>
395           <war>${project.build.directory}/${project.build.finalName}.war</war>
396         </configuration>
397       </plugin>
398
399       <plugin>
400         <groupId>org.apache.maven.plugins</groupId>
401         <artifactId>maven-deploy-plugin</artifactId>
402         <configuration>
403           <skip>true</skip>
404         </configuration>
405       </plugin>
406
407       <plugin>
408         <groupId>com.jcabi</groupId>
409         <artifactId>jcabi-maven-plugin</artifactId>
410         <version>${jcabi.maven.plugin.version}</version>
411         <dependencies>
412             <dependency>
413                 <groupId>org.aspectj</groupId>
414                 <artifactId>aspectjtools</artifactId>
415                 <version>1.9.2</version>
416             </dependency>
417             <dependency>
418                 <groupId>org.aspectj</groupId>
419                 <artifactId>aspectjweaver</artifactId>
420                 <version>1.9.2</version>
421             </dependency>
422         </dependencies>
423         <executions>
424           <execution>
425             <goals>
426               <goal>ajc</goal>
427             </goals>
428           </execution>
429         </executions>
430       </plugin>
431       <plugin>
432         <groupId>org.apache.maven.plugins</groupId>
433         <artifactId>maven-clean-plugin</artifactId>
434         <executions>
435           <execution>
436             <id>clean.catalog.fe.folder</id>
437             <phase>clean</phase>
438             <goals>
439               <goal>clean</goal>
440             </goals>
441             <configuration>
442               <filesets>
443                 <!-- FE WAR's -->
444                 <fileset>
445                   <directory>${project.parent.basedir}/catalog-fe/sdc-frontend/</directory>
446                   <followSymlinks>false</followSymlinks>
447                   <includes>
448                     <include>*.war</include>
449                   </includes>
450                 </fileset>
451               </filesets>
452             </configuration>
453           </execution>
454         </executions>
455       </plugin>
456       <plugin>
457         <groupId>com.github.sylvainlaurent.maven</groupId>
458         <artifactId>yaml-json-validator-maven-plugin</artifactId>
459         <executions>
460           <execution>
461             <id>validate</id>
462             <phase>validate</phase>
463             <goals>
464               <goal>validate</goal>
465             </goals>
466             <configuration>
467               <validationSets>
468                 <validationSet>
469                   <includes>
470                     <include>src/main/resources/**/*.y*ml</include>
471                     <include>src/test/resources/**/*.y*ml</include>
472                   </includes>
473                 </validationSet>
474                 <validationSet>
475                   <includes>
476                     <include>src/main/resources/**/*.json</include>
477                     <include>src/test/resources/**/*.json</include>
478                   </includes>
479                 </validationSet>
480               </validationSets>
481               <skip>${skipYamlJsonValidator}</skip>
482             </configuration>
483           </execution>
484         </executions>
485       </plugin>
486
487     </plugins>
488
489     <pluginManagement>
490       <plugins>
491         <!--This plugin's configuration is used to store Eclipse m2e settings
492           only. It has no influence on the Maven build itself. -->
493         <plugin>
494           <groupId>org.eclipse.m2e</groupId>
495           <artifactId>lifecycle-mapping</artifactId>
496           <version>1.0.0</version>
497           <configuration>
498             <lifecycleMappingMetadata>
499               <pluginExecutions>
500
501                 <pluginExecution>
502                   <pluginExecutionFilter>
503                     <groupId>com.jcabi</groupId>
504                     <artifactId>jcabi-maven-plugin</artifactId>
505                     <versionRange>[0.0,)</versionRange>
506                     <goals>
507                       <goal>ajc</goal>
508                     </goals>
509                   </pluginExecutionFilter>
510                   <action>
511                     <execute/>
512                   </action>
513                 </pluginExecution>
514
515               </pluginExecutions>
516             </lifecycleMappingMetadata>
517           </configuration>
518         </plugin>
519
520         <!-- jacbi (log injection) -->
521
522       </plugins>
523     </pluginManagement>
524
525   </build>
526
527   <profiles>
528     <profile>
529       <id>catalog</id>
530       <activation>
531         <activeByDefault>false</activeByDefault>
532       </activation>
533
534       <build>
535         <finalName>${project.artifactId}-${project.version}</finalName>
536       </build>
537     </profile>
538     <profile>
539       <id>docker</id>
540       <activation>
541         <activeByDefault>false</activeByDefault>
542       </activation>
543       <properties>
544         <docker.username>docker</docker.username>
545         <docker.password>docker</docker.password>
546       </properties>
547       <build>
548         <plugins>
549           <plugin>
550             <groupId>org.apache.maven.plugins</groupId>
551             <artifactId>maven-resources-plugin</artifactId>
552             <executions>
553               <execution>
554                 <id>copy-resources-fe</id>
555                 <phase>verify</phase>
556                 <goals>
557                   <goal>copy-resources</goal>
558                 </goals>
559                 <configuration>
560                   <outputDirectory>${basedir}/sdc-frontend</outputDirectory>
561                   <resources>
562                     <resource>
563                       <directory>${project.parent.basedir}/catalog-fe/target</directory>
564                       <includes>
565                         <include>catalog-fe-${project.version}.war</include>
566                       </includes>
567                     </resource>
568                     <resource>
569                       <directory>${project.parent.basedir}/openecomp-ui/target</directory>
570                       <includes>
571                         <include>onboarding-fe-${project.version}.war</include>
572                       </includes>
573                     </resource>
574                   </resources>
575                 </configuration>
576               </execution>
577             </executions>
578           </plugin>
579           <plugin>
580             <groupId>io.fabric8</groupId>
581             <artifactId>docker-maven-plugin</artifactId>
582             <configuration>
583               <verbose>${verbose}</verbose>
584               <apiVersion>${docker.api.version}</apiVersion>
585               <registry>nexus3.onap.org:10001</registry>
586               <authConfig>
587                 <pull>
588                   <username>${docker.username}</username>
589                   <password>${docker.password}</password>
590                 </pull>
591               </authConfig>
592               <images>
593
594                 <!-- Build frontend image -->
595                 <image>
596                   <name>onap/sdc-frontend</name>
597                   <alias>sdc-frontend</alias>
598                   <build>
599                     <cleanup>try</cleanup>
600                     <dockerFileDir>${project.basedir}/sdc-frontend</dockerFileDir>
601                     <tags>
602                       <tag>latest</tag>
603                       <tag>
604                         ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-latest
605                       </tag>
606                       <tag>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-${maven.build.timestamp}</tag>
607                     </tags>
608                   </build>
609                 </image>
610               </images>
611             </configuration>
612             <executions>
613               <execution>
614                 <id>clean-images</id>
615                 <phase>pre-clean</phase>
616                 <goals>
617                   <goal>remove</goal>
618                 </goals>
619                 <configuration>
620                   <removeAll>true</removeAll>
621                   <image>onap/sdc-frontend</image>
622                 </configuration>
623               </execution>
624
625               <execution>
626                 <id>generate-images</id>
627                 <phase>install</phase>
628                 <goals>
629                   <goal>build</goal>
630                 </goals>
631               </execution>
632
633               <execution>
634                 <id>push-images</id>
635                 <phase>deploy</phase>
636                 <goals>
637                   <goal>push</goal>
638                 </goals>
639                 <configuration>
640                   <image>onap/sdc-frontend</image>
641                 </configuration>
642               </execution>
643             </executions>
644           </plugin>
645         </plugins>
646       </build>
647     </profile>
648   </profiles>
649 </project>