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