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