<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>karaf4-parent</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>2.0.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ONAP :: ${project.groupId} :: ${project.artifactId}</name>
<distributionManagement>
<repository>
<id>ecomp-releases</id>
- <url>https://nexus.onap.org/content/repositories/releases</url>
+ <url>${onap.nexus.release-url}</url>
</repository>
<snapshotRepository>
<id>ecomp-snapshots</id>
- <url>https://nexus.onap.org/content/repositories/snapshots</url>
+ <url>${onap.nexus.snapshot-url}</url>
</snapshotRepository>
</distributionManagement>
<properties>
+ <!-- Sonar properties -->
+ <sonar.scanner.version>3.7.0.1746</sonar.scanner.version>
+ <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
+ <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
+ <!-- Default Sonar configuration -->
+ <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml,${project.reporting.outputDirectory}/jacoco-it/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
+ <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
+ <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
+
+ <!-- Jacoco properties -->
+ <jacoco.version>0.8.5</jacoco.version>
<!-- properties from oparent -->
<maven.compiler.source>1.8</maven.compiler.source>
<onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
<!-- sitePath may be overridden in the inheriting POM if desired -->
<sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
- <jacoco.version>0.7.7.201606060606</jacoco.version>
- <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
- <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
- <!-- Default Sonar configuration -->
- <sonar.jacoco.reportPaths>target/code-coverage/jacoco-ut.exec,target/code-coverage/jacoco-it.exec</sonar.jacoco.reportPaths>
- <!-- Note: This list should match jacoco-maven-plugin's exclusion list
- below -->
- <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
+
<!-- If following file exist, auto-generation of swagger.json will be done -->
<swagger-properties>${basedir}/src/main/resources/swagger.properties</swagger-properties>
<!-- If following file exist, auto-generation of sdk will be done -->
<salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
<checkstyle.skip>true</checkstyle.skip>
- <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>
+ <!-- logging-analytics versions -->
+ <logging-analytics.version>1.6.5</logging-analytics.version>
<!-- CCSDK component versions -->
- <ccsdk.sli.core.version>0.7.0-SNAPSHOT</ccsdk.sli.core.version>
- <ccsdk.sli.adaptors.version>0.7.0-SNAPSHOT</ccsdk.sli.adaptors.version>
- <ccsdk.sli.northbound.version>0.7.0-SNAPSHOT</ccsdk.sli.northbound.version>
- <ccsdk.sli.plugins.version>0.7.0-SNAPSHOT</ccsdk.sli.plugins.version>
- <ccsdk.distribution.version>0.7.0-SNAPSHOT</ccsdk.distribution.version>
+ <ccsdk.cds.version>0.7.1-SNAPSHOT</ccsdk.cds.version>
+ <ccsdk.sli.core.version>0.7.1-SNAPSHOT</ccsdk.sli.core.version>
+ <ccsdk.sli.adaptors.version>0.7.1-SNAPSHOT</ccsdk.sli.adaptors.version>
+ <ccsdk.sli.northbound.version>0.7.1-SNAPSHOT</ccsdk.sli.northbound.version>
+ <ccsdk.sli.plugins.version>0.7.1-SNAPSHOT</ccsdk.sli.plugins.version>
+ <ccsdk.distribution.version>0.7.1-SNAPSHOT</ccsdk.distribution.version>
<sdnctl.sli.version>${ccsdk.sli.core.version}</sdnctl.sli.version>
<sdnctl.aai.service.version>${ccsdk.sli.adaptors.version}</sdnctl.aai.service.version>
<sdnctl.dblib.version>${ccsdk.sli.core.version}</sdnctl.dblib.version>
<!-- Used by snmp4sdn, yangtools -->
<javassist.version>3.24.1-GA</javassist.version>
- <!-- FIXME remove all dependencies for jersey 1.17 after migration all
- projects -->
- <!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all,
- snmp4sdn, toolkit -->
+ <!-- FIXME remove all dependencies for jersey 1.17 after migration all projects -->
+ <!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all, snmp4sdn, toolkit -->
<jersey.version>2.25.1</jersey.version>
<!-- Used by sfc -->
<jersey.client.version>2.25.1</jersey.client.version>
<mockito.version>1.10.19</mockito.version>
<!-- Used by bgpcep, netconf, ovsdb, sxp; see also opendove, toolkit -->
<netty.version>4.1.34.Final</netty.version>
- <!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity,
- toolkit -->
+ <!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity, toolkit -->
<slf4j.version>1.7.25</slf4j.version>
- <!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit,
- tsdr, ttp -->
- <spring.version>4.3.24.RELEASE</spring.version>
+ <!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit, tsdr, ttp -->
+ <spring.version>4.3.25.RELEASE</spring.version>
<!-- Extra support libraries used by SDN-C -->
<jvnet.jaxb2.version>0.6.4</jvnet.jaxb2.version>
<eelf.maven.plugin.version>1.0.0</eelf.maven.plugin.version>
<!-- Managed dependency versions -->
- <apache.httpcomponents.core.version>4.4.10</apache.httpcomponents.core.version>
- <apache.httpcomponents.client.version>4.5.6</apache.httpcomponents.client.version>
+ <apache.httpcomponents.core.version>4.4.12</apache.httpcomponents.core.version>
+ <apache.httpcomponents.client.version>4.5.10</apache.httpcomponents.client.version>
<derby.version>10.14.2.0</derby.version>
<eelf.version>1.0.0</eelf.version>
- <grpc.version>1.17.1</grpc.version>
- <mariadb.connector.version>2.1.1</mariadb.connector.version>
- <mariadb4j.version>2.2.3</mariadb4j.version>
- <testng.version>6.11</testng.version>
+ <grpc.version>1.21.1</grpc.version>
+ <mariadb.connector.version>2.4.4</mariadb.connector.version>
+ <mariadb4j.version>2.4.0</mariadb4j.version>
+ <testng.version>6.14.3</testng.version>
<tomcat-jdbc.version>9.0.27</tomcat-jdbc.version>
<jetty.version>9.4.12.v20180830</jetty.version>
<skip.karaf.featureTest>true</skip.karaf.featureTest>
+ <dependency-list.file>direct-dependencies.txt</dependency-list.file>
</properties>
<dependencyManagement>
<dependencies>
-
<!-- Note: If value in BOM conflicts with value inherited from
parent pom, inherited value takes precedence. This seems more like
a bug than a feature, but this is how maven 3.6 works -->
<dependency>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>dependencies-odl-bom</artifactId>
- <version>1.5.1-SNAPSHOT</version>
+ <version>2.0.0-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
-
- <!-- Override incorrect versions in ODL parent poms -->
- <!-- to match versions actually installed in ODL Neon -->
- <dependency>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java</artifactId>
- <version>3.6.1</version>
- </dependency>
<dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-transport</artifactId>
- <version>4.1.34.Final</version>
+ <groupId>org.onap.logging-analytics</groupId>
+ <artifactId>logging-slf4j</artifactId>
+ <version>${logging-analytics.version}</version>
</dependency>
<dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-all</artifactId>
- <version>4.1.34.Final</version>
- <!-- <version>${netty.version}</version> -->
+ <groupId>org.onap.logging-analytics</groupId>
+ <artifactId>logging-filter-base</artifactId>
+ <version>${logging-analytics.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.12</version>
+ <version>${junit.version}</version>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-server</artifactId>
- <version>9.4.12.v20180830</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlets</artifactId>
- <version>9.4.12.v20180830</version>
- </dependency>
- <dependency>
- <groupId>org.glassfish.jersey.bundles.repackaged</groupId>
- <artifactId>jersey-guava</artifactId>
- <version>2.25.1</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jettison</groupId>
- <artifactId>jettison</artifactId>
- <version>1.3.8</version>
- </dependency>
- <dependency>
- <groupId>org.onap.logging-analytics</groupId>
- <artifactId>logging-slf4j</artifactId>
- <version>1.6.1</version>
- </dependency>
- <dependency>
- <groupId>org.onap.logging-analytics</groupId>
- <artifactId>logging-filter-base</artifactId>
- <version>1.6.1</version>
- </dependency>
</dependencies>
-
</dependencyManagement>
<repositories>
<repository>
<id>onap-public</id>
- <url>https://nexus.onap.org/content/groups/public</url>
+ <url>${onap.nexus.public-url}</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</repository>
<repository>
<id>onap-staging</id>
- <url>https://nexus.onap.org/content/groups/staging</url>
+ <url>${onap.nexus.staging-url}</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<repository>
<id>ecomp-release</id>
<name>onap-repository-releases</name>
- <url>https://nexus.onap.org/content/repositories/releases</url>
+ <url>${onap.nexus.release-url}</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<repository>
<id>ecomp-snapshot</id>
<name>onap-repository-snapshots</name>
- <url>https://nexus.onap.org/content/repositories/snapshots</url>
+ <url>${onap.nexus.snapshot-url}</url>
<releases>
<enabled>false</enabled>
</releases>
<repository>
<id>opendaylight-mirror</id>
<name>opendaylight-mirror</name>
- <url>https://nexus.opendaylight.org/content/repositories/public/</url>
+ <url>${opendaylight.nexus.public-url}</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<repository>
<id>opendaylight-snapshot</id>
<name>opendaylight-snapshot</name>
- <url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
+ <url>${opendaylight.nexus.snapshot-url}</url>
<releases>
<enabled>false</enabled>
</releases>
<build>
<pluginManagement>
<plugins>
-
<!-- Plugins from ONAP version (parent of oparent) -->
-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
- <version>3.6.0.1398</version>
+ <version>${sonar.scanner.version}</version>
</plugin>
<!-- end of plugins from ONAP version (parent of oparent) -->
<!-- Plugins from ONAP oparent -->
-
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>${jacoco.version}</version>
- <configuration>
- <!-- Note: This exclusion list should match <sonar.exclusions> property
- above -->
- <excludes>
- <exclude>**/gen/**</exclude>
- <exclude>**/generated-sources/**</exclude>
- <exclude>**/yang-gen/**</exclude>
- <exclude>**/pax/**</exclude>
- </excludes>
- </configuration>
- <executions>
- <!-- Prepares the property pointing to the JaCoCo runtime agent which
- is passed as VM argument when Maven the Surefire plugin is executed. -->
- <execution>
- <id>pre-unit-test</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <!-- Sets the path to the file which contains the execution data. -->
- <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
- <!-- Sets the name of the property containing the settings for JaCoCo
- runtime agent. -->
- <propertyName>surefireArgLine</propertyName>
- </configuration>
- </execution>
- <!-- Ensures that the code coverage report for unit tests is created
- after unit tests have been run. -->
- <execution>
- <id>post-unit-test</id>
- <phase>test</phase>
- <goals>
- <goal>report</goal>
- </goals>
- <configuration>
- <!-- Sets the path to the file which contains the execution data. -->
- <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
- <!-- Sets the output directory for the code coverage report. -->
- <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>pre-integration-test</id>
- <phase>pre-integration-test</phase>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <!-- Sets the path to the file which contains the execution data. -->
- <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
- <!-- Sets the name of the property containing the settings for JaCoCo
- runtime agent. -->
- <propertyName>failsafeArgLine</propertyName>
- </configuration>
- </execution>
- <!-- Ensures that the code coverage report for integration tests after
- integration tests have been run. -->
- <execution>
- <id>post-integration-test</id>
- <phase>post-integration-test</phase>
- <goals>
- <goal>report</goal>
- </goals>
- <configuration>
- <!-- Sets the path to the file which contains the execution data. -->
- <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
- <!-- Sets the output directory for the code coverage report. -->
- <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<tag>${project.artifactId}-${project.version}</tag>
</configuration>
</plugin>
+ <plugin>
+ <groupId>com.github.ferstl</groupId>
+ <artifactId>depgraph-maven-plugin</artifactId>
+ <version>3.3.0</version>
+ <configuration>
+ <graphFormat>text</graphFormat>
+ <outputFileName>${dependency-list.file}</outputFileName>
+ <outputDirectory>${project.basedir}</outputDirectory>
+ <transitiveExcludes>*</transitiveExcludes>
+ <showVersions>true</showVersions>
+ <showGroupIds>true</showGroupIds>
+ </configuration>
+ </plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- Use Google Java Style Guide: https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
with minor changes -->
<configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
- <!-- <sourceDirectory> is needed so that checkstyle ignores the generated
- sources directory -->
+ <!-- <sourceDirectory> is needed so that checkstyle ignores the generated sources directory -->
<sourceDirectory>${project.build.sourceDirectory}/src/main/java</sourceDirectory>
<includeResources>true</includeResources>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco.version}</version>
+ <executions>
+ <execution>
+ <id>pre-unit-test</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
+ <!-- Sets the name of the property containing the settings for JaCoCo runtime agent. -->
+ <propertyName>surefireArgLine</propertyName>
+ </configuration>
+ </execution>
+ <!-- Ensures that the code coverage report for unit tests is created after unit tests have been run. -->
+ <execution>
+ <id>post-unit-test</id>
+ <phase>test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
+ <!-- Sets the output directory for the code coverage report. -->
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
+ </configuration>
+ </execution>
+ <execution>
+ <id>pre-integration-test</id>
+ <phase>pre-integration-test</phase>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
+ <!-- Sets the name of the property containing the settings for JaCoCo runtime agent. -->
+ <propertyName>failsafeArgLine</propertyName>
+ </configuration>
+ </execution>
+ <!-- Ensures that the code coverage report for integration tests after integration tests have been run. -->
+ <execution>
+ <id>post-integration-test</id>
+ <phase>post-integration-test</phase>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <configuration>
+ <!-- Sets the path to the file which contains the execution data. -->
+ <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
+ <!-- Sets the output directory for the code coverage report. -->
+ <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
+ </configuration>
+ </execution>
+ <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>
+ <rule>
+ <element>PACKAGE</element>
+ <limits>
+ <limit>
+ <counter>COMPLEXITY</counter>
+ <value>COVEREDRATIO</value>
+ <minimum>0.0</minimum>
+ </limit>
+ </limits>
+ </rule>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco.version}</version>
+ <reportSets>
+ <reportSet>
+ <reports>
+ <!-- select non-aggregate reports -->
+ <report>report</report>
+ </reports>
+ </reportSet>
+ </reportSets>
+ </plugin>
</plugins>
</reporting>
<configuration>
<exportAntProperties>true</exportAntProperties>
<tasks>
- <taskdef resource="net/sf/antcontrib/antlib.xml"
- classpathref="maven.plugin.classpath"/>
+ <taskdef resource="net/sf/antcontrib/antlib.xml" classpathref="maven.plugin.classpath"/>
<condition property="is_windows" value="true">
<os family="windows"/>
</condition>
<if>
<equals arg1="${is_windows}" arg2="true"/>
<then>
- <property name="swagger.sdk.script.file"
- value="generated-source-script.bat"/>
- <echo
- file="${project.build.directory}${file.separator}generated-source-script.bat"
- append="true"
+ <property name="swagger.sdk.script.file" value="generated-source-script.bat"/>
+ <echo file="${project.build.directory}${file.separator}generated-source-script.bat" append="true"
message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
- <echo
- file="${project.build.directory}${file.separator}generated-source-script.bat"
- append="true"
+ <echo file="${project.build.directory}${file.separator}generated-source-script.bat" append="true"
message="mvn clean install -Dmaven.test.skip=true${line.separator}"/>
</then>
<else>
- <property name="swagger.sdk.script.file"
- value="generated-source-script.sh"/>
- <echo
- file="${project.build.directory}${file.separator}generated-source-script.sh"
- append="true"
+ <property name="swagger.sdk.script.file" value="generated-source-script.sh"/>
+ <echo file="${project.build.directory}${file.separator}generated-source-script.sh" append="true"
message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
- <echo
- file="${project.build.directory}${file.separator}generated-source-script.sh"
- append="true"
+ <echo file="${project.build.directory}${file.separator}generated-source-script.sh" append="true"
message="mvn clean install -Dmaven.test.skip=true${line.separator}"/>
- <chmod
- file="${project.build.directory}${file.separator}generated-source-script.sh"
- perm="755"/>
+ <chmod file="${project.build.directory}${file.separator}generated-source-script.sh" perm="755"/>
</else>
</if>
</tasks>
</dependency>
</dependencies>
</profile>
-
+ <profile>
+ <id>sonar-jacoco-aggregate</id>
+ <activation>
+ <property>
+ <name>onap.jacoco.aggregateFile</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>merge</id>
+ <goals>
+ <goal>merge</goal>
+ </goals>
+ <phase>generate-resources</phase>
+ <configuration>
+ <destFile>${onap.jacoco.aggregateFile}</destFile>
+ <fileSets>
+ <fileSet>
+ <directory>${project.basedir}</directory>
+ <includes>
+ <include>**/target/code-coverage/*.exec</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
<!-- End of profiles from ONAP oparent -->
<profile>
</dependencies>
<executions>
<execution>
+ <id>binding</id>
<goals>
<goal>generate-sources</goal>
</goals>
</plugins>
</build>
</profile>
-
</profiles>
</project>