blob: 6db28f10246ff8af92100674bb1f1a6466d309fa [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<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>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
<relativePath/>
</parent>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ONAP :: ${project.groupId} :: ${project.artifactId}</name>
<description>Root POM to be used in place of odlparent for CCSDK based projects</description>
<url>http://wiki.onap.org</url>
<organization>
<name>ONAP</name>
</organization>
<issueManagement>
<system>JIRA</system>
<url>https://jira.onap.org/</url>
</issueManagement>
<distributionManagement>
<repository>
<id>ecomp-releases</id>
<url>https://nexus.onap.org/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>ecomp-snapshots</id>
<url>https://nexus.onap.org/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
<properties>
<!-- properties from oparent -->
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<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 -->
<swagger-json>${basedir}/src/main/resources/swagger.json</swagger-json>
<!-- end of properties from oparent -->
<!-- ONAP repositories -->
<onap.nexus.host>nexus.onap.org</onap.nexus.host>
<onap.nexus.port>443</onap.nexus.port>
<onap.nexus.protocol>https</onap.nexus.protocol>
<onap.nexus.public-url>https://nexus.onap.org/content/groups/public</onap.nexus.public-url>
<onap.nexus.staging-url>https://nexus.onap.org/content/groups/staging</onap.nexus.staging-url>
<onap.nexus.release-url>https://nexus.onap.org/content/repositories/releases</onap.nexus.release-url>
<onap.nexus.snapshot-url>https://nexus.onap.org/content/repositories/snapshots</onap.nexus.snapshot-url>
<onap.nexus.staging.server-id>ecomp-staging</onap.nexus.staging.server-id>
<onap.nexus.staging.profile-id>176c31dfe190a</onap.nexus.staging.profile-id>
<java.version.source>1.8</java.version.source>
<java.version.target>1.8</java.version.target>
<bundle.plugin.version>2.5.0</bundle.plugin.version>
<maven.compile.plugin.version>2.5.1</maven.compile.plugin.version>
<features.file>features.xml</features.file>
<jmxGeneratorPath>src/main/yang-gen-config</jmxGeneratorPath>
<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>
<!-- 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>
<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>
<sdnctl.mdsal.resource.version>${ccsdk.sli.adaptors.version}</sdnctl.mdsal.resource.version>
<sdnctl.slipluginutils.version>${ccsdk.sli.core.version}</sdnctl.slipluginutils.version>
<!-- Spring versions -->
<spring.boot.version>2.1.8.RELEASE</spring.boot.version>
<spring.version>5.1.9.RELEASE</spring.version>
<!-- Kotlin versions -->
<kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>
<kotlin.version>1.3.50</kotlin.version>
<kotlin.maven.version>1.3.50</kotlin.maven.version>
<kotlin.couroutines.version>1.3.2</kotlin.couroutines.version>
<kotlinpoet.version>1.3.0</kotlinpoet.version>
<kroto-plus.version>0.5.0</kroto-plus.version>
<mockk.version>1.9.3</mockk.version>
<apache.httpcomponents.core.version>4.4.4</apache.httpcomponents.core.version>
<apache.httpcomponents.client.version>4.5.2</apache.httpcomponents.client.version>
<derby.version>10.14.2.0</derby.version>
<eelf.version>1.0.0</eelf.version>
<grpc.version>1.25.0</grpc.version>
<protobuff.java.version>3.10.0</protobuff.java.version>
<protobuff.java.utils.version>3.10.0</protobuff.java.utils.version>
<atomix.version>3.1.5</atomix.version>
<jackson.bom.version>2.9.9.20190807</jackson.bom.version>
<jersey.version>2.25.1</jersey.version>
<jettison.version>1.3.8</jettison.version>
<junit.version>4.12</junit.version>
<logback.version>1.2.3</logback.version>
<mariadb.connector.version>2.1.1</mariadb.connector.version>
<mariadb4j.version>2.2.3</mariadb4j.version>
<slf4j.version>1.7.25</slf4j.version>
<testng.version>6.11</testng.version>
<tomcat-jdbc.version>9.0.27</tomcat-jdbc.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.onap.ccsdk.parent</groupId>
<artifactId>dependencies-bom</artifactId>
<version>1.5.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.onap.ccsdk.sli.core</groupId>
<artifactId>sli-common</artifactId>
<version>${ccsdk.sli.core.version}</version>
</dependency>
<dependency>
<groupId>org.onap.ccsdk.sli.core</groupId>
<artifactId>sli-provider</artifactId>
<version>${ccsdk.sli.core.version}</version>
</dependency>
<dependency>
<groupId>org.onap.ccsdk.sli.core</groupId>
<artifactId>ccsdk-sli</artifactId>
<version>${ccsdk.sli.core.version}</version>
<type>xml</type>
<classifier>features</classifier>
</dependency>
<dependency>
<groupId>org.onap.ccsdk.sli.adaptors</groupId>
<artifactId>aai-service-provider</artifactId>
<version>${sdnctl.aai.service.version}</version>
</dependency>
<dependency>
<groupId>org.onap.ccsdk.sli.core</groupId>
<artifactId>dblib-provider</artifactId>
<version>${sdnctl.dblib.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<id>onap-public</id>
<url>https://nexus.onap.org/content/groups/public</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
<repository>
<id>onap-staging</id>
<url>https://nexus.onap.org/content/groups/staging</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
<repository>
<id>ecomp-release</id>
<name>onap-repository-releases</name>
<url>https://nexus.onap.org/content/repositories/releases</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>ecomp-snapshot</id>
<name>onap-repository-snapshots</name>
<url>https://nexus.onap.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>opendaylight-mirror</id>
<name>opendaylight-mirror</name>
<url>https://nexus.opendaylight.org/content/repositories/public/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>opendaylight-snapshot</id>
<name>opendaylight-snapshot</name>
<url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>onap-public</id>
<url>${onap.nexus.public-url}</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>onap-staging</id>
<url>${onap.nexus.staging-url}</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>onap-snapshot</id>
<url>${onap.nexus.snapshot-url}</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>opendaylight-mirror</id>
<name>opendaylight-mirror</name>
<url>${opendaylight.nexus.public-url}</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
<pluginRepository>
<id>opendaylight-snapshot</id>
<name>opendaylight-snapshot</name>
<url>${opendaylight.nexus.snapshot-url}</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
<!-- Black Duck plugin dependencies -->
<pluginRepository>
<id>JCenter</id>
<name>JCenter Repository</name>
<url>http://jcenter.bintray.com</url>
</pluginRepository>
<pluginRepository>
<id>Restlet</id>
<name>Restlet Repository</name>
<url>http://maven.restlet.com</url>
</pluginRepository>
</pluginRepositories>
<build>
<pluginManagement>
<plugins>
<!-- Plugins from ONAP oparent -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<!-- This version supports the "deployAtEnd" parameter -->
<version>2.8</version>
<configuration>
<skip/>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.6</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav-jackrabbit</artifactId>
<version>2.10</version>
</dependency>
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-core</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-sink-api</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-logging-api</artifactId>
<version>1.7</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>attach-descriptor</id>
<goals>
<goal>attach-descriptor</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<dependencies>
<dependency>
<groupId>org.onap.oparent</groupId>
<artifactId>checkstyle</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>check-license</id>
<goals>
<goal>check</goal>
</goals>
<phase>process-sources</phase>
<configuration>
<configLocation>onap-checkstyle/check-license.xml</configLocation>
<headerLocation>onap-checkstyle/apache-license-2.regexp.txt</headerLocation>
<includeResources>false</includeResources>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<includeTestResources>false</includeTestResources>
<sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
<excludes>
</excludes>
<failsOnError>false</failsOnError>
<consoleOutput>true</consoleOutput>
</configuration>
</execution>
<execution>
<id>check-style</id>
<goals>
<goal>check</goal>
</goals>
<phase>process-sources</phase>
<configuration>
<!-- 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>${project.build.sourceDirectory}/src/main/java</sourceDirectory>
<includeResources>true</includeResources>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<includeTestResources>true</includeTestResources>
<excludes>
</excludes>
<failsOnError>false</failsOnError>
<consoleOutput>true</consoleOutput>
</configuration>
</execution>
</executions>
</plugin>
<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>
<version>2.19.1</version>
<configuration>
<!-- Sets the VM argument line used when unit tests are run. -->
<argLine>${surefireArgLine}</argLine>
<!-- Excludes integration tests when unit tests are run. -->
<excludes>
<exclude>**/IT*.java</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.19.1</version>
<executions>
<!-- Ensures that both integration-test and verify goals of the Failsafe
Maven plugin are executed. -->
<execution>
<id>integration-tests</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<!-- Sets the VM argument line used when integration tests are run. -->
<argLine>${failsafeArgLine}</argLine>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compile.plugin.version}</version>
<configuration>
<source>${java.version.source}</source>
<target>${java.version.target}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.3.0.603</version>
</plugin>
<!-- End of plugins from ONAP oparent -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10</version>
<configuration>
<additionalDependencies>
<additionalDependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>org.antlr</groupId>
<artifactId>antlr4</artifactId>
<version>${antlr.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>org.antlr</groupId>
<artifactId>antlr4-runtime</artifactId>
<version>${antlr.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>${jersey.client.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>${jersey.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore-osgi</artifactId>
<version>${apache.httpcomponents.core.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-osgi</artifactId>
<version>${apache.httpcomponents.client.version}</version>
</additionalDependency>
<additionalDependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>${commons.lang.version}</version>
</additionalDependency>
</additionalDependencies>
</configuration>
<executions>
<execution>
<id>aggregate</id>
<goals>
<goal>aggregate</goal>
</goals>
<phase>site</phase>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- Plugins from ONAP oparent -->
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.12</version>
</plugin>
<!-- Jacoco / Sonar -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
</plugin>
<!-- End of plugins from ONAP oparent -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<goals>
<goal>set-system-properties</goal>
</goals>
<configuration>
<properties>
<property>
<name>maven.wagon.http.ssl.allowall</name>
<value>${ssl.allowall}</value>
</property>
<property>
<name>maven.wagon.http.ssl.insecure</name>
<value>${ssl.insecure}</value>
</property>
</properties>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.5</version>
<configuration>
<processAllModules>true</processAllModules>
</configuration>
</plugin>
<plugin>
<artifactId>maven-scm-plugin</artifactId>
<version>1.8.1</version>
<configuration>
<tag>${project.artifactId}-${project.version}</tag>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
<configuration>
<failOnError>false</failOnError>
<doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
<docletArtifact>
<groupId>org.umlgraph</groupId>
<artifactId>umlgraph</artifactId>
<version>5.6</version>
</docletArtifact>
<additionalparam>-views</additionalparam>
<useStandardDocletOptions>true</useStandardDocletOptions>
<excludePackageNames>org.opendaylight.*</excludePackageNames>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>javadoc-no-fork</report>
<report>test-javadoc-no-fork</report>
</reports>
</reportSet>
<reportSet>
<id>aggregate</id>
<reports>
<report>aggregate</report>
<report>test-aggregate</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.3</version>
<reportSets>
<reportSet>
<id>aggregate</id>
<reports>
<report>aggregate</report>
<report>test-aggregate</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-changelog-plugin</artifactId>
<version>2.3</version>
<reportSets>
<reportSet>
<id>dual-report</id>
<configuration>
<type>range</type>
<range>30</range>
</configuration>
<reports>
<report>changelog</report>
<report>file-activity</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>taglist-maven-plugin</artifactId>
<version>2.4</version>
</plugin>
</plugins>
</reporting>
<profiles>
<!-- Profiles from ONAP oparent -->
<profile>
<id>generate-json</id>
<activation>
<file>
<exists>${swagger-properties}</exists>
</file>
<property>
<name>swagger-sdk.generate-json</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>${basedir}/src/main/resources/swagger.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.github.kongchen</groupId>
<artifactId>swagger-maven-plugin</artifactId>
<version>3.1.4</version>
<configuration>
<apiSources>
<apiSource>
<locations>${api-rest-package}</locations>
<schemes>http,https</schemes>
<host>${api-host-ip}:${api-host-port}</host>
<basePath>${api-base-path}</basePath>
<info>
<title>${api-title}</title>
<version>${api-version}</version>
<description>${api-description}</description>
<license>
<name>${api-license}</name>
</license>
</info>
<swaggerDirectory>${basedir}/src/main/resources</swaggerDirectory>
</apiSource>
</apiSources>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.3.1</version>
<executions>
<execution>
<id>install-file-id</id>
<phase>install</phase>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<file>${basedir}/src/main/resources/swagger.json</file>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}-swagger-schema</artifactId>
<version>${project.version}</version>
<packaging>json</packaging>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>generate-sdk</id>
<activation>
<file>
<exists>${swagger-json}</exists>
</file>
<property>
<name>swagger-sdk.generate-java-sdk</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<phase>initialize</phase>
<id>ant-create-script</id>
<configuration>
<exportAntProperties>true</exportAntProperties>
<tasks>
<taskdef resource="net/sf/antcontrib/antlib.xml" classpathref="maven.plugin.classpath"/>
<condition property="is_windows" value="true">
<os family="windows"/>
</condition>
<condition property="isLinux" value="true">
<os family="unix"/>
</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" message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
<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" message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
<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"/>
</else>
</if>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>1.0b3</version>
<exclusions>
<exclusion>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>io.swagger</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${basedir}/src/main/resources/swagger.json</inputSpec>
<output>${project.build.directory}/generated-sources</output>
<language>java</language>
<configOptions>
<dateLibrary>joda</dateLibrary>
</configOptions>
<library>jersey2</library>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}-java-sdk</artifactId>
<artifactVersion>${project.version}</artifactVersion>
<modelPackage>${project.groupId}.${project.artifactId}.client.model</modelPackage>
<apiPackage>${project.groupId}.${project.artifactId}.client.api</apiPackage>
<invokerPackage>${project.groupId}.${project.artifactId}.client.invoker</invokerPackage>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.5.0</version>
<executions>
<execution>
<id>swagger-generate-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<executable>${project.build.directory}${file.separator}${swagger.sdk.script.file}</executable>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>clean-generated-files</id>
<phase>generate-sources</phase>
<goals>
<goal>clean</goal>
</goals>
<configuration>
<filesets>
<fileset>
<directory>${project.build.directory}/generated-sources</directory>
</fileset>
</filesets>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.onap.msb.swagger-sdk</groupId>
<artifactId>swagger-sdk</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
</profile>
<profile>
<!-- http://blog2.vorburger.ch/2016/06/improve-maven-build-speed-with-q.html
q = http://memory-alpha.wikia.com/wiki/Q ;)
The Quick profile is used during incremental local development, when you want to "just get that JAR built",
which is very handy e.g. for fast hot reloading cycles in Karaf with bundle watch. It (intentionally!) skips
tests, quality checks etc. which are great and useful to run before finally submitting changes to Gerrit, and
which all must run on Gerrit, but which are overhead during ongoing fast iterative local development.
Note that the idea here is that your IDE will already have run quality checks such as e.g. Checkstyle
while you typed the code anyway. Similarly, if you wrote a test, you'll probably already have compiled and run it
from your IDE, so when you want the OSGi bundle JAR for Karaf, ASAP, you typically don't want all that to run again.
-->
<id>q</id>
<properties>
<skipTests>true</skipTests>
<!-- But NOT <maven.test.skip>true, as that's for compiling, not running, tests;
and that's usually quick. Skipping test compilation with -Pq with maven.test.skip would be
particularly confusing when used in a project with maven-jar-plugin <goal>test-jar, so don't.) -->
<skipIT>true</skipIT>
<skipITs>true</skipITs>
<skip.karaf.featureTest>true</skip.karaf.featureTest>
<jacoco.skip>true</jacoco.skip>
<maven.javadoc.skip>true</maven.javadoc.skip>
<maven.source.skip>true</maven.source.skip>
<checkstyle.skip>true</checkstyle.skip>
<findbugs.skip>true</findbugs.skip>
<spotbugs.skip>true</spotbugs.skip>
<pmd.skip>true</pmd.skip>
<cpd.skip>true</cpd.skip>
<maven.site.skip>true</maven.site.skip>
<invoker.skip>true</invoker.skip>
<enforcer.skip>true</enforcer.skip>
<duplicate-finder.skip>true</duplicate-finder.skip>
<mdsal.skip.verbose>true</mdsal.skip.verbose> <!-- Bug 6236 -->
<maven.gitcommitid.skip>true</maven.gitcommitid.skip>
<modernizer.skip>true</modernizer.skip>
<format.skipExecute>true</format.skipExecute>
<format.skipValidate>true</format.skipValidate>
</properties>
</profile>
<!-- End of profiles from ONAP oparent -->
</profiles>
</project>