-<?xml version="1.0" encoding="UTF-8"?>
+<!--
+============LICENSE_START=======================================================
+org.onap.aai
+================================================================================
+Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+Copyright © 2017-2018 Amdocs
+================================================================================
+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=========================================================
+-->
<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>
<parent>
- <groupId>com.att.ajsc</groupId>
- <artifactId>ajsc-archetype-parent</artifactId>
- <version>2.0.0</version>
+ <groupId>org.onap.aai</groupId>
+ <artifactId>champ</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
</parent>
- <groupId>org.onap.aai</groupId>
+ <groupId>org.onap.aai.champ</groupId>
<artifactId>champ-service</artifactId>
- <version>1.2.0-SNAPSHOT</version>
<properties>
- <runAjscHome>${basedir}/target/swm/package/nix/dist_files${distFilesRoot}</runAjscHome>
- <ajscRuntimeVersion>2.0.0</ajscRuntimeVersion>
-
- <absoluteDistFilesRoot>/appl/${project.artifactId}</absoluteDistFilesRoot>
-
- <!-- For NO Versioning, REMOVE the /${project.version} from the <distFilesRoot>
- property, below. PLEASE, NOTE: If your ${project.version} is a "-SNAPSHOT"
- version, THIS will be used as your directory structure. If you do NOT want
- this, simply remove the "-SNAPSHOT" from your <version> declaration at the
- top of pom.xml -->
- <distFilesRoot>/appl/${project.artifactId}/${project.version}</distFilesRoot>
-
+ <docker.location>${basedir}/target</docker.location>
+ <docker.name>champ</docker.name>
+ <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
<common.logging.groupid>org.onap.aai.logging-service</common.logging.groupid>
<common.logging.version>1.2.2</common.logging.version>
- <org.apache.httpcomponents.httpclient.version>4.5.2</org.apache.httpcomponents.httpclient.version>
+
+ <version.org.apache.commons.commons-lang3>3.7</version.org.apache.commons.commons-lang3>
+ <version.org.hamcrest.hamcrest-library>1.3</version.org.hamcrest.hamcrest-library>
+ <version.org.springframework.boot.spring-boot-dependencies>1.5.15.RELEASE</version.org.springframework.boot.spring-boot-dependencies>
</properties>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-dependencies</artifactId>
+ <version>${version.org.springframework.boot.spring-boot-dependencies}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ <version>4.5.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient-cache</artifactId>
+ <version>4.5.3</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
<dependencies>
<dependency>
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-core</artifactId>
- <version>1.18.6</version>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-web</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-tomcat</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-jetty</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-jersey</artifactId>
</dependency>
- <!-- AJSC Dependencies -->
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>com.att.aft</groupId>
- <artifactId>dme2</artifactId>
- <version>3.1.200</version>
- <scope>provided</scope>
- </dependency>
- <!--Adding this dependency explicit.-->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20160212</version>
</dependency>
- <dependency>
- <groupId>org.glassfish.jersey.core</groupId>
- <artifactId>jersey-client</artifactId>
- <version>2.23</version>
- </dependency>
-
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6.2</version>
</dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </dependency>
+
<dependency>
<groupId>${common.logging.groupid}</groupId>
<artifactId>common-logging</artifactId>
<version>${common.logging.version}</version>
- </dependency>
-
- <dependency>
- <groupId>ch.qos.logback</groupId>
- <artifactId>logback-core</artifactId>
- <version>1.1.7</version>
+ <exclusions>
+ <exclusion>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-core</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
</dependency>
<dependency>
- <groupId>org.apache.httpcomponents</groupId>
- <artifactId>httpclient</artifactId>
- <version>${org.apache.httpcomponents.httpclient.version}</version>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.7</version>
</dependency>
- <!-- Champ graph database library. -->
<dependency>
- <groupId>org.onap.aai</groupId>
+ <groupId>org.onap.aai.champ.champ-lib</groupId>
<artifactId>champ-core</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>${project.version}</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
</exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>log4j</groupId>
+ <artifactId>apache-log4j-extras</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
</exclusions>
</dependency>
+
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-library</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.skyscreamer</groupId>
+ <artifactId>jsonassert</artifactId>
+ <version>1.5.0</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <version>1.2.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-core</artifactId>
+ <version>1.2.3</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.onap.dmaap.messagerouter.dmaapclient</groupId>
+ <artifactId>dmaapClient</artifactId>
+ <version>1.1.5</version>
+ </dependency>
</dependencies>
+ <distributionManagement>
+ <repository>
+ <id>ecomp-releases</id>
+ <name>ECOMP Release Repository</name>
+ <url>${onap.nexus.url}/content/repositories/releases/</url>
+ </repository>
+ <snapshotRepository>
+ <id>ecomp-snapshots</id>
+ <name>ECOMP Snapshot Repository</name>
+ <url>${onap.nexus.url}/content/repositories/snapshots/</url>
+ </snapshotRepository>
+ </distributionManagement>
+
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ <configuration>
+ <layout>ZIP</layout>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>repackage</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<resource>
<directory>${basedir}/src/main/bin/</directory>
</resource>
+ <resource>
+ <directory>../champ-service-deps-janus/target/</directory>
+ </resource>
+ <resource>
+ <directory>../champ-service-deps-titan/target/</directory>
+ </resource>
+ <resource>
+ <directory>${basedir}</directory>
+ <includes>
+ <include>**/dynamic/**/*</include>
+ </includes>
+ </resource>
</resources>
</configuration>
</execution>
<header>License.txt</header>
<includes>
<include>src/main/java/**</include>
+ <include>src/test/java/**</include>
+ <include>pom.xml</include>
</includes>
+ <skipExistingHeaders>true</skipExistingHeaders>
</configuration>
<executions>
<execution>
<goals>
- <goal>format</goal>
+ <!-- Set goal to "format" to auto update license headers -->
+ <goal>check</goal>
</goals>
<phase>process-sources</phase>
</execution>
<configuration>
<verbose>true</verbose>
<serverId>docker-hub</serverId>
- <imageName>${docker.push.registry}/onap/${project.artifactId}</imageName>
+ <imageName>${docker.push.registry}/onap/${docker.name}</imageName>
<dockerDirectory>${docker.location}</dockerDirectory>
<imageTags>
<imageTag>latest</imageTag>
</plugin>
<plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>0.7.9</version>
- <executions>
- <execution>
- <id>default-prepare-agent</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- </execution>
- <execution>
- <id>default-report</id>
- <phase>prepare-package</phase>
- <goals>
- <goal>report</goal>
- </goals>
- </execution>
- <execution>
- <id>default-check</id>
- <goals>
- <goal>check</goal>
- </goals>
- <configuration>
- <rules>
- <!-- implementation is needed only for Maven 2 -->
- <rule implementation="org.jacoco.maven.RuleConfiguration">
- <element>BUNDLE</element>
- <limits>
- <!-- implementation is needed only for Maven 2 -->
- <limit implementation="org.jacoco.report.check.Limit">
- <counter>INSTRUCTION</counter>
- <value>COVEREDRATIO</value>
- <minimum>.15</minimum>
- </limit>
- <limit implementation="org.jacoco.report.check.Limit">
- <counter>BRANCH</counter>
- <value>COVEREDRATIO</value>
- <minimum>.12</minimum>
- </limit>
- <limit implementation="org.jacoco.report.check.Limit">
- <counter>COMPLEXITY</counter>
- <value>COVEREDRATIO</value>
- <minimum>.15</minimum>
- </limit>
- <limit implementation="org.jacoco.report.check.Limit">
- <counter>LINE</counter>
- <value>COVEREDRATIO</value>
- <minimum>.10</minimum>
- </limit>
- <limit implementation="org.jacoco.report.check.Limit">
- <counter>METHOD</counter>
- <value>COVEREDRATIO</value>
- <minimum>.17</minimum>
- </limit>
- <limit implementation="org.jacoco.report.check.Limit">
- <counter>CLASS</counter>
- <value>MISSEDCOUNT</value>
- <maximum>5</maximum>
- </limit>
- </limits>
- </rule>
- </rules>
- </configuration>
- </execution>
- </executions>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.sonatype.plugins</groupId>
+ <artifactId>nexus-staging-maven-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
</plugin>
</plugins>
</build>
-
- <profiles>
- <profile>
- <id>runAjsc</id>
- <build>
- <defaultGoal>initialize</defaultGoal>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>exec-maven-plugin</artifactId>
- <version>1.3.2</version>
- <executions>
- <execution>
- <phase>initialize</phase>
- <goals>
- <goal>java</goal>
- </goals>
- <configuration>
- <includeProjectDependencies>false</includeProjectDependencies>
- <includePluginDependencies>true</includePluginDependencies>
- <executable>java</executable>
- <mainClass>com.att.ajsc.runner.Runner</mainClass>
- <executableDependency>
- <groupId>com.att.ajsc</groupId>
- <artifactId>ajsc-runner</artifactId>
- </executableDependency>
- <additionalClasspathElements>
- <additionalClasspathElement>${basedir}/ajsc-shared-config/etc</additionalClasspathElement>
- </additionalClasspathElements>
-
- <environmentVariables>
- <AJSC_HOME>${runAjscHome}</AJSC_HOME>
- </environmentVariables>
-
- <!-- Main AJSC System Properties below (necessary for proper startup) -->
- <systemProperties>
- <systemProperty>
- <key>AJSC_HOME</key>
- <value>${runAjscHome}</value>
- </systemProperty>
- <systemProperty>
- <key>CONFIG_HOME</key>
- <value>${basedir}/appconfig-local/</value>
- </systemProperty>
- <systemProperty>
- <key>AJSC_CONF_HOME</key>
- <value>${basedir}/bundleconfig-local</value>
- </systemProperty>
- <systemProperty>
- <key>logback.configurationFile</key>
- <value>${basedir}/ajsc-shared-config/etc/logback.xml</value>
- </systemProperty>
- <systemProperty>
- <key>AJSC_SHARED_CONFIG</key>
- <value>${basedir}/ajsc-shared-config</value>
- </systemProperty>
-
- <sysproperty>
- <key>AJSC_EXTERNAL_LIB_FOLDERS</key>
- <value>${basedir}/target/commonLibs</value>
- </sysproperty>
- <sysproperty>
- <key>AJSC_EXTERNAL_PROPERTIES_FOLDERS</key>
- <value>${basedir}/ajsc-shared-config/etc</value>
- </sysproperty>
-
- <systemProperty>
- <key>AJSC_SERVICE_NAMESPACE</key>
- <value>${module.ajsc.namespace.name}</value>
- </systemProperty>
- <systemProperty>
- <key>AJSC_SERVICE_VERSION</key>
- <value>${module.ajsc.namespace.version}</value>
- </systemProperty>
- <systemProperty>
- <key>SOACLOUD_SERVICE_VERSION</key>
- <value>${project.version}</value>
- </systemProperty>
- <systemProperty>
- <key>server.port</key>
- <value>${serverPort}</value>
- </systemProperty>
- </systemProperties>
-
- <!-- Command Line Arguments to add to the java command. Here, you
- can specify the port as well as the Context you want your service to run
- in. Use context=/ to run in an unnamed Context (Root Context). The default
- configuration of the AJSC is to run under the / Context. Setting the port
- here can aid during the development phase of your service. However, you can
- leave this argument out entirely, and the AJSC will default to using an Ephemeral
- port. -->
- <arguments>
- <argument>context=/</argument>
- <argument>port=${serverPort}</argument>
- <argument>sslport=${sslport}</argument>
- </arguments>
- </configuration>
- </execution>
- </executions>
- <configuration>
- <executable>java</executable>
- </configuration>
- <dependencies>
- <dependency>
- <groupId>com.att.ajsc</groupId>
- <artifactId>ajsc-runner</artifactId>
- <version>${ajscRuntimeVersion}</version>
- </dependency>
- </dependencies>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
</project>