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