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>
11 <groupId>org.onap.oparent</groupId>
12 <artifactId>oparent</artifactId>
13 <version>1.0.0-SNAPSHOT</version>
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>
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>
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>
57 <distributionManagement>
59 <id>ecomp-releases</id>
60 <name>Clamp Release Repository</name>
61 <url>${nexusproxy}/${releaseNexusPath}</url>
64 <id>ecomp-snapshots</id>
65 <name>Clamp Snapshot Repository</name>
66 <url>${nexusproxy}/${snapshotNexusPath}</url>
70 <url>dav:${nexusproxy}${sitePath}</url>
72 </distributionManagement>
77 <name>Maven 2 repository 2</name>
78 <url>http://repo2.maven.org/maven2/</url>
82 <name>JBoss Repository</name>
83 <url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
86 <id>jboss-deprecated-repository</id>
87 <name>JBoss Deprecated Maven Repository</name>
88 <url>https://repository.jboss.org/nexus/content/repositories/deprecated/</url>
91 <id>ecomp-releases</id>
92 <name>ONAP Release Repository</name>
93 <url>${nexusproxy}/${releaseNexusPath}</url>
96 <id>ecomp-staging</id>
97 <name>ONAP Staging Repository</name>
98 <url>${nexusproxy}/${stagingNexusPath}</url>
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>
109 <name>Spring repo</name>
110 <url>https://artifacts.alfresco.com/nexus/content/repositories/public/</url>
114 <url>http://www.soapui.org/repository/maven2/</url>
115 <name>SoapUI plugin</name>
120 This project build the ONAP CLAMP JAR that contains AJSC + CLAMP code.
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.
125 If you want to skip the intergation test you can by doing:
126 "mvn clean install -DskipITs=true"
128 For Spring it's possible to specify the application.properties location
129 "mvn clean install -Dspring.config.location=classpath:application-test.properties"
131 The application.properties contains the location of the CLAMP parameters files:
132 clds-policy-config.properties and clds-reference.properties
134 The licenses and headers can be generated by using this maven command:
135 mvn license:update-file-header license:update-project-license
138 <dependencyManagement>
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>
146 <scope>import</scope>
149 </dependencyManagement>
153 <groupId>org.apache.commons</groupId>
154 <artifactId>commons-vfs2</artifactId>
155 <version>2.0</version>
157 <!-- Dependencies of parent pom start -->
159 <groupId>com.att.ajsc</groupId>
160 <artifactId>sdk-java-common-logging</artifactId>
161 <version>${sdk.java.common.logging}</version>
164 <groupId>org.springframework.boot</groupId>
165 <artifactId>spring-boot-starter-tomcat</artifactId>
166 <scope>compile</scope>
169 <groupId>org.springframework.boot</groupId>
170 <artifactId>spring-boot-starter-actuator</artifactId>
173 <groupId>org.springframework.boot</groupId>
174 <artifactId>spring-boot-starter-security</artifactId>
177 <groupId>org.springframework.boot</groupId>
178 <artifactId>spring-boot-starter-test</artifactId>
182 <groupId>joda-time</groupId>
183 <artifactId>joda-time</artifactId>
186 <groupId>org.springframework</groupId>
187 <artifactId>spring-context</artifactId>
190 <groupId>org.slf4j</groupId>
191 <artifactId>slf4j-api</artifactId>
194 <groupId>javax.ws.rs</groupId>
195 <artifactId>javax.ws.rs-api</artifactId>
196 <version>2.0</version>
199 <groupId>org.springframework</groupId>
200 <artifactId>spring-test</artifactId>
203 <groupId>junit</groupId>
204 <artifactId>junit</artifactId>
207 <groupId>org.mockito</groupId>
208 <artifactId>mockito-all</artifactId>
209 <version>1.9.5</version>
212 <groupId>commons-logging</groupId>
213 <artifactId>commons-logging</artifactId>
214 <version>1.1.1</version>
217 <groupId>org.springframework</groupId>
218 <artifactId>spring-aspects</artifactId>
221 <groupId>com.fasterxml.jackson.core</groupId>
222 <artifactId>jackson-core</artifactId>
225 <groupId>com.fasterxml.jackson.core</groupId>
226 <artifactId>jackson-databind</artifactId>
229 <groupId>org.springframework</groupId>
230 <artifactId>spring-webmvc</artifactId>
233 <groupId>org.springframework.boot</groupId>
234 <artifactId>spring-boot-starter-web</artifactId>
237 <groupId>log4j</groupId>
238 <artifactId>log4j</artifactId>
239 <version>1.2.17</version>
242 <groupId>org.springframework.boot</groupId>
243 <artifactId>spring-boot</artifactId>
246 <groupId>org.springframework.boot</groupId>
247 <artifactId>spring-boot-autoconfigure</artifactId>
250 <groupId>javax.transaction</groupId>
251 <artifactId>jta</artifactId>
252 <version>1.1</version>
255 <groupId>javax.persistence</groupId>
256 <artifactId>persistence-api</artifactId>
257 <version>1.0.2</version>
260 <groupId>org.hibernate</groupId>
261 <artifactId>hibernate-annotations</artifactId>
262 <version>3.5.6-Final</version>
265 <groupId>org.apache.geronimo.specs</groupId>
266 <artifactId>geronimo-jpa_2.0_spec</artifactId>
267 <version>1.1</version>
270 <groupId>dom4j</groupId>
271 <artifactId>dom4j</artifactId>
272 <version>1.6.1</version>
274 <!-- Dependencies of parent pom end -->
276 <groupId>com.att.ajsc</groupId>
277 <artifactId>sdk-java-camel-rest</artifactId>
278 <version>${sdk.camel.rest}</version>
281 <groupId>io.swagger</groupId>
282 <artifactId>swagger-core</artifactId>
283 <version>1.5.8</version>
286 <groupId>io.swagger</groupId>
287 <artifactId>swagger-annotations</artifactId>
288 <version>1.5.8</version>
290 <!-- Camunda Core -->
292 <groupId>com.att.ajsc</groupId>
293 <artifactId>sdk-java-camunda-core</artifactId>
294 <version>${sdk.camunda.core}</version>
298 <groupId>org.springframework</groupId>
299 <artifactId>spring-context-support</artifactId>
303 <groupId>com.att.ajsc</groupId>
304 <artifactId>sdk-java-common-interceptors</artifactId>
305 <version>${csi.logging}</version>
308 <groupId>org.eclipse.jetty.orbit</groupId>
309 <artifactId>javax.servlet</artifactId>
312 <groupId>com.att.ajsc</groupId>
313 <artifactId>ajsc-core</artifactId>
317 <!-- CSI Logging End -->
319 <groupId>org.onap.policy.engine</groupId>
320 <artifactId>PolicyEngineAPI</artifactId>
321 <version>1.1.0-SNAPSHOT</version>
324 <artifactId>log4j</artifactId>
325 <groupId>log4j</groupId>
328 <groupId>org.slf4j</groupId>
329 <artifactId>slf4j-log4j12</artifactId>
332 <artifactId>apache-log4j-extras</artifactId>
333 <groupId>log4j</groupId>
338 <groupId>org.onap.policy.common</groupId>
339 <artifactId>ONAP-Logging</artifactId>
340 <version>1.1.0-SNAPSHOT</version>
343 <artifactId>log4j</artifactId>
344 <groupId>log4j</groupId>
347 <groupId>org.slf4j</groupId>
348 <artifactId>slf4j-log4j12</artifactId>
351 <artifactId>apache-log4j-extras</artifactId>
352 <groupId>log4j</groupId>
357 <groupId>org.onap.policy.engine</groupId>
358 <artifactId>ControlloopPolicy</artifactId>
359 <version>1.1.0-SNAPSHOT</version>
362 <artifactId>log4j</artifactId>
363 <groupId>log4j</groupId>
366 <groupId>org.slf4j</groupId>
367 <artifactId>slf4j-log4j12</artifactId>
370 <artifactId>apache-log4j-extras</artifactId>
371 <groupId>log4j</groupId>
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>
383 <groupId>org.apache.commons</groupId>
384 <artifactId>commons-csv</artifactId>
385 <version>1.3</version>
388 <groupId>org.jboss.resteasy</groupId>
389 <artifactId>resteasy-client</artifactId>
390 <version>3.0.8.Final</version>
393 <groupId>com.sun.faces</groupId>
394 <artifactId>jsf-api</artifactId>
395 <version>2.1.7</version>
398 <groupId>com.sun.faces</groupId>
399 <artifactId>jsf-impl</artifactId>
400 <version>2.1.7</version>
408 <directory>src/test/resources</directory>
410 <include>**/*</include>
412 <filtering>true</filtering>
417 <directory>src/main/resources</directory>
418 <filtering>true</filtering>
421 <directory>target/generated-sources/license</directory>
423 <include>third-party-licenses.txt</include>
427 <directory>target/generated-resources/licenses</directory>
429 <include>*.*</include>
431 <targetPath>third-party-licenses</targetPath>
434 <directory>${project.basedir}/etc</directory>
435 <targetPath>${project.build.directory}/etc</targetPath>
436 <filtering>true</filtering>
438 <include>**/*</include>
442 <directory>src/main/docker</directory>
444 <include>**/*</include>
446 <filtering>true</filtering>
449 <directory>src/main/doxygen</directory>
451 <include>**/*</include>
453 <filtering>true</filtering>
458 <!--This plugin's configuration is used to store Eclipse m2e settings
459 only. It has no influence on the Maven build itself. -->
461 <groupId>org.apache.maven.plugins</groupId>
462 <artifactId>maven-release-plugin</artifactId>
463 <version>2.5.3</version>
465 <tagBase>${projectTag}</tagBase>
466 <scmCommentPrefix>${scm.commit.message}</scmCommentPrefix>
470 <groupId>com.github.kongchen</groupId>
471 <artifactId>swagger-maven-plugin</artifactId>
472 <version>3.1.3</version>
476 <locations>${icd.package}</locations>
477 <basePath>/</basePath>
479 <title>${project.artifactId} Service</title>
480 <version>${project.version}</version>
482 <swaggerDirectory>${swagger.directory}</swaggerDirectory>
488 <phase>compile</phase>
490 <goal>generate</goal>
496 <groupId>org.eclipse.m2e</groupId>
497 <artifactId>lifecycle-mapping</artifactId>
498 <version>1.0.0</version>
500 <lifecycleMappingMetadata>
503 <pluginExecutionFilter>
504 <groupId>com.github.kongchen</groupId>
505 <artifactId>swagger-maven-plugin</artifactId>
506 <versionRange>3.1.3</versionRange>
508 <goal>generate</goal>
510 </pluginExecutionFilter>
516 </lifecycleMappingMetadata>
523 <groupId>org.apache.maven.plugins</groupId>
524 <artifactId>maven-jar-plugin</artifactId>
525 <version>3.0.2</version>
528 <id>jar-with-only-classes</id>
529 <phase>package</phase>
534 <classifier>classes</classifier>
536 <exclude>META-INF/resources/designer/**</exclude>
537 <exclude>META-INF/resources/icd/**</exclude>
538 <exclude>META-INF/resources/index.html</exclude>
545 <groupId>org.codehaus.mojo</groupId>
546 <artifactId>build-helper-maven-plugin</artifactId>
547 <version>3.0.0</version>
551 <goal>attach-artifact</goal>
553 <phase>package</phase>
557 <file>${project.build.directory}/clds-${project.version}-classes.jar</file>
559 <classifier>classes</classifier>
568 <groupId>org.springframework.boot</groupId>
569 <artifactId>spring-boot-maven-plugin</artifactId>
570 <version>1.5.3.RELEASE</version>
574 <goal>repackage</goal>
576 <phase>package</phase>
581 <artifactId>maven-release-plugin</artifactId>
584 <groupId>org.apache.maven.scm</groupId>
585 <artifactId>maven-scm-provider-gitexe</artifactId>
586 <version>1.9</version>
591 <groupId>org.apache.maven.plugins</groupId>
592 <artifactId>maven-gpg-plugin</artifactId>
593 <version>1.5</version>
599 <id>sign-artifacts</id>
600 <phase>verify</phase>
608 <groupId>org.sonatype.plugins</groupId>
609 <artifactId>nexus-staging-maven-plugin</artifactId>
610 <version>1.6.7</version>
611 <extensions>true</extensions>
613 <serverId>ossrhajsc</serverId>
614 <nexusUrl>https://oss.sonatype.org/</nexusUrl>
615 <autoReleaseAfterClose>true</autoReleaseAfterClose>
616 <skipNexusStagingDeployMojo>${skip.staging.artifacts}</skipNexusStagingDeployMojo>
620 <groupId>com.github.kongchen</groupId>
621 <artifactId>swagger-maven-plugin</artifactId>
625 <locations>org.onap.clamp.clds.service.rs</locations>
626 <basePath>//rest</basePath>
628 <title>${project.artifactId} Service</title>
629 <version>${project.version}</version>
631 <swaggerDirectory>${swagger.directory}</swaggerDirectory>
637 <phase>compile</phase>
639 <goal>generate</goal>
645 <groupId>com.spotify</groupId>
646 <artifactId>docker-maven-plugin</artifactId>
647 <version>0.4.11</version>
649 <imageName>${docker.push.registry}/onap/clamp</imageName>
650 <dockerDirectory>src/main/docker</dockerDirectory>
651 <serverId>docker-hub</serverId>
653 <imageTag>${project.version}</imageTag>
654 <imageTag>latest</imageTag>
656 <forceTags>true</forceTags>
659 <targetPath>/</targetPath>
660 <directory>${project.build.directory}</directory>
661 <include>${project.build.finalName}.jar</include>
664 <targetPath>/</targetPath>
665 <directory>${project.build.directory}</directory>
666 <include>etc/config/**</include>
673 <phase>package</phase>
678 <skipDockerBuild>${skip.docker.build}</skipDockerBuild>
680 <http_proxy>${env.HTTP_PROXY}</http_proxy>
681 <https_proxy>${env.HTTPS_PROXY}</https_proxy>
687 <phase>package</phase>
692 <image>onap/clamp</image>
693 <newName>${docker.push.registry}/onap/clamp</newName>
694 <pushImage>true</pushImage>
695 <skipDockerTag>${skip.docker.tag}</skipDockerTag>
700 <phase>deploy</phase>
705 <skipDockerPush>${skip.docker.push}</skipDockerPush>
711 <groupId>org.apache.maven.plugins</groupId>
712 <artifactId>maven-surefire-plugin</artifactId>
713 <version>2.19.1</version>
715 <forkCount>1</forkCount>
716 <reuseForks>false</reuseForks>
721 <groupId>org.apache.maven.plugins</groupId>
722 <artifactId>maven-failsafe-plugin</artifactId>
723 <version>2.16</version>
728 <goal>integration-test</goal>
732 <forkCount>1</forkCount>
733 <reuseForks>false</reuseForks>
740 <groupId>io.fabric8</groupId>
741 <artifactId>docker-maven-plugin</artifactId>
742 <version>0.16.5</version>
744 <verbose>true</verbose>
745 <apiVersion>1.23</apiVersion>
748 <name>mariadb:10.1.11</name>
749 <alias>mariadb</alias>
752 <MYSQL_ROOT_PASSWORD>strong_pitchou</MYSQL_ROOT_PASSWORD>
754 <hostname>mariadb</hostname>
757 <volume>${project.basedir}/extra/sql/:/docker-entrypoint-initdb.d</volume>
758 <volume>${project.basedir}/extra/docker/mariadb/conf1:/etc/mysql/conf.d</volume>
762 <log>socket: '/var/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution</log>
766 <port>${docker.mariadb.port.host}:3306</port>
775 <id>mariadb-start-for-it</id>
776 <phase>pre-integration-test</phase>
781 <skip>${skipITs}</skip>
785 <id>mariadb-stop-for-it</id>
786 <phase>post-integration-test</phase>
791 <skip>${skipITs}</skip>
798 <groupId>org.jacoco</groupId>
799 <artifactId>jacoco-maven-plugin</artifactId>
800 <version>0.7.7.201606060606</version>
802 <dumpOnExit>true</dumpOnExit>
804 <include>org.onap.clamp.*</include>
809 <id>jacoco-unit-tests</id>
811 <goal>prepare-agent</goal>
814 <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
815 <!-- <append>true</append> -->
819 <id>jacoco-integration-tests</id>
820 <phase>pre-integration-test</phase>
822 <goal>prepare-agent</goal>
825 <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
826 <!-- <append>true</append> -->
832 <!-- license plugin -->
834 <groupId>org.codehaus.mojo</groupId>
835 <artifactId>license-maven-plugin</artifactId>
836 <version>1.12</version>
838 <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
839 <projectName>ONAP CLAMP</projectName>
840 <canUpdateCopyright>true</canUpdateCopyright>
841 <canUpdateDescription>true</canUpdateDescription>
842 <canUpdateLicense>true</canUpdateLicense>
844 <processStartTag>============LICENSE_START=======================================================</processStartTag>
845 <processEndTag><![CDATA[ECOMP is a trademark and service mark of AT&T Intellectual Property.]]></processEndTag>
846 <sectionDelimiter>================================================================================</sectionDelimiter>
847 <organizationName>AT&T Intellectual Property. All rights
848 reserved.</organizationName>
849 <inceptionYear>2017</inceptionYear>
850 <emptyLineAfterHeader>true</emptyLineAfterHeader>
852 <licenseName>clamp_apache_v2</licenseName>
853 <licenseResolver>${project.baseUri}/src/licenses</licenseResolver>
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>
868 <!-- This plugin will be useful when we will have multi-modules project -->
870 <groupId>org.codehaus.mojo</groupId>
871 <artifactId>versions-maven-plugin</artifactId>
872 <version>1.3.1</version>
880 <skip.staging.artifacts>true</skip.staging.artifacts>
881 <skip.docker.build>false</skip.docker.build>