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