Merge "Fix the bad request issue for operational policy"
[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     <dependency>
471       <groupId>com.fasterxml.jackson.dataformat</groupId>
472       <artifactId>jackson-dataformat-yaml</artifactId>
473       <version>2.6.3</version>
474     </dependency>
475     <dependency>
476       <groupId>org.apache.commons</groupId>
477       <artifactId>commons-csv</artifactId>
478       <version>1.3</version>
479     </dependency>
480     <dependency>
481       <groupId>org.jboss.resteasy</groupId>
482       <artifactId>resteasy-client</artifactId>
483       <version>3.0.8.Final</version>
484     </dependency>
485     <dependency>
486       <groupId>com.sun.faces</groupId>
487       <artifactId>jsf-api</artifactId>
488       <version>2.1.7</version>
489     </dependency>
490     <dependency>
491       <groupId>com.sun.faces</groupId>
492       <artifactId>jsf-impl</artifactId>
493       <version>2.1.7</version>
494     </dependency>
495
496     <!-- Remove the MYSQL connector and replace it by Mariadb -->
497     <dependency>
498       <groupId>org.mariadb.jdbc</groupId>
499       <artifactId>mariadb-java-client</artifactId>
500       <version>2.1.1</version>
501     </dependency>
502   </dependencies>
503
504   <build>
505     <finalName>clamp</finalName>
506
507     <testResources>
508       <testResource>
509         <directory>src/test/resources</directory>
510         <excludes>
511           <exclude>**/*.jks</exclude>
512         </excludes>
513         <filtering>true</filtering>
514       </testResource>
515       <testResource>
516         <directory>src/test/resources/https</directory>
517         <includes>
518           <include>**.jks</include>
519         </includes>
520         <filtering>false</filtering>
521         <targetPath>https</targetPath>
522       </testResource>
523     </testResources>
524     <resources>
525       <resource>
526         <directory>src/main/resources</directory>
527         <filtering>true</filtering>
528       </resource>
529       <resource>
530         <directory>src/main/docker</directory>
531         <includes>
532           <include>**/*</include>
533         </includes>
534         <filtering>true</filtering>
535       </resource>
536     </resources>
537
538     <plugins>
539       <plugin>
540         <groupId>org.codehaus.groovy.maven</groupId>
541         <artifactId>gmaven-plugin</artifactId>
542         <version>1.0</version>
543         <executions>
544           <execution>
545             <phase>validate</phase>
546             <goals>
547               <goal>execute</goal>
548             </goals>
549             <configuration>
550               <source>${project.basedir}/src/main/script/TagVersion.groovy</source>
551             </configuration>
552           </execution>
553         </executions>
554       </plugin>
555       <plugin>
556         <groupId>org.apache.maven.plugins</groupId>
557         <artifactId>maven-jar-plugin</artifactId>
558         <version>3.0.2</version>
559         <executions>
560           <execution>
561             <id>jar-with-only-classes</id>
562             <phase>package</phase>
563             <goals>
564               <goal>jar</goal>
565             </goals>
566             <configuration>
567               <classifier>classes</classifier>
568               <includes>
569                 <include>org/**</include>
570               </includes>
571             </configuration>
572           </execution>
573         </executions>
574       </plugin>
575       <plugin>
576         <groupId>com.github.kongchen</groupId>
577         <artifactId>swagger-maven-plugin</artifactId>
578         <version>3.1.5</version>
579         <executions>
580           <execution>
581             <phase>compile</phase>
582             <goals>
583               <goal>generate</goal>
584             </goals>
585             <configuration>
586               <apiSources>
587                 <apiSource>
588                   <locations>
589                     <location>org.onap.clamp.clds.service</location>
590                   </locations>
591                   <basePath>/</basePath>
592                   <info>
593                     <title>${project.artifactId} Service</title>
594                     <version>${project.version}</version>
595                   </info>
596                   <swaggerDirectory>${project.build.directory}/classes/META-INF/resources/icd</swaggerDirectory>
597                 </apiSource>
598               </apiSources>
599             </configuration>
600           </execution>
601         </executions>
602       </plugin>
603       <plugin>
604         <groupId>org.codehaus.mojo</groupId>
605         <artifactId>build-helper-maven-plugin</artifactId>
606         <version>3.0.0</version>
607         <executions>
608           <execution>
609             <goals>
610               <goal>attach-artifact</goal>
611             </goals>
612             <phase>package</phase>
613             <configuration>
614               <artifacts>
615                 <artifact>
616                   <file>${project.build.directory}/clamp-classes.jar</file>
617                   <type>jar</type>
618                   <classifier>classes</classifier>
619                 </artifact>
620               </artifacts>
621             </configuration>
622           </execution>
623         </executions>
624       </plugin>
625
626       <plugin>
627         <groupId>org.springframework.boot</groupId>
628         <artifactId>spring-boot-maven-plugin</artifactId>
629         <version>1.5.3.RELEASE</version>
630         <executions>
631           <execution>
632             <goals>
633               <goal>repackage</goal>
634             </goals>
635             <phase>package</phase>
636           </execution>
637         </executions>
638       </plugin>
639       <plugin>
640         <groupId>org.sonatype.plugins</groupId>
641         <artifactId>nexus-staging-maven-plugin</artifactId>
642         <version>1.6.7</version>
643         <extensions>true</extensions>
644         <configuration>
645           <nexusUrl>https://nexus.onap.org</nexusUrl>
646           <stagingProfileId>176c31dfe190a</stagingProfileId>
647           <serverId>ecomp-staging</serverId>
648           <skipNexusStagingDeployMojo>${skip.staging.artifacts}</skipNexusStagingDeployMojo>
649         </configuration>
650       </plugin>
651       <plugin>
652         <groupId>com.spotify</groupId>
653         <artifactId>docker-maven-plugin</artifactId>
654         <version>1.0.0</version>
655         <configuration>
656           <imageName>onap/clamp</imageName>
657           <dockerDirectory>src/main/docker</dockerDirectory>
658           <serverId>docker-hub</serverId>
659           <imageTags>
660             <imageTag>latest</imageTag>
661             <imageTag>${project.docker.latesttagtimestamp.version}</imageTag>
662             <imageTag>${project.docker.latesttag.version}</imageTag>
663           </imageTags>
664           <forceTags>true</forceTags>
665           <resources>
666             <resource>
667               <targetPath>/</targetPath>
668               <directory>${project.build.directory}</directory>
669               <include>${project.build.finalName}.jar</include>
670             </resource>
671             <resource>
672               <targetPath>/</targetPath>
673               <directory>${project.build.directory}</directory>
674               <include>etc/config/**</include>
675             </resource>
676             <resource>
677               <targetPath>/</targetPath>
678               <directory>${project.build.directory}</directory>
679               <include>etc/keystore/**</include>
680             </resource>
681           </resources>
682         </configuration>
683         <executions>
684           <execution>
685             <id>build-image</id>
686             <phase>package</phase>
687             <goals>
688               <goal>build</goal>
689             </goals>
690             <configuration>
691               <skipDockerBuild>${skip.docker.build}</skipDockerBuild>
692               <buildArgs>
693                 <http_proxy>${env.HTTP_PROXY}</http_proxy>
694                 <https_proxy>${env.HTTPS_PROXY}</https_proxy>
695               </buildArgs>
696             </configuration>
697           </execution>
698
699           <execution>
700             <id>tag-image-latest-timestamp</id>
701             <phase>package</phase>
702             <goals>
703               <goal>tag</goal>
704             </goals>
705             <configuration>
706               <image>onap/clamp</image>
707               <newName>${docker.push.registry}/onap/clamp:${project.docker.latesttagtimestamp.version}</newName>
708               <skipDockerTag>${skip.docker.push}</skipDockerTag>
709             </configuration>
710           </execution>
711           <execution>
712             <id>push-image-latest-timestamp</id>
713             <phase>deploy</phase>
714             <goals>
715               <goal>push</goal>
716             </goals>
717             <configuration>
718               <imageName>${docker.push.registry}/onap/clamp:${project.docker.latesttagtimestamp.version}</imageName>
719               <skipDockerPush>${skip.docker.push}</skipDockerPush>
720             </configuration>
721           </execution>
722           <execution>
723             <id>tag-image-latest</id>
724             <phase>package</phase>
725             <goals>
726               <goal>tag</goal>
727             </goals>
728             <configuration>
729               <image>onap/clamp</image>
730               <newName>${docker.push.registry}/onap/clamp:${project.docker.latesttag.version}</newName>
731               <skipDockerTag>${skip.docker.push}</skipDockerTag>
732             </configuration>
733           </execution>
734           <execution>
735             <id>push-image-latest</id>
736             <phase>deploy</phase>
737             <goals>
738               <goal>push</goal>
739             </goals>
740             <configuration>
741               <imageName>${docker.push.registry}/onap/clamp:${project.docker.latesttag.version}</imageName>
742               <skipDockerPush>${skip.docker.push}</skipDockerPush>
743             </configuration>
744           </execution>
745           <execution>
746             <id>tag-image</id>
747             <phase>package</phase>
748             <goals>
749               <goal>tag</goal>
750             </goals>
751             <configuration>
752               <image>onap/clamp</image>
753               <newName>${docker.push.registry}/onap/clamp:latest</newName>
754               <skipDockerTag>${skip.docker.push}</skipDockerTag>
755             </configuration>
756           </execution>
757           <execution>
758             <id>push-image</id>
759             <phase>deploy</phase>
760             <goals>
761               <goal>push</goal>
762             </goals>
763             <configuration>
764               <imageName>${docker.push.registry}/onap/clamp:latest</imageName>
765               <skipDockerPush>${skip.docker.push}</skipDockerPush>
766             </configuration>
767           </execution>
768         </executions>
769       </plugin>
770       <plugin>
771         <groupId>org.apache.maven.plugins</groupId>
772         <artifactId>maven-surefire-plugin</artifactId>
773         <version>2.19.1</version>
774         <configuration>
775           <forkCount>1</forkCount>
776           <reuseForks>false</reuseForks>
777         </configuration>
778       </plugin>
779
780       <plugin>
781         <groupId>org.apache.maven.plugins</groupId>
782         <artifactId>maven-failsafe-plugin</artifactId>
783         <version>2.16</version>
784
785         <executions>
786           <execution>
787             <id>integration-tests</id>
788             <goals>
789               <goal>integration-test</goal>
790               <goal>verify</goal>
791             </goals>
792             <configuration>
793             <includes>
794               <include>**/*ItCase.java</include>
795             </includes>
796               <forkCount>1</forkCount>
797               <reuseForks>false</reuseForks>
798             </configuration>
799           </execution>
800         </executions>
801
802       </plugin>
803       <plugin>
804         <groupId>io.fabric8</groupId>
805         <artifactId>docker-maven-plugin</artifactId>
806         <version>0.16.5</version>
807         <configuration>
808           <verbose>true</verbose>
809           <apiVersion>1.23</apiVersion>
810           <images>
811             <image>
812               <name>mariadb:10.1.11</name>
813               <alias>mariadb</alias>
814               <run>
815                 <env>
816                   <MYSQL_ROOT_PASSWORD>strong_pitchou</MYSQL_ROOT_PASSWORD>
817                 </env>
818                 <hostname>mariadb</hostname>
819                 <volumes>
820                   <bind>
821                     <volume>${project.basedir}/extra/sql/:/docker-entrypoint-initdb.d</volume>
822                     <volume>${project.basedir}/extra/docker/mariadb/conf1:/etc/mysql/conf.d</volume>
823                   </bind>
824                 </volumes>
825                 <wait>
826                   <log>socket: '/var/run/mysqld/mysqld.sock'  port: 3306  mariadb.org binary distribution</log>
827                   <time>600000</time>
828                 </wait>
829                 <ports>
830                   <port>${docker.mariadb.port.host}:3306</port>
831                 </ports>
832               </run>
833             </image>
834           </images>
835           <skip>${skipITs}</skip>
836         </configuration>
837
838         <executions>
839           <execution>
840             <id>mariadb-start-for-it</id>
841             <phase>pre-integration-test</phase>
842             <goals>
843               <goal>start</goal>
844             </goals>
845             <configuration>
846               <skip>${skipITs}</skip>
847             </configuration>
848           </execution>
849           <execution>
850             <id>mariadb-stop-for-it</id>
851             <phase>post-integration-test</phase>
852             <goals>
853               <goal>stop</goal>
854             </goals>
855             <configuration>
856               <skip>${skipITs}</skip>
857             </configuration>
858           </execution>
859         </executions>
860       </plugin>
861
862       <plugin>
863         <groupId>org.jacoco</groupId>
864         <artifactId>jacoco-maven-plugin</artifactId>
865         <version>0.7.7.201606060606</version>
866         <configuration>
867           <dumpOnExit>true</dumpOnExit>
868           <includes>
869             <include>org.onap.clamp.*</include>
870           </includes>
871         </configuration>
872         <executions>
873           <execution>
874             <id>pre-unit-test</id>
875             <goals>
876               <goal>prepare-agent</goal>
877             </goals>
878             <configuration>
879               <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
880               <!-- <append>true</append> -->
881             </configuration>
882           </execution>
883           <execution>
884             <id>pre-integration-test</id>
885             <phase>pre-integration-test</phase>
886             <goals>
887               <goal>prepare-agent</goal>
888             </goals>
889             <configuration>
890               <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
891               <!-- <append>true</append> -->
892             </configuration>
893           </execution>
894           <execution>
895             <goals>
896               <goal>merge</goal>
897             </goals>
898             <phase>post-integration-test</phase>
899             <configuration>
900               <fileSets>
901                 <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
902                   <directory>${project.build.directory}/coverage-reports</directory>
903                   <includes>
904                     <include>*.exec</include>
905                   </includes>
906                 </fileSet>
907               </fileSets>
908               <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
909             </configuration>
910           </execution>
911         </executions>
912       </plugin>
913
914       <!-- This plugin will be useful when we will have multi-modules project -->
915       <plugin>
916         <groupId>org.codehaus.mojo</groupId>
917         <artifactId>versions-maven-plugin</artifactId>
918         <version>1.3.1</version>
919       </plugin>
920     </plugins>
921   </build>
922   <profiles>
923     <profile>
924       <id>docker</id>
925       <properties>
926         <skip.staging.artifacts>true</skip.staging.artifacts>
927         <skip.docker.build>false</skip.docker.build>
928         <skip.docker.tag>false</skip.docker.tag>
929         <skip.docker.push>false</skip.docker.push>
930       </properties>
931     </profile>
932   </profiles>
933 </project>