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