add a new profil for fast build
[sdc.git] / test-apis-ci / 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
7   <artifactId>test-apis-ci</artifactId>
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   <properties>
16     <sonar.skip>true</sonar.skip>
17     <mockserver.netty.version>5.5.4</mockserver.netty.version>
18   </properties>
19
20   <dependencies>
21     <dependency>
22       <groupId>com.google.guava</groupId>
23       <artifactId>guava</artifactId>
24       <version>${guava.version}</version>
25       <scope>compile</scope>
26     </dependency>
27
28     <dependency>
29       <groupId>junit</groupId>
30       <artifactId>junit</artifactId>
31       <version>${junit.version}</version>
32       <scope>compile</scope>
33     </dependency>
34
35       <dependency>
36           <groupId>org.junit.jupiter</groupId>
37           <artifactId>junit-jupiter</artifactId>
38           <version>${junitJupiter.version}</version>
39           <scope>test</scope>
40       </dependency>
41
42       <dependency>
43           <groupId>org.mockito</groupId>
44           <artifactId>mockito-junit-jupiter</artifactId>
45           <version>${mockitoJupiter.version}</version>
46           <scope>test</scope>
47       </dependency>
48
49     <dependency>
50       <groupId>org.assertj</groupId>
51       <artifactId>assertj-core</artifactId>
52     </dependency>
53
54     <dependency>
55       <groupId>org.hamcrest</groupId>
56       <artifactId>hamcrest-all</artifactId>
57       <version>${hamcrest-all.version}</version>
58       <scope>test</scope>
59     </dependency>
60     <dependency>
61       <groupId>org.testng</groupId>
62       <artifactId>testng</artifactId>
63       <version>${testng.version}</version>
64       <scope>compile</scope>
65     </dependency>
66
67     <dependency>
68       <groupId>com.aventstack</groupId>
69       <artifactId>extentreports</artifactId>
70       <version>3.0.6</version>
71       <scope>compile</scope>
72     </dependency>
73
74     <dependency>
75       <groupId>org.mockito</groupId>
76       <artifactId>mockito-core</artifactId>
77       <scope>test</scope>
78     </dependency>
79
80     <dependency>
81       <groupId>com.typesafe</groupId>
82       <artifactId>config</artifactId>
83       <version>1.0.2</version>
84       <scope>compile</scope>
85     </dependency>
86
87     <dependency>
88       <groupId>log4j</groupId>
89       <artifactId>log4j</artifactId>
90       <version>1.2.17</version>
91       <scope>compile</scope>
92     </dependency>
93
94     <dependency>
95       <groupId>com.jcraft.jsch</groupId>
96       <artifactId>com.springsource.com.jcraft.jsch</artifactId>
97       <version>0.1.41</version>
98       <scope>compile</scope>
99     </dependency>
100
101     <dependency>
102       <groupId>org.openecomp.sdc</groupId>
103       <artifactId>common-app-api</artifactId>
104       <version>${project.version}</version>
105     </dependency>
106
107     <dependency>
108       <groupId>org.openecomp.sdc.be</groupId>
109       <artifactId>common-be</artifactId>
110       <version>${project.version}</version>
111     </dependency>
112
113     <!-- CHECK CATLOG MODEL -->
114     <dependency>
115       <groupId>org.openecomp.sdc.be</groupId>
116       <artifactId>catalog-model</artifactId>
117       <version>${project.version}</version>
118     </dependency>
119
120     <!-- catalog dao -->
121     <dependency>
122       <groupId>org.openecomp.sdc.be</groupId>
123       <artifactId>catalog-dao</artifactId>
124       <version>${project.version}</version>
125     </dependency>
126     <!-- functional java -->
127     <dependency>
128       <groupId>org.functionaljava</groupId>
129       <artifactId>functionaljava</artifactId>
130       <version>${functionaljava.version}</version>
131       <scope>compile</scope>
132     </dependency>
133     <!-- CASSANDRA -->
134     <dependency>
135       <groupId>com.datastax.cassandra</groupId>
136       <artifactId>cassandra-driver-core</artifactId>
137       <version>${cassandra.driver.version}</version>
138       <scope>compile</scope>
139     </dependency>
140     <!-- CASSANDRA END -->
141
142     <!-- slf4j + logback -->
143     <dependency>
144       <groupId>org.slf4j</groupId>
145       <artifactId>slf4j-api</artifactId>
146       <version>${slf4j-api.version}</version>
147       <scope>compile</scope>
148     </dependency>
149
150     <dependency>
151       <groupId>ch.qos.logback</groupId>
152       <artifactId>logback-classic</artifactId>
153       <version>${logback.version}</version>
154       <scope>compile</scope>
155     </dependency>
156
157     <dependency>
158       <groupId>ch.qos.logback</groupId>
159       <artifactId>logback-core</artifactId>
160       <version>${logback.version}</version>
161       <scope>compile</scope>
162     </dependency>
163
164     <dependency>
165       <groupId>com.googlecode.json-simple</groupId>
166       <artifactId>json-simple</artifactId>
167       <version>${json-simple.version}</version>
168       <scope>compile</scope>
169     </dependency>
170
171     <!-- File changes listener -->
172     <dependency>
173       <groupId>org.apache.commons</groupId>
174       <artifactId>commons-jci-core</artifactId>
175       <version>${commons-jci-core.version}</version>
176       <scope>compile</scope>
177     </dependency>
178
179     <dependency>
180       <groupId>commons-codec</groupId>
181       <artifactId>commons-codec</artifactId>
182       <version>${commons-codec}</version>
183       <scope>compile</scope>
184     </dependency>
185
186     <!-- Gson -->
187     <dependency>
188       <groupId>com.google.code.gson</groupId>
189       <artifactId>gson</artifactId>
190       <version>${gson.version}</version>
191       <scope>compile</scope>
192     </dependency>
193
194     <!-- Snake Yaml -->
195     <dependency>
196       <groupId>org.yaml</groupId>
197       <artifactId>snakeyaml</artifactId>
198       <version>${snakeyaml.version}</version>
199       <scope>compile</scope>
200     </dependency>
201
202     <!-- http client -->
203     <dependency>
204       <groupId>org.apache.httpcomponents</groupId>
205       <artifactId>httpclient</artifactId>
206       <version>${httpclient.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       <scope>compile</scope>
215     </dependency>
216
217     <dependency>
218       <groupId>commons-io</groupId>
219       <artifactId>commons-io</artifactId>
220       <version>2.5</version>
221       <scope>compile</scope>
222     </dependency>
223
224     <dependency>
225       <groupId>commons-logging</groupId>
226       <artifactId>commons-logging</artifactId>
227       <version>${commons-logging}</version>
228       <scope>compile</scope>
229     </dependency>
230
231     <!-- http core -->
232     <dependency>
233       <groupId>org.apache.httpcomponents</groupId>
234       <artifactId>httpcore</artifactId>
235       <version>${httpcore.version}</version>
236       <scope>compile</scope>
237     </dependency>
238
239     <dependency>
240       <groupId>org.janusgraph</groupId>
241       <artifactId>janusgraph-core</artifactId>
242       <version>${janusgraph.version}</version>
243       <scope>compile</scope>
244       <exclusions>
245         <exclusion>
246           <artifactId>slf4j-log4j12</artifactId>
247           <groupId>org.slf4j</groupId>
248         </exclusion>
249         <exclusion>
250           <artifactId>commons-collections</artifactId>
251           <groupId>commons-collections</groupId>
252         </exclusion>
253         <exclusion>
254           <artifactId>groovy</artifactId>
255           <groupId>org.codehaus.groovy</groupId>
256         </exclusion>
257         <exclusion>
258           <groupId>org.apache.thrift</groupId>
259           <artifactId>libthrift</artifactId>
260         </exclusion>
261       </exclusions>
262     </dependency>
263
264     <dependency>
265       <groupId>com.clearspring.analytics</groupId>
266       <artifactId>stream</artifactId>
267       <version>${clearspring.version}</version>
268     </dependency>
269     <dependency>
270       <groupId>org.janusgraph</groupId>
271       <artifactId>janusgraph-cql</artifactId>
272       <version>${janusgraph.version}</version>
273       <scope>compile</scope>
274       <exclusions>
275         <exclusion>
276           <groupId>org.slf4j</groupId>
277           <artifactId>slf4j-log4j12</artifactId>
278         </exclusion>
279         <exclusion>
280           <groupId>org.json</groupId>
281           <artifactId>json</artifactId>
282         </exclusion>
283         <exclusion>
284           <artifactId>commons-collections</artifactId>
285           <groupId>commons-collections</groupId>
286         </exclusion>
287         <exclusion>
288           <artifactId>groovy</artifactId>
289           <groupId>org.codehaus.groovy</groupId>
290         </exclusion>
291         <exclusion>
292           <groupId>io.netty</groupId>
293           <artifactId>netty-all</artifactId>
294         </exclusion>
295       </exclusions>
296     </dependency>
297
298     <dependency>
299       <groupId>org.codehaus.jackson</groupId>
300       <artifactId>jackson-mapper-asl</artifactId>
301       <version>1.9.2</version>
302       <scope>compile</scope>
303     </dependency>
304
305     <dependency>
306       <groupId>com.fasterxml.jackson.core</groupId>
307       <artifactId>jackson-databind</artifactId>
308       <version>${jackson.version}</version>
309       <exclusions>
310         <exclusion>
311           <groupId>com.fasterxml.jackson.core</groupId>
312           <artifactId>jackson-core</artifactId>
313         </exclusion>
314       </exclusions>
315     </dependency>
316
317     <dependency>
318       <groupId>com.fasterxml.jackson.core</groupId>
319       <artifactId>jackson-core</artifactId>
320       <version>${jackson.version}</version>
321       <scope>compile</scope>
322     </dependency>
323
324     <dependency>
325       <groupId>org.onap.portal.sdk</groupId>
326       <artifactId>epsdk-fw</artifactId>
327       <version>${ecomp.version}</version>
328       <scope>compile</scope>
329       <exclusions>
330         <exclusion>
331           <artifactId>slf4j-log4j12</artifactId>
332           <groupId>org.slf4j</groupId>
333         </exclusion>
334       </exclusions>
335     </dependency>
336
337     <dependency>
338       <groupId>org.json</groupId>
339       <artifactId>json</artifactId>
340       <version>20131018</version>
341     </dependency>
342
343     <dependency>
344       <groupId>org.onap.sdc.sdc-tosca</groupId>
345       <artifactId>sdc-tosca</artifactId>
346       <version>${sdc-tosca-parser.version}</version>
347     </dependency>
348
349     <dependency>
350       <groupId>io.cucumber</groupId>
351       <artifactId>cucumber-junit</artifactId>
352       <version>${cucumber.version}</version>
353       <scope>test</scope>
354     </dependency>
355
356     <dependency>
357       <groupId>io.cucumber</groupId>
358       <artifactId>cucumber-core</artifactId>
359       <version>${cucumber.version}</version>
360     </dependency>
361
362     <dependency>
363       <groupId>io.cucumber</groupId>
364       <artifactId>gherkin</artifactId>
365       <version>13.0.0</version>
366     </dependency>
367     <dependency>
368       <groupId>io.cucumber</groupId>
369       <artifactId>cucumber-java</artifactId>
370       <version>${cucumber.version}</version>
371       <scope>test</scope>
372     </dependency>
373
374     <dependency>
375       <groupId>io.cucumber</groupId>
376       <artifactId>cucumber-jvm-deps</artifactId>
377       <version>1.0.6</version>
378       <scope>provided</scope>
379     </dependency>
380
381     <dependency>
382       <groupId>org.mock-server</groupId>
383       <artifactId>mockserver-netty</artifactId>
384       <version>${mockserver.netty.version}</version>
385       <scope>test</scope>
386       <exclusions>
387         <exclusion>
388           <artifactId>commons-collections</artifactId>
389           <groupId>commons-collections</groupId>
390         </exclusion>
391       </exclusions>
392     </dependency>
393
394     <dependency>
395       <groupId>org.openecomp.sdc.sdc-distribution-client</groupId>
396       <artifactId>sdc-distribution-client</artifactId>
397       <version>1.2.2</version>
398       <scope>test</scope>
399     </dependency>
400
401     <!-- With TestNG -->
402     <dependency>
403       <groupId>io.cucumber</groupId>
404       <artifactId>cucumber-testng</artifactId>
405       <version>${cucumber.version}</version>
406     </dependency>
407
408     <!-- spring -->
409     <dependency>
410       <groupId>org.springframework</groupId>
411       <artifactId>spring-context</artifactId>
412       <version>${spring.version}</version>
413       <scope>compile</scope>
414     </dependency>
415
416     <!-- CASSANDRA -->
417     <dependency>
418       <groupId>com.datastax.cassandra</groupId>
419       <artifactId>cassandra-driver-mapping</artifactId>
420       <version>${cassandra.driver.version}</version>
421       <scope>compile</scope>
422     </dependency>
423     <!-- CASSANDRA END -->
424
425     <dependency>
426       <groupId>org.codehaus.groovy</groupId>
427       <artifactId>groovy</artifactId>
428     </dependency>
429
430     <dependency>
431       <groupId>io.netty</groupId>
432       <artifactId>netty-all</artifactId>
433     </dependency>
434
435     <dependency>
436       <groupId>io.netty</groupId>
437       <artifactId>netty-handler</artifactId>
438     </dependency>
439
440   </dependencies>
441
442   <build>
443     <plugins>
444       <plugin>
445         <groupId>org.apache.maven.plugins</groupId>
446         <artifactId>maven-clean-plugin</artifactId>
447         <executions>
448           <execution>
449             <id>clean.testsuit.folder</id>
450             <phase>clean</phase>
451             <goals>
452               <goal>clean</goal>
453             </goals>
454             <configuration>
455               <filesets>
456                 <!-- Sanity jar -->
457                 <fileset>
458                   <directory>${project.basedir}/sdc-api-tests</directory>
459                   <followSymlinks>false</followSymlinks>
460                   <includes>
461                     <include>*.jar</include>
462                   </includes>
463                 </fileset>
464                 <!-- Sanity test suites -->
465                 <fileset>
466                   <directory>
467                     ${project.basedir}/sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/files/default/testSuites
468                   </directory>
469                   <followSymlinks>false</followSymlinks>
470                 </fileset>
471               </filesets>
472             </configuration>
473           </execution>
474         </executions>
475       </plugin>
476
477       <plugin>
478         <groupId>org.apache.maven.plugins</groupId>
479         <artifactId>maven-deploy-plugin</artifactId>
480         <configuration>
481           <skip>true</skip>
482         </configuration>
483       </plugin>
484
485       <!-- ============================================= -->
486       <!-- Create the JAR file with its dependencies -->
487       <!-- ============================================= -->
488       <plugin>
489         <groupId>org.apache.maven.plugins</groupId>
490         <artifactId>maven-assembly-plugin</artifactId>
491         <executions>
492           <execution>
493             <id>create.jar.with.dependencies</id>
494             <phase>package</phase>
495             <goals>
496               <goal>single</goal>
497             </goals>
498             <configuration>
499               <archive>
500                 <manifest>
501                   <mainClass>org.openecomp.sdc.ci.tests.run.StartTest</mainClass>
502                 </manifest>
503               </archive>
504               <descriptorRefs>
505                 <descriptorRef>jar-with-dependencies</descriptorRef>
506               </descriptorRefs>
507             </configuration>
508           </execution>
509         </executions>
510       </plugin>
511       <plugin>
512         <groupId>com.github.sylvainlaurent.maven</groupId>
513         <artifactId>yaml-json-validator-maven-plugin</artifactId>
514         <executions>
515           <execution>
516             <id>validate</id>
517             <phase>validate</phase>
518             <goals>
519               <goal>validate</goal>
520             </goals>
521             <configuration>
522               <validationSets>
523                 <validationSet>
524                   <includes>
525                     <include>src/main/resources/**/*.y*ml</include>
526                     <include>src/test/resources/**/*.y*ml</include>
527                   </includes>
528                   <excludes>
529                     <exclude>
530                       src/test/resources/CI/tests/importToscaResourceByCreateUrl/occurencyFalure*.y*ml
531                     </exclude>
532                     <exclude>
533                       src/test/resources/CI/tests/importToscaResourceByCreateUrl/noContent*.y*ml
534                     </exclude>
535                     <exclude>src/test/resources/CI/tests/HeatDeploymentArtifacts/invalid*.y*ml
536                     </exclude>
537                   </excludes>
538                 </validationSet>
539                 <validationSet>
540                   <includes>
541                     <include>src/main/resources/**/*.json</include>
542                     <include>src/test/resources/**/*.json</include>
543                   </includes>
544                   <excludes>
545                     <exclude>src/test/resources/CI/tests/HeatDeploymentArtifacts/invalid*.json
546                     </exclude>
547                   </excludes>
548                 </validationSet>
549               </validationSets>
550               <skip>${skipYamlJsonValidator}</skip>
551             </configuration>
552           </execution>
553         </executions>
554       </plugin>
555     </plugins>
556   </build>
557   <profiles>
558     <profile>
559       <id>docker</id>
560       <activation>
561         <activeByDefault>false</activeByDefault>
562       </activation>
563       <build>
564         <plugins>
565           <plugin>
566             <groupId>org.apache.maven.plugins</groupId>
567             <artifactId>maven-resources-plugin</artifactId>
568             <executions>
569               <execution>
570                 <id>copy-tests-suites</id>
571                 <phase>verify</phase>
572                 <goals>
573                   <goal>copy-resources</goal>
574                 </goals>
575                 <configuration>
576                   <outputDirectory>
577                     sdc-api-tests/chef-repo/cookbooks/sdc-api-tests/files/default/testSuites
578                   </outputDirectory>
579                   <resources>
580                     <resource>
581                       <directory>
582                         ${project.parent.basedir}/test-apis-ci/src/main/resources/ci/testSuites
583                       </directory>
584                       <includes>
585                         <include>*</include>
586                       </includes>
587                     </resource>
588                   </resources>
589                 </configuration>
590               </execution>
591
592               <execution>
593                 <id>copy-resources-test-apis-ci</id>
594                 <phase>verify</phase>
595                 <goals>
596                   <goal>copy-resources</goal>
597                 </goals>
598                 <configuration>
599                   <outputDirectory>sdc-api-tests</outputDirectory>
600                   <resources>
601                     <resource>
602                       <directory>${project.parent.basedir}/test-apis-ci/target</directory>
603                       <includes>
604                         <include>test-apis-ci-${project.version}-jar-with-dependencies.jar</include>
605                       </includes>
606                     </resource>
607                   </resources>
608                 </configuration>
609               </execution>
610             </executions>
611           </plugin>
612
613           <plugin>
614             <groupId>io.fabric8</groupId>
615             <artifactId>docker-maven-plugin</artifactId>
616             <configuration>
617               <apiVersion>1.23</apiVersion>
618               <registry>nexus3.onap.org:10001</registry>
619               <authConfig>
620                 <pull>
621                   <username>docker</username>
622                   <password>docker</password>
623                 </pull>
624               </authConfig>
625               <images>
626                 <!-- Build sanity image -->
627                 <image>
628                   <name>onap/sdc-api-tests</name>
629                   <alias>sdc-api-tests</alias>
630                   <build>
631                     <cleanup>try</cleanup>
632                     <dockerFileDir>${project.basedir}/sdc-api-tests</dockerFileDir>
633                     <tags>
634                       <tag>${docker.tag}</tag>
635                       <tag>
636                         ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-latest
637                       </tag>
638                     </tags>
639                   </build>
640                 </image>
641               </images>
642             </configuration>
643             <executions>
644               <execution>
645                 <id>clean-images</id>
646                 <phase>pre-clean</phase>
647                 <goals>
648                   <goal>remove</goal>
649                 </goals>
650                 <configuration>
651                   <removeAll>true</removeAll>
652                   <image>onap/sdc-api-tests</image>
653                 </configuration>
654               </execution>
655
656               <execution>
657                 <id>generate-images</id>
658                 <phase>install</phase>
659                 <goals>
660                   <goal>build</goal>
661                 </goals>
662               </execution>
663
664               <execution>
665                 <id>push-images</id>
666                 <phase>deploy</phase>
667                 <goals>
668                   <goal>push</goal>
669                 </goals>
670                 <configuration>
671                   <image>onap/sdc-api-tests</image>
672                 </configuration>
673               </execution>
674             </executions>
675           </plugin>
676         </plugins>
677       </build>
678     </profile>
679   </profiles>
680
681 </project>