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