<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ ONAP CLAMP
+ ================================================================================
+ Copyright (C) 2017 AT&T Intellectual Property. All rights
+ reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END============================================
+ ===================================================================
+ ECOMP is a trademark and service mark of AT&T Intellectual Property.
+-->
+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.onap.clamp</groupId>
<artifactId>clds</artifactId>
- <version>0.0.1-SNAPSHOT</version>
+ <version>1.0.1-SNAPSHOT</version>
<name>ONAP CLAMP</name>
+ <parent>
+ <groupId>org.onap.oparent</groupId>
+ <artifactId>oparent</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <description>
+ This project build the ONAP CLAMP JAR that contains AJSC + CLAMP code.
+
+ By Default "mvn clean install" command will execute also the unit tests
+ and the integration tests. The integration tests require a docker engine running.
+
+ If you want to skip the intergation test you can by doing:
+ "mvn clean install -DskipITs=true"
+
+ For Spring it's possible to specify the application.properties location
+ "mvn clean install -Dspring.config.location=classpath:application-test.properties"
+
+ The application.properties contains the location of the CLAMP parameters files:
+ - org.onap.clamp.config.files.cldsReference=classpath:/clds/clds-reference.properties
+ - org.onap.clamp.config.files.cldsPolicyConfig=classpath:/clds/clds-policy-config.properties
+ - org.onap.clamp.config.files.cldsUsers=classpath:/clds/clds-users.json
+ - org.onap.clamp.config.files.globalClds=classpath:/clds/globalClds.properties
+
+ </description>
+
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <docker.mariadb.port.host>3306</docker.mariadb.port.host>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+
+ <docker.mariadb.port.host>3306</docker.mariadb.port.host>
<sdk.java.common.logging>0.0.3-oss</sdk.java.common.logging>
<project.scm.id>git-server</project.scm.id>
- <swagger.directory>${basedir}/target/classes/META-INF/resources/icd</swagger.directory>
- <icd.file>service.json</icd.file>
- <icd.package>org.onap.clamp.clds.service.rs</icd.package>
<java.version>1.8</java.version>
- <build.number>local</build.number>
- <service.account>ajsc-svc-account</service.account>
- <namespace>com.att.ajsc</namespace>
- <jsf.version>2.2.11</jsf.version>
<csi.logging>6.1.0.6-oss</csi.logging>
<sdk.camel.rest>6.2.0.6-oss</sdk.camel.rest>
<sdk.camunda.core>6.1.0.3-oss</sdk.camunda.core>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+
<sonar.language>java</sonar.language>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
<sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
<sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
<sonar.projectVersion>${project.version}</sonar.projectVersion>
- <clamp.registry>localhost:5000</clamp.registry>
+ <docker.push.registry>localhost:5000</docker.push.registry>
<skip.docker.build>true</skip.docker.build>
- <skip.docker.tag>true</skip.docker.tag>
<skip.docker.push>true</skip.docker.push>
<skip.staging.artifacts>false</skip.staging.artifacts>
<name>Maven 2 repository 2</name>
<url>http://repo2.maven.org/maven2/</url>
</repository>
- <repository>
- <id>JBOSS</id>
- <name>JBoss Repository</name>
- <url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
- </repository>
- <repository>
- <id>jboss-deprecated-repository</id>
- <name>JBoss Deprecated Maven Repository</name>
- <url>https://repository.jboss.org/nexus/content/repositories/deprecated/</url>
- </repository>
<repository>
<id>ecomp-releases</id>
<name>ONAP Release Repository</name>
<id>ecomp-snapshots</id>
<name>ONAP Snapshot Repository</name>
<url>${nexusproxy}/${snapshotNexusPath}</url>
- <snapshots><enabled>true</enabled></snapshots>
- <releases><enabled>false</enabled></releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
</repository>
<repository>
<id>spring-repo</id>
<url>https://artifacts.alfresco.com/nexus/content/repositories/public/</url>
</repository>
<repository>
- <id>soapUI</id>
- <url>http://www.soapui.org/repository/maven2/</url>
- <name>SoapUI plugin</name>
+ <id>repository.jboss.org-public</id>
+ <name>JBoss.org Maven repository</name>
+ <url>https://repository.jboss.org/nexus/content/groups/public</url>
</repository>
</repositories>
- <description>
- This project build the ONAP CLAMP JAR that contains AJSC + CLAMP code.
-
- By Default "mvn clean install" command will execute also the unit tests
- and the integration tests. The integration tests require a docker engine running.
-
- If you want to skip the intergation test you can by doing:
- "mvn clean install -DskipITs=true"
-
- For Spring it's possible to specify the application.properties location
- "mvn clean install -Dspring.config.location=classpath:application-test.properties"
-
- The application.properties contains the location of the CLAMP parameters files:
- clds-policy-config.properties and clds-reference.properties
-
- The licenses and headers can be generated by using this maven command:
- mvn license:update-file-header license:update-project-license
- </description>
-
<dependencyManagement>
<dependencies>
<dependency>
</dependencyManagement>
<dependencies>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-vfs2</artifactId>
- <version>2.0</version>
- </dependency>
+
+ <dependency>
+ <groupId>com.googlecode.json-simple</groupId>
+ <artifactId>json-simple</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-vfs2</artifactId>
+ <version>2.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.security</groupId>
+ <artifactId>spring-security-test</artifactId>
+
+ <scope>test</scope>
+ </dependency>
+
+
<!-- Dependencies of parent pom start -->
<dependency>
<groupId>com.att.ajsc</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-security</artifactId>
- </dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-security</artifactId>
+ </dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.8</version>
</dependency>
+
<!-- Camunda Core -->
<dependency>
<groupId>com.att.ajsc</groupId>
</dependency>
<!-- CSI Logging End -->
<dependency>
- <groupId>org.openecomp.policy.engine</groupId>
+ <groupId>org.onap.policy.engine</groupId>
<artifactId>PolicyEngineAPI</artifactId>
<version>1.1.0-SNAPSHOT</version>
<exclusions>
<artifactId>apache-log4j-extras</artifactId>
<groupId>log4j</groupId>
</exclusion>
+ <exclusion>
+ <artifactId>jackson-databind</artifactId>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ </exclusion>
</exclusions>
</dependency>
<dependency>
- <groupId>org.openecomp.policy.common</groupId>
- <artifactId>ECOMP-Logging</artifactId>
+ <groupId>org.onap.policy.common</groupId>
+ <artifactId>ONAP-Logging</artifactId>
<version>1.1.0-SNAPSHOT</version>
<exclusions>
<exclusion>
</exclusions>
</dependency>
<dependency>
- <groupId>org.openecomp.policy.engine</groupId>
- <artifactId>ControlloopPolicy</artifactId>
- <version>1.1.0-SNAPSHOT</version>
- <exclusions>
- <exclusion>
- <artifactId>log4j</artifactId>
- <groupId>log4j</groupId>
- </exclusion>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- </exclusion>
- <exclusion>
- <artifactId>apache-log4j-extras</artifactId>
- <groupId>log4j</groupId>
- </exclusion>
- </exclusions>
- </dependency>
-
+ <groupId>org.onap.policy.engine</groupId>
+ <artifactId>ControlloopPolicy</artifactId>
+ <version>1.1.0-SNAPSHOT</version>
+ <exclusions>
+ <exclusion>
+ <artifactId>log4j</artifactId>
+ <groupId>log4j</groupId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ </exclusion>
+ <exclusion>
+ <artifactId>apache-log4j-extras</artifactId>
+ <groupId>log4j</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-databind</artifactId>
+ <version>2.6.3</version>
+ </dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
- <!-- >version>2.0.0-RC1</version <version>${fasterxml.jackson.version}</version -->
<version>2.6.3</version>
</dependency>
<dependency>
</dependencies>
<build>
+ <finalName>clamp</finalName>
+
<testResources>
- <testResource>
- <directory>src/test/resources</directory>
- <includes>
- <include>**/*</include>
- </includes>
- <filtering>true</filtering>
- </testResource>
- </testResources>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
+ <testResource>
+ <directory>src/test/resources</directory>
+ <excludes>
+ <exclude>**/*.jks</exclude>
+ </excludes>
<filtering>true</filtering>
- </resource>
- <resource>
- <directory>target/generated-sources/license</directory>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources/https</directory>
<includes>
- <include>third-party-licenses.txt</include>
+ <include>**.jks</include>
</includes>
- </resource>
- <resource>
- <directory>target/generated-resources/licenses</directory>
- <includes>
- <include>*.*</include>
- </includes>
- <targetPath>third-party-licenses</targetPath>
- </resource>
+ <filtering>false</filtering>
+ <targetPath>https</targetPath>
+ </testResource>
+ </testResources>
+ <resources>
<resource>
- <directory>${project.basedir}/etc</directory>
- <targetPath>${project.build.directory}/etc</targetPath>
+ <directory>src/main/resources</directory>
<filtering>true</filtering>
- <includes>
- <include>**/*</include>
- </includes>
</resource>
<resource>
<directory>src/main/docker</directory>
</includes>
<filtering>true</filtering>
</resource>
- <resource>
- <directory>src/main/doxygen</directory>
- <includes>
- <include>**/*</include>
- </includes>
- <filtering>true</filtering>
- </resource>
</resources>
- <pluginManagement>
- <plugins>
- <!--This plugin's configuration is used to store Eclipse m2e settings
- only. It has no influence on the Maven build itself. -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-release-plugin</artifactId>
- <version>2.5.3</version>
- <configuration>
- <tagBase>${projectTag}</tagBase>
- <scmCommentPrefix>${scm.commit.message}</scmCommentPrefix>
- </configuration>
- </plugin>
- <plugin>
- <groupId>com.github.kongchen</groupId>
- <artifactId>swagger-maven-plugin</artifactId>
- <version>3.1.3</version>
- <configuration>
- <apiSources>
- <apiSource>
- <locations>${icd.package}</locations>
- <basePath>/</basePath>
- <info>
- <title>${project.artifactId} Service</title>
- <version>${project.version}</version>
- </info>
- <swaggerDirectory>${swagger.directory}</swaggerDirectory>
- </apiSource>
- </apiSources>
- </configuration>
- <executions>
- <execution>
- <phase>compile</phase>
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.eclipse.m2e</groupId>
- <artifactId>lifecycle-mapping</artifactId>
- <version>1.0.0</version>
- <configuration>
- <lifecycleMappingMetadata>
- <pluginExecutions>
- <pluginExecution>
- <pluginExecutionFilter>
- <groupId>com.github.kongchen</groupId>
- <artifactId>swagger-maven-plugin</artifactId>
- <versionRange>3.1.3</versionRange>
- <goals>
- <goal>generate</goal>
- </goals>
- </pluginExecutionFilter>
- <action>
- <ignore />
- </action>
- </pluginExecution>
- </pluginExecutions>
- </lifecycleMappingMetadata>
- </configuration>
- </plugin>
- </plugins>
- </pluginManagement>
+
<plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <version>3.0.2</version>
- <executions>
- <execution>
- <id>jar-with-only-classes</id>
- <phase>package</phase>
- <goals>
- <goal>jar</goal>
- </goals>
- <configuration>
- <classifier>classes</classifier>
- <excludes>
- <exclude>META-INF/resources/designer/**</exclude>
- <exclude>META-INF/resources/icd/**</exclude>
- <exclude>META-INF/resources/index.html</exclude>
- </excludes>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- <version>3.0.0</version>
- <executions>
- <execution>
- <goals>
- <goal>attach-artifact</goal>
- </goals>
- <phase>package</phase>
- <configuration>
- <artifacts>
- <artifact>
- <file>${project.build.directory}/clds-${project.version}-classes.jar</file>
- <type>jar</type>
- <classifier>classes</classifier>
- </artifact>
- </artifacts>
- </configuration>
- </execution>
- </executions>
- </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.0.2</version>
+ <executions>
+ <execution>
+ <id>jar-with-only-classes</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ <configuration>
+ <classifier>classes</classifier>
+ <includes>
+ <include>org/**</include>
+ </includes>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>com.github.kongchen</groupId>
+ <artifactId>swagger-maven-plugin</artifactId>
+ <version>3.1.5</version>
+ <executions>
+ <execution>
+ <phase>compile</phase>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <apiSources>
+ <apiSource>
+ <locations>
+ <location>org.onap.clamp.clds.service</location>
+ </locations>
+ <basePath>/</basePath>
+ <info>
+ <title>${project.artifactId} Service</title>
+ <version>${project.version}</version>
+ </info>
+ <swaggerDirectory>${project.build.directory}/classes/META-INF/resources/icd</swaggerDirectory>
+ </apiSource>
+ </apiSources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>3.0.0</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>attach-artifact</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <artifacts>
+ <artifact>
+ <file>${project.build.directory}/clamp-classes.jar</file>
+ <type>jar</type>
+ <classifier>classes</classifier>
+ </artifact>
+ </artifacts>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
</execution>
</executions>
</plugin>
- <plugin>
- <artifactId>maven-release-plugin</artifactId>
- <dependencies>
- <dependency>
- <groupId>org.apache.maven.scm</groupId>
- <artifactId>maven-scm-provider-gitexe</artifactId>
- <version>1.9</version>
- </dependency>
- </dependencies>
- </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.6.7</version>
<extensions>true</extensions>
<configuration>
- <serverId>ossrhajsc</serverId>
- <nexusUrl>https://oss.sonatype.org/</nexusUrl>
- <autoReleaseAfterClose>true</autoReleaseAfterClose>
+ <nexusUrl>${nexusproxy}</nexusUrl>
+ <stagingProfileId>176c31dfe190a</stagingProfileId>
+ <serverId>ecomp-staging</serverId>
<skipNexusStagingDeployMojo>${skip.staging.artifacts}</skipNexusStagingDeployMojo>
</configuration>
</plugin>
- <plugin>
- <groupId>com.github.kongchen</groupId>
- <artifactId>swagger-maven-plugin</artifactId>
- <configuration>
- <apiSources>
- <apiSource>
- <locations>org.onap.clamp.clds.service.rs</locations>
- <basePath>//rest</basePath>
- <info>
- <title>${project.artifactId} Service</title>
- <version>${project.version}</version>
- </info>
- <swaggerDirectory>${swagger.directory}</swaggerDirectory>
- </apiSource>
- </apiSources>
- </configuration>
- <executions>
- <execution>
- <phase>compile</phase>
- <goals>
- <goal>generate</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
- <version>0.4.11</version>
+ <version>1.0.0</version>
<configuration>
<imageName>onap/clamp</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<directory>${project.build.directory}</directory>
<include>etc/config/**</include>
</resource>
+ <resource>
+ <targetPath>/</targetPath>
+ <directory>${project.build.directory}</directory>
+ <include>etc/keystore/**</include>
+ </resource>
</resources>
</configuration>
<executions>
</goals>
<configuration>
<image>onap/clamp</image>
- <newName>${clamp.registry}/onap/clamp</newName>
- <pushImage>true</pushImage>
- <skipDockerTag>${skip.docker.tag}</skipDockerTag>
+ <newName>${docker.push.registry}/onap/clamp</newName>
+ <skipDockerTag>${skip.docker.push}</skipDockerTag>
</configuration>
</execution>
<execution>
<goal>push</goal>
</goals>
<configuration>
+ <imageName>${docker.push.registry}/onap/clamp</imageName>
<skipDockerPush>${skip.docker.push}</skipDockerPush>
</configuration>
</execution>
<executions>
<execution>
+ <id>integration-tests</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</volumes>
<wait>
<log>socket: '/var/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution</log>
- <time>60000</time>
+ <time>600000</time>
</wait>
<ports>
<port>${docker.mariadb.port.host}:3306</port>
</configuration>
<executions>
<execution>
- <id>jacoco-unit-tests</id>
+ <id>pre-unit-test</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</configuration>
</execution>
<execution>
- <id>jacoco-integration-tests</id>
+ <id>pre-integration-test</id>
<phase>pre-integration-test</phase>
<goals>
<goal>prepare-agent</goal>
<!-- <append>true</append> -->
</configuration>
</execution>
+ <execution>
+ <goals>
+ <goal>merge</goal>
+ </goals>
+ <phase>post-integration-test</phase>
+ <configuration>
+ <fileSets>
+ <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
+ <directory>${project.build.directory}/coverage-reports</directory>
+ <includes>
+ <include>*.exec</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
+ </configuration>
+ </execution>
</executions>
</plugin>
- <!-- license plugin -->
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>license-maven-plugin</artifactId>
- <version>1.12</version>
- <configuration>
- <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
- <projectName>ONAP CLAMP</projectName>
- <canUpdateCopyright>true</canUpdateCopyright>
- <canUpdateDescription>true</canUpdateDescription>
- <canUpdateLicense>true</canUpdateLicense>
-
- <processStartTag>============LICENSE_START=======================================================</processStartTag>
- <processEndTag><![CDATA[ECOMP is a trademark and service mark of AT&T Intellectual Property.]]></processEndTag>
- <sectionDelimiter>================================================================================</sectionDelimiter>
- <organizationName>AT&T Intellectual Property. All rights
- reserved.</organizationName>
- <inceptionYear>2017</inceptionYear>
- <emptyLineAfterHeader>true</emptyLineAfterHeader>
-
- <licenseName>clamp_apache_v2</licenseName>
- <licenseResolver>${project.baseUri}/src/licenses</licenseResolver>
-
- <excludes>
- <exclude>**/*.properties</exclude>
- <exclude>**/icd/**</exclude>
- <exclude>**/designer/lib/**</exclude>
- <exclude>**/*.json</exclude>
- <exclude>**/*.yaml</exclude>
- <exclude>**/*.yml</exclude>
- <exclude>**/licenses/**</exclude>
- </excludes>
- </configuration>
-
- </plugin>
-
<!-- This plugin will be useful when we will have multi-modules project -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<properties>
<skip.staging.artifacts>true</skip.staging.artifacts>
<skip.docker.build>false</skip.docker.build>
+ <skip.docker.tag>false</skip.docker.tag>
+ <skip.docker.push>false</skip.docker.push>
</properties>
</profile>
</profiles>