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 <maven.compiler.source>1.8</maven.compiler.source>
12 <maven.compiler.target>1.8</maven.compiler.target>
13 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
14 <docker.mariadb.port.host>3306</docker.mariadb.port.host>
15 <sdk.java.common.logging>0.0.3-oss</sdk.java.common.logging>
16 <project.scm.id>git-server</project.scm.id>
17 <swagger.directory>${basedir}/target/classes/META-INF/resources/icd</swagger.directory>
18 <icd.file>service.json</icd.file>
19 <icd.package>org.onap.clamp.clds.service.rs</icd.package>
20 <java.version>1.8</java.version>
21 <build.number>local</build.number>
22 <service.account>ajsc-svc-account</service.account>
23 <namespace>com.att.ajsc</namespace>
24 <jsf.version>2.2.11</jsf.version>
25 <csi.logging>6.1.0.6-oss</csi.logging>
26 <sdk.camel.rest>6.2.0.6-oss</sdk.camel.rest>
27 <sdk.camunda.core>6.1.0.3-oss</sdk.camunda.core>
28 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
29 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
30 <sonar.language>java</sonar.language>
31 <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
32 <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
33 <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
34 <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>
35 <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
36 <sonar.projectVersion>${project.version}</sonar.projectVersion>
38 <docker.push.registry>localhost:5000</docker.push.registry>
39 <skip.docker.build>true</skip.docker.build>
40 <skip.docker.tag>true</skip.docker.tag>
41 <skip.docker.push>true</skip.docker.push>
42 <skip.staging.artifacts>false</skip.staging.artifacts>
44 <nexusproxy>https://nexus.onap.org</nexusproxy>
45 <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
46 <releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
47 <stagingNexusPath>/content/repositories/staging/</stagingNexusPath>
48 <sitePath>/content/sites/site/org/onap/clamp/${project.version}</sitePath>
51 <distributionManagement>
53 <id>ecomp-releases</id>
54 <name>Clamp Release Repository</name>
55 <url>${nexusproxy}/${releaseNexusPath}</url>
58 <id>ecomp-snapshots</id>
59 <name>Clamp Snapshot Repository</name>
60 <url>${nexusproxy}/${snapshotNexusPath}</url>
64 <url>dav:${nexusproxy}${sitePath}</url>
66 </distributionManagement>
71 <name>Maven 2 repository 2</name>
72 <url>http://repo2.maven.org/maven2/</url>
76 <name>JBoss Repository</name>
77 <url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
80 <id>jboss-deprecated-repository</id>
81 <name>JBoss Deprecated Maven Repository</name>
82 <url>https://repository.jboss.org/nexus/content/repositories/deprecated/</url>
85 <id>ecomp-releases</id>
86 <name>ONAP Release Repository</name>
87 <url>${nexusproxy}/${releaseNexusPath}</url>
90 <id>ecomp-staging</id>
91 <name>ONAP Staging Repository</name>
92 <url>${nexusproxy}/${stagingNexusPath}</url>
95 <id>ecomp-snapshots</id>
96 <name>ONAP Snapshot Repository</name>
97 <url>${nexusproxy}/${snapshotNexusPath}</url>
98 <snapshots><enabled>true</enabled></snapshots>
99 <releases><enabled>false</enabled></releases>
103 <name>Spring repo</name>
104 <url>https://artifacts.alfresco.com/nexus/content/repositories/public/</url>
108 <url>http://www.soapui.org/repository/maven2/</url>
109 <name>SoapUI plugin</name>
114 This project build the ONAP CLAMP JAR that contains AJSC + CLAMP code.
116 By Default "mvn clean install" command will execute also the unit tests
117 and the integration tests. The integration tests require a docker engine running.
119 If you want to skip the intergation test you can by doing:
120 "mvn clean install -DskipITs=true"
122 For Spring it's possible to specify the application.properties location
123 "mvn clean install -Dspring.config.location=classpath:application-test.properties"
125 The application.properties contains the location of the CLAMP parameters files:
126 clds-policy-config.properties and clds-reference.properties
128 The licenses and headers can be generated by using this maven command:
129 mvn license:update-file-header license:update-project-license
132 <dependencyManagement>
135 <!-- Import dependency management from Spring Boot -->
136 <groupId>org.springframework.boot</groupId>
137 <artifactId>spring-boot-dependencies</artifactId>
138 <version>1.4.1.RELEASE</version>
140 <scope>import</scope>
143 </dependencyManagement>
147 <groupId>org.apache.commons</groupId>
148 <artifactId>commons-vfs2</artifactId>
149 <version>2.0</version>
151 <!-- Dependencies of parent pom start -->
153 <groupId>com.att.ajsc</groupId>
154 <artifactId>sdk-java-common-logging</artifactId>
155 <version>${sdk.java.common.logging}</version>
158 <groupId>org.springframework.boot</groupId>
159 <artifactId>spring-boot-starter-tomcat</artifactId>
160 <scope>compile</scope>
163 <groupId>org.springframework.boot</groupId>
164 <artifactId>spring-boot-starter-actuator</artifactId>
167 <groupId>org.springframework.boot</groupId>
168 <artifactId>spring-boot-starter-security</artifactId>
171 <groupId>org.springframework.boot</groupId>
172 <artifactId>spring-boot-starter-test</artifactId>
176 <groupId>joda-time</groupId>
177 <artifactId>joda-time</artifactId>
180 <groupId>org.springframework</groupId>
181 <artifactId>spring-context</artifactId>
184 <groupId>org.slf4j</groupId>
185 <artifactId>slf4j-api</artifactId>
188 <groupId>javax.ws.rs</groupId>
189 <artifactId>javax.ws.rs-api</artifactId>
190 <version>2.0</version>
193 <groupId>org.springframework</groupId>
194 <artifactId>spring-test</artifactId>
197 <groupId>junit</groupId>
198 <artifactId>junit</artifactId>
201 <groupId>org.mockito</groupId>
202 <artifactId>mockito-all</artifactId>
203 <version>1.9.5</version>
206 <groupId>commons-logging</groupId>
207 <artifactId>commons-logging</artifactId>
208 <version>1.1.1</version>
211 <groupId>org.springframework</groupId>
212 <artifactId>spring-aspects</artifactId>
215 <groupId>com.fasterxml.jackson.core</groupId>
216 <artifactId>jackson-core</artifactId>
219 <groupId>com.fasterxml.jackson.core</groupId>
220 <artifactId>jackson-databind</artifactId>
223 <groupId>org.springframework</groupId>
224 <artifactId>spring-webmvc</artifactId>
227 <groupId>org.springframework.boot</groupId>
228 <artifactId>spring-boot-starter-web</artifactId>
231 <groupId>log4j</groupId>
232 <artifactId>log4j</artifactId>
233 <version>1.2.17</version>
236 <groupId>org.springframework.boot</groupId>
237 <artifactId>spring-boot</artifactId>
240 <groupId>org.springframework.boot</groupId>
241 <artifactId>spring-boot-autoconfigure</artifactId>
244 <groupId>javax.transaction</groupId>
245 <artifactId>jta</artifactId>
246 <version>1.1</version>
249 <groupId>javax.persistence</groupId>
250 <artifactId>persistence-api</artifactId>
251 <version>1.0.2</version>
254 <groupId>org.hibernate</groupId>
255 <artifactId>hibernate-annotations</artifactId>
256 <version>3.5.6-Final</version>
259 <groupId>org.apache.geronimo.specs</groupId>
260 <artifactId>geronimo-jpa_2.0_spec</artifactId>
261 <version>1.1</version>
264 <groupId>dom4j</groupId>
265 <artifactId>dom4j</artifactId>
266 <version>1.6.1</version>
268 <!-- Dependencies of parent pom end -->
270 <groupId>com.att.ajsc</groupId>
271 <artifactId>sdk-java-camel-rest</artifactId>
272 <version>${sdk.camel.rest}</version>
275 <groupId>io.swagger</groupId>
276 <artifactId>swagger-core</artifactId>
277 <version>1.5.8</version>
280 <groupId>io.swagger</groupId>
281 <artifactId>swagger-annotations</artifactId>
282 <version>1.5.8</version>
284 <!-- Camunda Core -->
286 <groupId>com.att.ajsc</groupId>
287 <artifactId>sdk-java-camunda-core</artifactId>
288 <version>${sdk.camunda.core}</version>
292 <groupId>org.springframework</groupId>
293 <artifactId>spring-context-support</artifactId>
297 <groupId>com.att.ajsc</groupId>
298 <artifactId>sdk-java-common-interceptors</artifactId>
299 <version>${csi.logging}</version>
302 <groupId>org.eclipse.jetty.orbit</groupId>
303 <artifactId>javax.servlet</artifactId>
306 <groupId>com.att.ajsc</groupId>
307 <artifactId>ajsc-core</artifactId>
311 <!-- CSI Logging End -->
313 <groupId>org.openecomp.policy.engine</groupId>
314 <artifactId>PolicyEngineAPI</artifactId>
315 <version>1.1.0-SNAPSHOT</version>
318 <artifactId>log4j</artifactId>
319 <groupId>log4j</groupId>
322 <groupId>org.slf4j</groupId>
323 <artifactId>slf4j-log4j12</artifactId>
326 <artifactId>apache-log4j-extras</artifactId>
327 <groupId>log4j</groupId>
332 <groupId>org.openecomp.policy.common</groupId>
333 <artifactId>ECOMP-Logging</artifactId>
334 <version>1.1.0-SNAPSHOT</version>
337 <artifactId>log4j</artifactId>
338 <groupId>log4j</groupId>
341 <groupId>org.slf4j</groupId>
342 <artifactId>slf4j-log4j12</artifactId>
345 <artifactId>apache-log4j-extras</artifactId>
346 <groupId>log4j</groupId>
351 <groupId>org.openecomp.policy.engine</groupId>
352 <artifactId>ControlloopPolicy</artifactId>
353 <version>1.1.0-SNAPSHOT</version>
356 <artifactId>log4j</artifactId>
357 <groupId>log4j</groupId>
360 <groupId>org.slf4j</groupId>
361 <artifactId>slf4j-log4j12</artifactId>
364 <artifactId>apache-log4j-extras</artifactId>
365 <groupId>log4j</groupId>
371 <groupId>com.fasterxml.jackson.dataformat</groupId>
372 <artifactId>jackson-dataformat-yaml</artifactId>
373 <!-- >version>2.0.0-RC1</version <version>${fasterxml.jackson.version}</version -->
374 <version>2.6.3</version>
377 <groupId>org.apache.commons</groupId>
378 <artifactId>commons-csv</artifactId>
379 <version>1.3</version>
382 <groupId>org.jboss.resteasy</groupId>
383 <artifactId>resteasy-client</artifactId>
384 <version>3.0.8.Final</version>
387 <groupId>com.sun.faces</groupId>
388 <artifactId>jsf-api</artifactId>
389 <version>2.1.7</version>
392 <groupId>com.sun.faces</groupId>
393 <artifactId>jsf-impl</artifactId>
394 <version>2.1.7</version>
402 <directory>src/test/resources</directory>
404 <include>**/*</include>
406 <filtering>true</filtering>
411 <directory>src/main/resources</directory>
412 <filtering>true</filtering>
415 <directory>target/generated-sources/license</directory>
417 <include>third-party-licenses.txt</include>
421 <directory>target/generated-resources/licenses</directory>
423 <include>*.*</include>
425 <targetPath>third-party-licenses</targetPath>
428 <directory>${project.basedir}/etc</directory>
429 <targetPath>${project.build.directory}/etc</targetPath>
430 <filtering>true</filtering>
432 <include>**/*</include>
436 <directory>src/main/docker</directory>
438 <include>**/*</include>
440 <filtering>true</filtering>
443 <directory>src/main/doxygen</directory>
445 <include>**/*</include>
447 <filtering>true</filtering>
452 <!--This plugin's configuration is used to store Eclipse m2e settings
453 only. It has no influence on the Maven build itself. -->
455 <groupId>org.apache.maven.plugins</groupId>
456 <artifactId>maven-release-plugin</artifactId>
457 <version>2.5.3</version>
459 <tagBase>${projectTag}</tagBase>
460 <scmCommentPrefix>${scm.commit.message}</scmCommentPrefix>
464 <groupId>com.github.kongchen</groupId>
465 <artifactId>swagger-maven-plugin</artifactId>
466 <version>3.1.3</version>
470 <locations>${icd.package}</locations>
471 <basePath>/</basePath>
473 <title>${project.artifactId} Service</title>
474 <version>${project.version}</version>
476 <swaggerDirectory>${swagger.directory}</swaggerDirectory>
482 <phase>compile</phase>
484 <goal>generate</goal>
490 <groupId>org.eclipse.m2e</groupId>
491 <artifactId>lifecycle-mapping</artifactId>
492 <version>1.0.0</version>
494 <lifecycleMappingMetadata>
497 <pluginExecutionFilter>
498 <groupId>com.github.kongchen</groupId>
499 <artifactId>swagger-maven-plugin</artifactId>
500 <versionRange>3.1.3</versionRange>
502 <goal>generate</goal>
504 </pluginExecutionFilter>
510 </lifecycleMappingMetadata>
517 <groupId>org.apache.maven.plugins</groupId>
518 <artifactId>maven-jar-plugin</artifactId>
519 <version>3.0.2</version>
522 <id>jar-with-only-classes</id>
523 <phase>package</phase>
528 <classifier>classes</classifier>
530 <exclude>META-INF/resources/designer/**</exclude>
531 <exclude>META-INF/resources/icd/**</exclude>
532 <exclude>META-INF/resources/index.html</exclude>
539 <groupId>org.codehaus.mojo</groupId>
540 <artifactId>build-helper-maven-plugin</artifactId>
541 <version>3.0.0</version>
545 <goal>attach-artifact</goal>
547 <phase>package</phase>
551 <file>${project.build.directory}/clds-${project.version}-classes.jar</file>
553 <classifier>classes</classifier>
562 <groupId>org.springframework.boot</groupId>
563 <artifactId>spring-boot-maven-plugin</artifactId>
564 <version>1.5.3.RELEASE</version>
568 <goal>repackage</goal>
570 <phase>package</phase>
575 <artifactId>maven-release-plugin</artifactId>
578 <groupId>org.apache.maven.scm</groupId>
579 <artifactId>maven-scm-provider-gitexe</artifactId>
580 <version>1.9</version>
585 <groupId>org.apache.maven.plugins</groupId>
586 <artifactId>maven-gpg-plugin</artifactId>
587 <version>1.5</version>
593 <id>sign-artifacts</id>
594 <phase>verify</phase>
602 <groupId>org.sonatype.plugins</groupId>
603 <artifactId>nexus-staging-maven-plugin</artifactId>
604 <version>1.6.7</version>
605 <extensions>true</extensions>
607 <serverId>ossrhajsc</serverId>
608 <nexusUrl>https://oss.sonatype.org/</nexusUrl>
609 <autoReleaseAfterClose>true</autoReleaseAfterClose>
610 <skipNexusStagingDeployMojo>${skip.staging.artifacts}</skipNexusStagingDeployMojo>
614 <groupId>com.github.kongchen</groupId>
615 <artifactId>swagger-maven-plugin</artifactId>
619 <locations>org.onap.clamp.clds.service.rs</locations>
620 <basePath>//rest</basePath>
622 <title>${project.artifactId} Service</title>
623 <version>${project.version}</version>
625 <swaggerDirectory>${swagger.directory}</swaggerDirectory>
631 <phase>compile</phase>
633 <goal>generate</goal>
639 <groupId>com.spotify</groupId>
640 <artifactId>docker-maven-plugin</artifactId>
641 <version>0.4.11</version>
643 <imageName>onap/clamp</imageName>
644 <dockerDirectory>src/main/docker</dockerDirectory>
645 <serverId>docker-hub</serverId>
647 <imageTag>${project.version}</imageTag>
648 <imageTag>latest</imageTag>
650 <forceTags>true</forceTags>
653 <targetPath>/</targetPath>
654 <directory>${project.build.directory}</directory>
655 <include>${project.build.finalName}.jar</include>
658 <targetPath>/</targetPath>
659 <directory>${project.build.directory}</directory>
660 <include>etc/config/**</include>
667 <phase>package</phase>
672 <skipDockerBuild>${skip.docker.build}</skipDockerBuild>
674 <http_proxy>${env.HTTP_PROXY}</http_proxy>
675 <https_proxy>${env.HTTPS_PROXY}</https_proxy>
681 <phase>package</phase>
686 <image>onap/clamp</image>
687 <newName>${docker.push.registry}/onap/clamp</newName>
688 <pushImage>true</pushImage>
689 <skipDockerTag>${skip.docker.tag}</skipDockerTag>
694 <phase>deploy</phase>
699 <skipDockerPush>${skip.docker.push}</skipDockerPush>
705 <groupId>org.apache.maven.plugins</groupId>
706 <artifactId>maven-surefire-plugin</artifactId>
707 <version>2.19.1</version>
709 <forkCount>1</forkCount>
710 <reuseForks>false</reuseForks>
715 <groupId>org.apache.maven.plugins</groupId>
716 <artifactId>maven-failsafe-plugin</artifactId>
717 <version>2.16</version>
722 <goal>integration-test</goal>
726 <forkCount>1</forkCount>
727 <reuseForks>false</reuseForks>
734 <groupId>io.fabric8</groupId>
735 <artifactId>docker-maven-plugin</artifactId>
736 <version>0.16.5</version>
738 <verbose>true</verbose>
739 <apiVersion>1.23</apiVersion>
742 <name>mariadb:10.1.11</name>
743 <alias>mariadb</alias>
746 <MYSQL_ROOT_PASSWORD>strong_pitchou</MYSQL_ROOT_PASSWORD>
748 <hostname>mariadb</hostname>
751 <volume>${project.basedir}/extra/sql/:/docker-entrypoint-initdb.d</volume>
752 <volume>${project.basedir}/extra/docker/mariadb/conf1:/etc/mysql/conf.d</volume>
756 <log>socket: '/var/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution</log>
760 <port>${docker.mariadb.port.host}:3306</port>
769 <id>mariadb-start-for-it</id>
770 <phase>pre-integration-test</phase>
775 <skip>${skipITs}</skip>
779 <id>mariadb-stop-for-it</id>
780 <phase>post-integration-test</phase>
785 <skip>${skipITs}</skip>
792 <groupId>org.jacoco</groupId>
793 <artifactId>jacoco-maven-plugin</artifactId>
794 <version>0.7.7.201606060606</version>
796 <dumpOnExit>true</dumpOnExit>
798 <include>org.onap.clamp.*</include>
803 <id>jacoco-unit-tests</id>
805 <goal>prepare-agent</goal>
808 <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
809 <!-- <append>true</append> -->
813 <id>jacoco-integration-tests</id>
814 <phase>pre-integration-test</phase>
816 <goal>prepare-agent</goal>
819 <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
820 <!-- <append>true</append> -->
826 <!-- license plugin -->
828 <groupId>org.codehaus.mojo</groupId>
829 <artifactId>license-maven-plugin</artifactId>
830 <version>1.12</version>
832 <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
833 <projectName>ONAP CLAMP</projectName>
834 <canUpdateCopyright>true</canUpdateCopyright>
835 <canUpdateDescription>true</canUpdateDescription>
836 <canUpdateLicense>true</canUpdateLicense>
838 <processStartTag>============LICENSE_START=======================================================</processStartTag>
839 <processEndTag><![CDATA[ECOMP is a trademark and service mark of AT&T Intellectual Property.]]></processEndTag>
840 <sectionDelimiter>================================================================================</sectionDelimiter>
841 <organizationName>AT&T Intellectual Property. All rights
842 reserved.</organizationName>
843 <inceptionYear>2017</inceptionYear>
844 <emptyLineAfterHeader>true</emptyLineAfterHeader>
846 <licenseName>clamp_apache_v2</licenseName>
847 <licenseResolver>${project.baseUri}/src/licenses</licenseResolver>
850 <exclude>**/*.properties</exclude>
851 <exclude>**/icd/**</exclude>
852 <exclude>**/designer/lib/**</exclude>
853 <exclude>**/*.json</exclude>
854 <exclude>**/*.yaml</exclude>
855 <exclude>**/*.yml</exclude>
856 <exclude>**/licenses/**</exclude>
862 <!-- This plugin will be useful when we will have multi-modules project -->
864 <groupId>org.codehaus.mojo</groupId>
865 <artifactId>versions-maven-plugin</artifactId>
866 <version>1.3.1</version>
874 <skip.staging.artifacts>true</skip.staging.artifacts>
875 <skip.docker.build>false</skip.docker.build>