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