Merge "Add architecture and release notes structure"
[clamp.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ============LICENSE_START=======================================================
4   ONAP CLAMP
5   ================================================================================
6   Copyright (C) 2017 AT&T Intellectual Property. All rights
7                               reserved.
8   ================================================================================
9   Licensed under the Apache License, Version 2.0 (the "License");
10   you may not use this file except in compliance with the License.
11   You may obtain a copy of the License at
12
13   http://www.apache.org/licenses/LICENSE-2.0
14
15   Unless required by applicable law or agreed to in writing, software
16   distributed under the License is distributed on an "AS IS" BASIS,
17   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18   See the License for the specific language governing permissions and
19   limitations under the License.
20   ============LICENSE_END============================================
21   ===================================================================
22   ECOMP is a trademark and service mark of AT&T Intellectual Property.
23 -->
24
25 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
26   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
27   <modelVersion>4.0.0</modelVersion>
28   <groupId>org.onap.clamp</groupId>
29   <artifactId>clds</artifactId>
30   <version>1.1.0-SNAPSHOT</version>
31   <name>clamp</name>
32
33   <parent>
34     <groupId>org.onap.oparent</groupId>
35     <artifactId>oparent</artifactId>
36     <version>1.0.0-SNAPSHOT</version>
37   </parent>
38
39   <description>
40            This project build the ONAP CLAMP JAR that contains AJSC + CLAMP code.
41
42            By Default "mvn clean install" command will execute also the unit tests
43            and the integration tests. The integration tests require a docker engine running.
44
45            If you want to skip the intergation test you can by doing:
46            "mvn clean install -DskipITs=true"
47
48            For Spring it's possible to specify the application.properties location
49            "mvn clean install -Dspring.config.location=classpath:application-test.properties"
50
51            The application.properties contains the location of the CLAMP parameters files:
52                 - org.onap.clamp.config.files.cldsReference=classpath:/clds/clds-reference.properties
53                 - org.onap.clamp.config.files.cldsPolicyConfig=classpath:/clds/clds-policy-config.properties
54                 - org.onap.clamp.config.files.cldsUsers=classpath:/clds/clds-users.json
55                 - org.onap.clamp.config.files.globalClds=classpath:/clds/globalClds.properties
56
57     </description>
58
59   <properties>
60     <maven.build.timestamp.format>yyyy.MM.dd'T'hh.mm.ss'Z'</maven.build.timestamp.format>
61     <clamp.project.version>${project.version}</clamp.project.version>
62     <clamp.build.timestamp>${maven.build.timestamp}</clamp.build.timestamp>
63     <maven.compiler.source>1.8</maven.compiler.source>
64     <maven.compiler.target>1.8</maven.compiler.target>
65     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
66     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
67
68     <docker.mariadb.port.host>3306</docker.mariadb.port.host>
69     <sdk.java.common.logging>0.0.3-oss</sdk.java.common.logging>
70     <project.scm.id>git-server</project.scm.id>
71     <java.version>1.8</java.version>
72     <csi.logging>6.1.0.6-oss</csi.logging>
73     <sdk.camel.rest>6.2.0.6-oss</sdk.camel.rest>
74     <sdk.camunda.core>6.1.0.3-oss</sdk.camunda.core>
75
76     <sonar.language>java</sonar.language>
77     <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
78     <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
79     <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
80     <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>
81     <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
82     <sonar.projectVersion>${project.version}</sonar.projectVersion>
83
84     <docker.push.registry>localhost:5000</docker.push.registry>
85     <skip.docker.build>true</skip.docker.build>
86     <skip.docker.push>true</skip.docker.push>
87     <skip.staging.artifacts>false</skip.staging.artifacts>
88   </properties>
89
90   <distributionManagement>
91     <repository>
92       <id>ecomp-releases</id>
93       <name>Clamp Release Repository</name>
94       <url>https://nexus.onap.org/content/repositories/releases/</url>
95     </repository>
96     <snapshotRepository>
97       <id>ecomp-snapshots</id>
98       <name>Clamp Snapshot Repository</name>
99       <url>https://nexus.onap.org/content/repositories/snapshots/</url>
100     </snapshotRepository>
101     <site>
102       <id>ecomp-site</id>
103       <url>dav:https://nexus.onap.org/content/sites/site/org/onap/clamp/${project.version}</url>
104     </site>
105   </distributionManagement>
106
107   <repositories>
108     <repository>
109       <id>central</id>
110       <name>Maven 2 repository 2</name>
111       <url>http://repo2.maven.org/maven2/</url>
112     </repository>
113     <repository>
114       <id>ecomp-releases</id>
115       <name>ONAP Release Repository</name>
116       <url>https://nexus.onap.org/content/repositories/releases/</url>
117     </repository>
118     <repository>
119       <id>ecomp-staging</id>
120       <name>ONAP Staging Repository</name>
121       <url>https://nexus.onap.org/content/repositories/staging/</url>
122     </repository>
123     <repository>
124       <id>ecomp-snapshots</id>
125       <name>ONAP Snapshot Repository</name>
126       <url>https://nexus.onap.org/content/repositories/snapshots/</url>
127       <snapshots>
128         <enabled>true</enabled>
129       </snapshots>
130       <releases>
131         <enabled>false</enabled>
132       </releases>
133     </repository>
134     <repository>
135       <id>spring-repo</id>
136       <name>Spring repo</name>
137       <url>https://artifacts.alfresco.com/nexus/content/repositories/public/</url>
138     </repository>
139     <repository>
140       <id>repository.jboss.org-public</id>
141       <name>JBoss.org Maven repository</name>
142       <url>https://repository.jboss.org/nexus/content/groups/public</url>
143     </repository>
144   </repositories>
145
146   <dependencyManagement>
147     <dependencies>
148       <dependency>
149         <!-- Import dependency management from Spring Boot -->
150         <groupId>org.springframework.boot</groupId>
151         <artifactId>spring-boot-dependencies</artifactId>
152         <version>1.4.1.RELEASE</version>
153         <type>pom</type>
154         <scope>import</scope>
155       </dependency>
156     </dependencies>
157   </dependencyManagement>
158
159   <dependencies>
160
161     <dependency>
162       <groupId>com.googlecode.json-simple</groupId>
163       <artifactId>json-simple</artifactId>
164       <version>1.1</version>
165     </dependency>
166     <dependency>
167       <groupId>org.apache.commons</groupId>
168       <artifactId>commons-vfs2</artifactId>
169       <version>2.0</version>
170     </dependency>
171
172     <dependency>
173       <groupId>org.springframework.security</groupId>
174       <artifactId>spring-security-test</artifactId>
175
176       <scope>test</scope>
177     </dependency>
178
179
180     <!-- Dependencies of parent pom start -->
181     <dependency>
182       <groupId>com.att.ajsc</groupId>
183       <artifactId>sdk-java-common-logging</artifactId>
184       <version>${sdk.java.common.logging}</version>
185     </dependency>
186     <dependency>
187       <groupId>org.springframework.boot</groupId>
188       <artifactId>spring-boot-starter-tomcat</artifactId>
189       <scope>compile</scope>
190     </dependency>
191     <dependency>
192       <groupId>org.springframework.boot</groupId>
193       <artifactId>spring-boot-starter-actuator</artifactId>
194     </dependency>
195     <dependency>
196       <groupId>org.springframework.boot</groupId>
197       <artifactId>spring-boot-starter-security</artifactId>
198     </dependency>
199     <dependency>
200       <groupId>org.springframework.boot</groupId>
201       <artifactId>spring-boot-starter-test</artifactId>
202       <scope>test</scope>
203     </dependency>
204     <dependency>
205       <groupId>joda-time</groupId>
206       <artifactId>joda-time</artifactId>
207     </dependency>
208     <dependency>
209       <groupId>org.springframework</groupId>
210       <artifactId>spring-context</artifactId>
211     </dependency>
212     <dependency>
213       <groupId>org.slf4j</groupId>
214       <artifactId>slf4j-api</artifactId>
215     </dependency>
216     <dependency>
217       <groupId>javax.ws.rs</groupId>
218       <artifactId>javax.ws.rs-api</artifactId>
219       <version>2.0</version>
220     </dependency>
221     <dependency>
222       <groupId>org.springframework</groupId>
223       <artifactId>spring-test</artifactId>
224     </dependency>
225     <dependency>
226       <groupId>junit</groupId>
227       <artifactId>junit</artifactId>
228     </dependency>
229     <dependency>
230       <groupId>org.mockito</groupId>
231       <artifactId>mockito-all</artifactId>
232       <version>1.9.5</version>
233     </dependency>
234     <dependency>
235       <groupId>commons-logging</groupId>
236       <artifactId>commons-logging</artifactId>
237       <version>1.1.1</version>
238     </dependency>
239     <dependency>
240       <groupId>org.springframework</groupId>
241       <artifactId>spring-aspects</artifactId>
242     </dependency>
243     <dependency>
244       <groupId>com.fasterxml.jackson.core</groupId>
245       <artifactId>jackson-core</artifactId>
246     </dependency>
247     <dependency>
248       <groupId>com.fasterxml.jackson.core</groupId>
249       <artifactId>jackson-databind</artifactId>
250     </dependency>
251     <dependency>
252       <groupId>org.springframework</groupId>
253       <artifactId>spring-webmvc</artifactId>
254     </dependency>
255     <dependency>
256       <groupId>org.springframework.boot</groupId>
257       <artifactId>spring-boot-starter-web</artifactId>
258     </dependency>
259     <dependency>
260       <groupId>log4j</groupId>
261       <artifactId>log4j</artifactId>
262       <version>1.2.17</version>
263     </dependency>
264     <dependency>
265       <groupId>org.springframework.boot</groupId>
266       <artifactId>spring-boot</artifactId>
267     </dependency>
268     <dependency>
269       <groupId>org.springframework.boot</groupId>
270       <artifactId>spring-boot-autoconfigure</artifactId>
271     </dependency>
272     <dependency>
273       <groupId>javax.transaction</groupId>
274       <artifactId>jta</artifactId>
275       <version>1.1</version>
276     </dependency>
277     <dependency>
278       <groupId>javax.persistence</groupId>
279       <artifactId>persistence-api</artifactId>
280       <version>1.0.2</version>
281     </dependency>
282     <dependency>
283       <groupId>org.hibernate</groupId>
284       <artifactId>hibernate-annotations</artifactId>
285       <version>3.5.6-Final</version>
286     </dependency>
287     <dependency>
288       <groupId>org.apache.geronimo.specs</groupId>
289       <artifactId>geronimo-jpa_2.0_spec</artifactId>
290       <version>1.1</version>
291     </dependency>
292     <dependency>
293       <groupId>dom4j</groupId>
294       <artifactId>dom4j</artifactId>
295       <version>1.6.1</version>
296     </dependency>
297     <!-- Dependencies of parent pom end -->
298     <dependency>
299       <groupId>com.att.ajsc</groupId>
300       <artifactId>sdk-java-camel-rest</artifactId>
301       <version>${sdk.camel.rest}</version>
302     </dependency>
303     <dependency>
304       <groupId>io.swagger</groupId>
305       <artifactId>swagger-core</artifactId>
306       <version>1.5.8</version>
307     </dependency>
308     <dependency>
309       <groupId>io.swagger</groupId>
310       <artifactId>swagger-annotations</artifactId>
311       <version>1.5.8</version>
312     </dependency>
313
314     <!-- Camunda Core -->
315     <dependency>
316       <groupId>com.att.ajsc</groupId>
317       <artifactId>sdk-java-camunda-core</artifactId>
318       <version>${sdk.camunda.core}</version>
319       <exclusions>
320         <exclusion>
321           <groupId>mysql</groupId>
322           <artifactId>mysql-connector-java</artifactId>
323         </exclusion>
324       </exclusions>
325     </dependency>
326     <!-- Spring Mail -->
327     <dependency>
328       <groupId>org.springframework</groupId>
329       <artifactId>spring-context-support</artifactId>
330     </dependency>
331     <!-- CSI Logging -->
332     <dependency>
333       <groupId>com.att.ajsc</groupId>
334       <artifactId>sdk-java-common-interceptors</artifactId>
335       <version>${csi.logging}</version>
336       <exclusions>
337         <exclusion>
338           <groupId>org.eclipse.jetty.orbit</groupId>
339           <artifactId>javax.servlet</artifactId>
340         </exclusion>
341         <exclusion>
342           <groupId>com.att.ajsc</groupId>
343           <artifactId>ajsc-core</artifactId>
344         </exclusion>
345       </exclusions>
346     </dependency>
347     <!-- CSI Logging End -->
348     <dependency>
349       <groupId>org.onap.policy.engine</groupId>
350       <artifactId>PolicyEngineAPI</artifactId>
351       <version>1.1.0</version>
352       <exclusions>
353         <exclusion>
354           <artifactId>log4j</artifactId>
355           <groupId>log4j</groupId>
356         </exclusion>
357         <exclusion>
358           <groupId>org.slf4j</groupId>
359           <artifactId>slf4j-log4j12</artifactId>
360         </exclusion>
361         <exclusion>
362           <artifactId>apache-log4j-extras</artifactId>
363           <groupId>log4j</groupId>
364         </exclusion>
365         <exclusion>
366           <artifactId>jackson-databind</artifactId>
367           <groupId>com.fasterxml.jackson.core</groupId>
368         </exclusion>
369         <exclusion>
370           <groupId>mysql</groupId>
371           <artifactId>mysql-connector-java</artifactId>
372         </exclusion>
373       </exclusions>
374     </dependency>
375     <dependency>
376       <groupId>org.onap.policy.common</groupId>
377       <artifactId>ONAP-Logging</artifactId>
378       <version>1.1.0</version>
379       <exclusions>
380         <exclusion>
381           <artifactId>log4j</artifactId>
382           <groupId>log4j</groupId>
383         </exclusion>
384         <exclusion>
385           <groupId>org.slf4j</groupId>
386           <artifactId>slf4j-log4j12</artifactId>
387         </exclusion>
388         <exclusion>
389           <artifactId>apache-log4j-extras</artifactId>
390           <groupId>log4j</groupId>
391         </exclusion>
392       </exclusions>
393     </dependency>
394     <dependency>
395       <groupId>org.onap.policy.engine</groupId>
396       <artifactId>PolicyEngineUtils</artifactId>
397       <version>1.1.0</version>
398       <exclusions>
399         <exclusion>
400           <artifactId>log4j</artifactId>
401           <groupId>log4j</groupId>
402         </exclusion>
403         <exclusion>
404           <groupId>org.slf4j</groupId>
405           <artifactId>slf4j-log4j12</artifactId>
406         </exclusion>
407         <exclusion>
408           <artifactId>apache-log4j-extras</artifactId>
409           <groupId>log4j</groupId>
410         </exclusion>
411       </exclusions>
412     </dependency>
413     <dependency>
414       <groupId>org.onap.policy.drools-applications</groupId>
415       <artifactId>policy-yaml</artifactId>
416       <version>1.1.0</version>
417       <exclusions>
418         <exclusion>
419           <artifactId>log4j</artifactId>
420           <groupId>log4j</groupId>
421         </exclusion>
422         <exclusion>
423           <groupId>org.slf4j</groupId>
424           <artifactId>slf4j-log4j12</artifactId>
425         </exclusion>
426         <exclusion>
427           <artifactId>apache-log4j-extras</artifactId>
428           <groupId>log4j</groupId>
429         </exclusion>
430       </exclusions>
431     </dependency>
432     <dependency>
433       <groupId>org.onap.policy.drools-applications</groupId>
434       <artifactId>sdc</artifactId>
435       <version>1.1.0</version>
436       <exclusions>
437         <exclusion>
438           <artifactId>log4j</artifactId>
439           <groupId>log4j</groupId>
440         </exclusion>
441         <exclusion>
442           <groupId>org.slf4j</groupId>
443           <artifactId>slf4j-log4j12</artifactId>
444         </exclusion>
445         <exclusion>
446           <artifactId>apache-log4j-extras</artifactId>
447           <groupId>log4j</groupId>
448         </exclusion>
449       </exclusions>
450     </dependency>
451     <dependency>
452       <groupId>org.onap.policy.drools-applications</groupId>
453       <artifactId>aai</artifactId>
454       <version>1.1.0</version>
455       <exclusions>
456         <exclusion>
457           <artifactId>log4j</artifactId>
458           <groupId>log4j</groupId>
459         </exclusion>
460         <exclusion>
461           <groupId>org.slf4j</groupId>
462           <artifactId>slf4j-log4j12</artifactId>
463         </exclusion>
464         <exclusion>
465           <artifactId>apache-log4j-extras</artifactId>
466           <groupId>log4j</groupId>
467         </exclusion>
468       </exclusions>
469     </dependency>
470
471     <dependency>
472       <groupId>com.fasterxml.jackson.core</groupId>
473       <artifactId>jackson-databind</artifactId>
474       <version>2.6.3</version>
475     </dependency>
476     <dependency>
477       <groupId>com.fasterxml.jackson.dataformat</groupId>
478       <artifactId>jackson-dataformat-yaml</artifactId>
479       <version>2.6.3</version>
480     </dependency>
481     <dependency>
482       <groupId>org.apache.commons</groupId>
483       <artifactId>commons-csv</artifactId>
484       <version>1.3</version>
485     </dependency>
486     <dependency>
487       <groupId>org.jboss.resteasy</groupId>
488       <artifactId>resteasy-client</artifactId>
489       <version>3.0.8.Final</version>
490     </dependency>
491     <dependency>
492       <groupId>com.sun.faces</groupId>
493       <artifactId>jsf-api</artifactId>
494       <version>2.1.7</version>
495     </dependency>
496     <dependency>
497       <groupId>com.sun.faces</groupId>
498       <artifactId>jsf-impl</artifactId>
499       <version>2.1.7</version>
500     </dependency>
501
502     <!-- Remove the MYSQL connector and replace it by Mariadb -->
503     <dependency>
504       <groupId>org.mariadb.jdbc</groupId>
505       <artifactId>mariadb-java-client</artifactId>
506       <version>2.1.1</version>
507     </dependency>
508   </dependencies>
509
510   <build>
511     <finalName>clamp</finalName>
512
513     <testResources>
514       <testResource>
515         <directory>src/test/resources</directory>
516         <excludes>
517           <exclude>**/*.jks</exclude>
518         </excludes>
519         <filtering>true</filtering>
520       </testResource>
521       <testResource>
522         <directory>src/test/resources/https</directory>
523         <includes>
524           <include>**.jks</include>
525         </includes>
526         <filtering>false</filtering>
527         <targetPath>https</targetPath>
528       </testResource>
529     </testResources>
530     <resources>
531       <resource>
532         <directory>src/main/resources</directory>
533         <filtering>true</filtering>
534       </resource>
535       <resource>
536         <directory>src/main/docker</directory>
537         <includes>
538           <include>**/*</include>
539         </includes>
540         <filtering>true</filtering>
541       </resource>
542     </resources>
543
544     <plugins>
545       <plugin>
546         <groupId>org.codehaus.groovy.maven</groupId>
547         <artifactId>gmaven-plugin</artifactId>
548         <version>1.0</version>
549         <executions>
550           <execution>
551             <phase>validate</phase>
552             <goals>
553               <goal>execute</goal>
554             </goals>
555             <configuration>
556               <source>${project.basedir}/src/main/script/TagVersion.groovy</source>
557             </configuration>
558           </execution>
559         </executions>
560       </plugin>
561       <plugin>
562         <groupId>org.apache.maven.plugins</groupId>
563         <artifactId>maven-jar-plugin</artifactId>
564         <version>3.0.2</version>
565         <executions>
566           <execution>
567             <id>jar-with-only-classes</id>
568             <phase>package</phase>
569             <goals>
570               <goal>jar</goal>
571             </goals>
572             <configuration>
573               <classifier>classes</classifier>
574               <includes>
575                 <include>org/**</include>
576               </includes>
577             </configuration>
578           </execution>
579         </executions>
580       </plugin>
581       <plugin>
582         <groupId>com.github.kongchen</groupId>
583         <artifactId>swagger-maven-plugin</artifactId>
584         <version>3.1.5</version>
585         <executions>
586           <execution>
587             <phase>compile</phase>
588             <goals>
589               <goal>generate</goal>
590             </goals>
591             <configuration>
592               <apiSources>
593                 <apiSource>
594                   <locations>
595                     <location>org.onap.clamp.clds.service</location>
596                   </locations>
597                   <basePath>/</basePath>
598                   <info>
599                     <title>${project.artifactId} Service</title>
600                     <version>${project.version}</version>
601                   </info>
602                   <swaggerDirectory>${project.build.directory}/classes/META-INF/resources/icd</swaggerDirectory>
603                 </apiSource>
604               </apiSources>
605             </configuration>
606           </execution>
607         </executions>
608       </plugin>
609       <plugin>
610         <groupId>org.codehaus.mojo</groupId>
611         <artifactId>build-helper-maven-plugin</artifactId>
612         <version>3.0.0</version>
613         <executions>
614           <execution>
615             <goals>
616               <goal>attach-artifact</goal>
617             </goals>
618             <phase>package</phase>
619             <configuration>
620               <artifacts>
621                 <artifact>
622                   <file>${project.build.directory}/clamp-classes.jar</file>
623                   <type>jar</type>
624                   <classifier>classes</classifier>
625                 </artifact>
626               </artifacts>
627             </configuration>
628           </execution>
629         </executions>
630       </plugin>
631
632       <plugin>
633         <groupId>org.springframework.boot</groupId>
634         <artifactId>spring-boot-maven-plugin</artifactId>
635         <version>1.5.3.RELEASE</version>
636         <executions>
637           <execution>
638             <goals>
639               <goal>repackage</goal>
640             </goals>
641             <phase>package</phase>
642           </execution>
643         </executions>
644       </plugin>
645       <plugin>
646         <groupId>org.sonatype.plugins</groupId>
647         <artifactId>nexus-staging-maven-plugin</artifactId>
648         <version>1.6.7</version>
649         <extensions>true</extensions>
650         <configuration>
651           <nexusUrl>https://nexus.onap.org</nexusUrl>
652           <stagingProfileId>176c31dfe190a</stagingProfileId>
653           <serverId>ecomp-staging</serverId>
654           <skipNexusStagingDeployMojo>${skip.staging.artifacts}</skipNexusStagingDeployMojo>
655         </configuration>
656       </plugin>
657       <plugin>
658         <groupId>com.spotify</groupId>
659         <artifactId>docker-maven-plugin</artifactId>
660         <version>1.0.0</version>
661         <configuration>
662           <imageName>onap/clamp</imageName>
663           <dockerDirectory>src/main/docker</dockerDirectory>
664           <serverId>docker-hub</serverId>
665           <imageTags>
666             <imageTag>latest</imageTag>
667             <imageTag>${project.docker.latesttagtimestamp.version}</imageTag>
668             <imageTag>${project.docker.latesttag.version}</imageTag>
669           </imageTags>
670           <forceTags>true</forceTags>
671           <resources>
672             <resource>
673               <targetPath>/</targetPath>
674               <directory>${project.build.directory}</directory>
675               <include>${project.build.finalName}.jar</include>
676             </resource>
677             <resource>
678               <targetPath>/</targetPath>
679               <directory>${project.build.directory}</directory>
680               <include>etc/config/**</include>
681             </resource>
682             <resource>
683               <targetPath>/</targetPath>
684               <directory>${project.build.directory}</directory>
685               <include>etc/keystore/**</include>
686             </resource>
687           </resources>
688         </configuration>
689         <executions>
690           <execution>
691             <id>build-image</id>
692             <phase>package</phase>
693             <goals>
694               <goal>build</goal>
695             </goals>
696             <configuration>
697               <skipDockerBuild>${skip.docker.build}</skipDockerBuild>
698               <buildArgs>
699                 <http_proxy>${env.HTTP_PROXY}</http_proxy>
700                 <https_proxy>${env.HTTPS_PROXY}</https_proxy>
701               </buildArgs>
702             </configuration>
703           </execution>
704
705           <execution>
706             <id>tag-image-latest-timestamp</id>
707             <phase>package</phase>
708             <goals>
709               <goal>tag</goal>
710             </goals>
711             <configuration>
712               <image>onap/clamp</image>
713               <newName>${docker.push.registry}/onap/clamp:${project.docker.latesttagtimestamp.version}</newName>
714               <skipDockerTag>${skip.docker.push}</skipDockerTag>
715             </configuration>
716           </execution>
717           <execution>
718             <id>push-image-latest-timestamp</id>
719             <phase>deploy</phase>
720             <goals>
721               <goal>push</goal>
722             </goals>
723             <configuration>
724               <imageName>${docker.push.registry}/onap/clamp:${project.docker.latesttagtimestamp.version}</imageName>
725               <skipDockerPush>${skip.docker.push}</skipDockerPush>
726             </configuration>
727           </execution>
728           <execution>
729             <id>tag-image-latest</id>
730             <phase>package</phase>
731             <goals>
732               <goal>tag</goal>
733             </goals>
734             <configuration>
735               <image>onap/clamp</image>
736               <newName>${docker.push.registry}/onap/clamp:${project.docker.latesttag.version}</newName>
737               <skipDockerTag>${skip.docker.push}</skipDockerTag>
738             </configuration>
739           </execution>
740           <execution>
741             <id>push-image-latest</id>
742             <phase>deploy</phase>
743             <goals>
744               <goal>push</goal>
745             </goals>
746             <configuration>
747               <imageName>${docker.push.registry}/onap/clamp:${project.docker.latesttag.version}</imageName>
748               <skipDockerPush>${skip.docker.push}</skipDockerPush>
749             </configuration>
750           </execution>
751           <execution>
752             <id>tag-image</id>
753             <phase>package</phase>
754             <goals>
755               <goal>tag</goal>
756             </goals>
757             <configuration>
758               <image>onap/clamp</image>
759               <newName>${docker.push.registry}/onap/clamp:latest</newName>
760               <skipDockerTag>${skip.docker.push}</skipDockerTag>
761             </configuration>
762           </execution>
763           <execution>
764             <id>push-image</id>
765             <phase>deploy</phase>
766             <goals>
767               <goal>push</goal>
768             </goals>
769             <configuration>
770               <imageName>${docker.push.registry}/onap/clamp:latest</imageName>
771               <skipDockerPush>${skip.docker.push}</skipDockerPush>
772             </configuration>
773           </execution>
774         </executions>
775       </plugin>
776       <plugin>
777         <groupId>org.apache.maven.plugins</groupId>
778         <artifactId>maven-surefire-plugin</artifactId>
779         <version>2.19.1</version>
780         <configuration>
781           <forkCount>1</forkCount>
782           <reuseForks>false</reuseForks>
783         </configuration>
784       </plugin>
785
786       <plugin>
787         <groupId>org.apache.maven.plugins</groupId>
788         <artifactId>maven-failsafe-plugin</artifactId>
789         <version>2.16</version>
790
791         <executions>
792           <execution>
793             <id>integration-tests</id>
794             <goals>
795               <goal>integration-test</goal>
796               <goal>verify</goal>
797             </goals>
798             <configuration>
799             <includes>
800               <include>**/*ItCase.java</include>
801             </includes>
802               <forkCount>1</forkCount>
803               <reuseForks>false</reuseForks>
804             </configuration>
805           </execution>
806         </executions>
807
808       </plugin>
809       <plugin>
810         <groupId>io.fabric8</groupId>
811         <artifactId>docker-maven-plugin</artifactId>
812         <version>0.16.5</version>
813         <configuration>
814           <verbose>true</verbose>
815           <apiVersion>1.23</apiVersion>
816           <images>
817             <image>
818               <name>mariadb:10.1.11</name>
819               <alias>mariadb</alias>
820               <run>
821                 <env>
822                   <MYSQL_ROOT_PASSWORD>strong_pitchou</MYSQL_ROOT_PASSWORD>
823                 </env>
824                 <hostname>mariadb</hostname>
825                 <volumes>
826                   <bind>
827                     <volume>${project.basedir}/extra/sql/:/docker-entrypoint-initdb.d</volume>
828                     <volume>${project.basedir}/extra/docker/mariadb/conf1:/etc/mysql/conf.d</volume>
829                   </bind>
830                 </volumes>
831                 <wait>
832                   <log>socket: '/var/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution</log>
833                   <time>600000</time>
834                 </wait>
835                 <ports>
836                   <port>${docker.mariadb.port.host}:3306</port>
837                 </ports>
838               </run>
839             </image>
840           </images>
841           <skip>${skipITs}</skip>
842         </configuration>
843
844         <executions>
845           <execution>
846             <id>mariadb-start-for-it</id>
847             <phase>pre-integration-test</phase>
848             <goals>
849               <goal>start</goal>
850             </goals>
851             <configuration>
852               <skip>${skipITs}</skip>
853             </configuration>
854           </execution>
855           <execution>
856             <id>mariadb-stop-for-it</id>
857             <phase>post-integration-test</phase>
858             <goals>
859               <goal>stop</goal>
860             </goals>
861             <configuration>
862               <skip>${skipITs}</skip>
863             </configuration>
864           </execution>
865         </executions>
866       </plugin>
867
868       <plugin>
869         <groupId>org.jacoco</groupId>
870         <artifactId>jacoco-maven-plugin</artifactId>
871         <version>0.7.7.201606060606</version>
872         <configuration>
873           <dumpOnExit>true</dumpOnExit>
874           <includes>
875             <include>org.onap.clamp.*</include>
876           </includes>
877         </configuration>
878         <executions>
879           <execution>
880             <id>pre-unit-test</id>
881             <goals>
882               <goal>prepare-agent</goal>
883             </goals>
884             <configuration>
885               <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
886               <!-- <append>true</append> -->
887             </configuration>
888           </execution>
889           <execution>
890             <id>pre-integration-test</id>
891             <phase>pre-integration-test</phase>
892             <goals>
893               <goal>prepare-agent</goal>
894             </goals>
895             <configuration>
896               <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
897               <!-- <append>true</append> -->
898             </configuration>
899           </execution>
900           <execution>
901             <goals>
902               <goal>merge</goal>
903             </goals>
904             <phase>post-integration-test</phase>
905             <configuration>
906               <fileSets>
907                 <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
908                   <directory>${project.build.directory}/coverage-reports</directory>
909                   <includes>
910                     <include>*.exec</include>
911                   </includes>
912                 </fileSet>
913               </fileSets>
914               <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
915             </configuration>
916           </execution>
917         </executions>
918       </plugin>
919
920       <!-- This plugin will be useful when we will have multi-modules project -->
921       <plugin>
922         <groupId>org.codehaus.mojo</groupId>
923         <artifactId>versions-maven-plugin</artifactId>
924         <version>1.3.1</version>
925       </plugin>
926     </plugins>
927   </build>
928   <profiles>
929     <profile>
930       <id>docker</id>
931       <properties>
932         <skip.staging.artifacts>true</skip.staging.artifacts>
933         <skip.docker.build>false</skip.docker.build>
934         <skip.docker.tag>false</skip.docker.tag>
935         <skip.docker.push>false</skip.docker.push>
936       </properties>
937     </profile>
938   </profiles>
939 </project>