diff options
-rwxr-xr-x | springboot/pom.xml | 3 | ||||
-rw-r--r-- | springboot/spring-boot-setup/pom.xml | 88 | ||||
-rw-r--r-- | springboot/spring-boot-setup/src/main/properties/springboot23.properties (renamed from springboot/spring-boot-setup/src/main/properties/springboot2.properties) | 0 | ||||
-rw-r--r-- | springboot/spring-boot-setup/src/main/properties/springboot26.properties | 14 | ||||
-rw-r--r-- | springboot/spring-boot-setup/src/main/resources/pom-template-jdk11.xml | 1090 | ||||
-rw-r--r-- | springboot/spring-boot-setup/src/main/resources/pom-template-jdk8.xml (renamed from springboot/spring-boot-setup/src/main/resources/pom-template.xml) | 6 | ||||
-rw-r--r-- | springboot/springboot1/pom.xml | 4 | ||||
-rw-r--r-- | springboot/springboot23/pom.xml (renamed from springboot/springboot2/pom.xml) | 4 | ||||
-rw-r--r-- | springboot/springboot25/pom.xml | 16 | ||||
-rw-r--r-- | springboot/springboot26/pom.xml | 1090 |
10 files changed, 2290 insertions, 25 deletions
diff --git a/springboot/pom.xml b/springboot/pom.xml index bb0e6966..77993e54 100755 --- a/springboot/pom.xml +++ b/springboot/pom.xml @@ -18,8 +18,9 @@ <modules> <module>spring-boot-setup</module> <module>springboot1</module> - <module>springboot2</module> + <module>springboot23</module> <module>springboot25</module> + <module>springboot26</module> </modules> <distributionManagement> diff --git a/springboot/spring-boot-setup/pom.xml b/springboot/spring-boot-setup/pom.xml index bd4cbca3..f2f694d1 100644 --- a/springboot/spring-boot-setup/pom.xml +++ b/springboot/spring-boot-setup/pom.xml @@ -35,7 +35,7 @@ <resource> <directory>src/main/resources</directory> <includes> - <include>pom-template.xml</include> + <include>pom-template-jdk8.xml</include> </includes> <filtering>true</filtering> </resource> @@ -48,25 +48,73 @@ </configuration> </execution> <execution> - <id>create-springboot2-parent-pom</id> + <id>create-springboot23-parent-pom</id> <goals> <goal>copy-resources</goal> </goals><!-- here the phase you need --> <phase>validate</phase> <configuration> - <outputDirectory>../springboot2</outputDirectory> + <outputDirectory>../springboot23</outputDirectory> <resources> <resource> <directory>src/main/resources</directory> <includes> - <include>pom-template.xml</include> + <include>pom-template-jdk8.xml</include> </includes> <filtering>true</filtering> </resource> </resources> <escapeString>\</escapeString> <filters> - <filter>${basedir}/src/main/properties/springboot2.properties</filter> + <filter>${basedir}/src/main/properties/springboot23.properties</filter> + </filters> + <encoding>UTF-8</encoding> + </configuration> + </execution> + <execution> + <id>create-springboot25-parent-pom</id> + <goals> + <goal>copy-resources</goal> + </goals><!-- here the phase you need --> + <phase>validate</phase> + <configuration> + <outputDirectory>../springboot25</outputDirectory> + <resources> + <resource> + <directory>src/main/resources</directory> + <includes> + <include>pom-template-jdk11.xml</include> + </includes> + <filtering>true</filtering> + </resource> + </resources> + <escapeString>\</escapeString> + <filters> + <filter>${basedir}/src/main/properties/springboot25.properties</filter> + </filters> + <encoding>UTF-8</encoding> + </configuration> + </execution> + <execution> + <id>create-springboot26-parent-pom</id> + <goals> + <goal>copy-resources</goal> + </goals><!-- here the phase you need --> + <phase>validate</phase> + <configuration> + <outputDirectory>../springboot26</outputDirectory> + <resources> + <resource> + <directory>src/main/resources</directory> + <includes> + <include>pom-template-jdk11.xml</include> + </includes> + <filtering>true</filtering> + </resource> + </resources> + <escapeString>\</escapeString> + <filters> + <filter>${basedir}/src/main/properties/springboot26.properties</filter> </filters> <encoding>UTF-8</encoding> </configuration> @@ -85,19 +133,41 @@ <goal>rename</goal> </goals> <configuration> - <sourceFile>../springboot1/pom-template.xml</sourceFile> + <sourceFile>../springboot1/pom-template-jdk8.xml</sourceFile> <destinationFile>../springboot1/pom.xml</destinationFile> </configuration> </execution> <execution> - <id>rename-springboot2-parent-pom</id> + <id>rename-springboot23-parent-pom</id> + <phase>validate</phase> + <goals> + <goal>rename</goal> + </goals> + <configuration> + <sourceFile>../springboot23/pom-template-jdk8.xml</sourceFile> + <destinationFile>../springboot23/pom.xml</destinationFile> + </configuration> + </execution> + <execution> + <id>rename-springboot25-parent-pom</id> + <phase>validate</phase> + <goals> + <goal>rename</goal> + </goals> + <configuration> + <sourceFile>../springboot25/pom-template-jdk11.xml</sourceFile> + <destinationFile>../springboot25/pom.xml</destinationFile> + </configuration> + </execution> + <execution> + <id>rename-springboot26-parent-pom</id> <phase>validate</phase> <goals> <goal>rename</goal> </goals> <configuration> - <sourceFile>../springboot2/pom-template.xml</sourceFile> - <destinationFile>../springboot2/pom.xml</destinationFile> + <sourceFile>../springboot26/pom-template-jdk11.xml</sourceFile> + <destinationFile>../springboot26/pom.xml</destinationFile> </configuration> </execution> </executions> diff --git a/springboot/spring-boot-setup/src/main/properties/springboot2.properties b/springboot/spring-boot-setup/src/main/properties/springboot23.properties index 1389b933..1389b933 100644 --- a/springboot/spring-boot-setup/src/main/properties/springboot2.properties +++ b/springboot/spring-boot-setup/src/main/properties/springboot23.properties diff --git a/springboot/spring-boot-setup/src/main/properties/springboot26.properties b/springboot/spring-boot-setup/src/main/properties/springboot26.properties new file mode 100644 index 00000000..7a1f2311 --- /dev/null +++ b/springboot/spring-boot-setup/src/main/properties/springboot26.properties @@ -0,0 +1,14 @@ +springbootparent.artifactId=spring-boot-starter-parent +springbootparent.groupId=org.springframework.boot +springbootparent.version=2.6.6 +springboot.project.artifactId=spring-boot-26-starter-parent +spring.version=5.3.18 +springboot.httpcomponents.core.version=4.4.15 +springboot.httpcomponents.client.version=4.5.13 +springboot.jackson.version=2.12.6 +springboot.logback.version=1.2.10 +springboot.netty.ssl.version=2.0.50.Final +springboot.jersey.version=2.33 +springboot.slf4j.version=1.7.36 +springboot.springfox.version=3.0.0 +springboot.tomcat.jdbc.version=9.0.58 diff --git a/springboot/spring-boot-setup/src/main/resources/pom-template-jdk11.xml b/springboot/spring-boot-setup/src/main/resources/pom-template-jdk11.xml new file mode 100644 index 00000000..9c2e02f8 --- /dev/null +++ b/springboot/spring-boot-setup/src/main/resources/pom-template-jdk11.xml @@ -0,0 +1,1090 @@ +<?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> + + <!-- PLEASE READ !!!!! This file is generated from ccsdk/parent/springboot/spring-boot-setup/src/main/template/pom-template-jdk11.xml + Any updates needed should be made to that template and not to the generated + pom.xml file --> + <parent> + <groupId>${springbootparent.groupId}</groupId> + <artifactId>${springbootparent.artifactId}</artifactId> + <version>${springbootparent.version}</version> + <relativePath/> + </parent> + + <groupId>org.onap.ccsdk.parent</groupId> + <artifactId>${springboot.project.artifactId}</artifactId> + <version>${project.version}</version> + <packaging>pom</packaging> + + <name>ONAP :: \${project.groupId} :: \${project.artifactId}</name> + <description>Root POM to be used in place of spring-boot parent 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>\${onap.nexus.release-url}</url> + </repository> + <snapshotRepository> + <id>ecomp-snapshots</id> + <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 --> + + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + <!-- sitePath may be overridden in the inheriting POM if desired --> + <sitePath>/content/sites/site/\${project.groupId}/\${project.artifactId}/\${project.version}</sitePath> + + <!-- 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.url>https://nexus.onap.org</onap.nexus.url> + <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>11</java.version> + <bundle.plugin.version>2.5.0</bundle.plugin.version> + <maven.compile.plugin.version>3.8.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> + + <!-- logging-analytics versions --> + <logging-analytics.version>1.6.9</logging-analytics.version> + + <!-- CCSDK component versions --> + <ccsdk.cds.version>(1.2.99999,1.3.99999-SNAPSHOT]</ccsdk.cds.version> + <ccsdk.features.version>(1.2.99999, 1.3.99999-SNAPSHOT]</ccsdk.features.version> + <ccsdk.distribution.version>(1.2.99999, 1.3.99999-SNAPSHOT]</ccsdk.distribution.version> + <ccsdk.sli.version>(1.3.99999, 1.4.99999-SNAPSHOT]</ccsdk.sli.version> + <ccsdk.sli.core.version>${ccsdk.sli.version}</ccsdk.sli.core.version> + <ccsdk.sli.adaptors.version>${ccsdk.sli.version}</ccsdk.sli.adaptors.version> + <ccsdk.sli.northbound.version>${ccsdk.sli.version}</ccsdk.sli.northbound.version> + <ccsdk.sli.plugins.version>${ccsdk.sli.version}</ccsdk.sli.plugins.version> + + <!-- Spring versions --> + <spring.boot.version>${springbootparent.version}</spring.boot.version> + <spring.version>${spring.version}</spring.version> + + <!-- Kotlin versions --> + <kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget> + <kotlin.version>1.3.61</kotlin.version> + <kotlin.maven.version>1.3.61</kotlin.maven.version> + <kotlin.couroutines.version>1.3.3</kotlin.couroutines.version> + <kotlinpoet.version>1.5.0</kotlinpoet.version> + <kroto-plus.version>0.5.0</kroto-plus.version> + <nats.version>2.6.6</nats.version> + <nats.streaming.version>2.2.3</nats.streaming.version> + <mockk.version>1.9.3</mockk.version> + + <!-- Managed dependency versions --> + <antlr.version>4.8-1</antlr.version> + <commons.lang.version>2.6</commons.lang.version> + <apache.httpcomponents.core.version>${springboot.httpcomponents.core.version}</apache.httpcomponents.core.version> + <apache.httpcomponents.client.version>${springboot.httpcomponents.client.version}</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> + <netty-ssl>${springboot.netty.ssl.version}</netty-ssl> + <protobuff.java.version>3.10.0</protobuff.java.version> + <protobuff.java.utils.version>3.10.0</protobuff.java.utils.version> + <jersey.version>${springboot.jersey.version}</jersey.version> + <jersey.client.version>${springboot.jersey.version}</jersey.client.version> + <jettison.version>1.3.8</jettison.version> + <log4j.version>2.17.1</log4j.version> + <log4j2.version>2.17.1</log4j2.version> + <logback.version>${springboot.logback.version}</logback.version> + <mariadb.connector.version>2.7.3</mariadb.connector.version> + <mariadb4j.version>2.4.0</mariadb4j.version> + <slf4j.version>${springboot.slf4j.version}</slf4j.version> + <springfox.version>${springboot.springfox.version}</springfox.version> + <testng.version>6.14.3</testng.version> + <tomcat-jdbc.version>${springboot.tomcat.jdbc.version}</tomcat-jdbc.version> + <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-bom</artifactId> + <version>${project.version}</version> + <type>pom</type> + <scope>import</scope> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson</groupId> + <artifactId>jackson-bom</artifactId> + <version>${springboot.jackson.version}</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.core</groupId> + <artifactId>dblib-provider</artifactId> + <version>\${ccsdk.sli.core.version}</version> + </dependency> + <dependency> + <groupId>org.onap.ccsdk.sli.adaptors</groupId> + <artifactId>aai-service-provider</artifactId> + <version>\${ccsdk.sli.adaptors.version}</version> + </dependency> + <dependency> + <groupId>org.onap.logging-analytics</groupId> + <artifactId>logging-slf4j</artifactId> + <version>\${logging-analytics.version}</version> + </dependency> + <dependency> + <groupId>org.onap.logging-analytics</groupId> + <artifactId>logging-filter-base</artifactId> + <version>\${logging-analytics.version}</version> + </dependency> + <dependency> + <groupId>org.liquibase</groupId> + <artifactId>liquibase-core</artifactId> + <version>4.4.2-nordix</version> + </dependency> + </dependencies> + </dependencyManagement> + + <repositories> + <repository> + <id>onap-public</id> + <url>\${onap.nexus.public-url}</url> + <releases> + <enabled>true</enabled> + <updatePolicy>never</updatePolicy> + </releases> + <snapshots> + <enabled>true</enabled> + <updatePolicy>always</updatePolicy> + </snapshots> + </repository> + <repository> + <id>onap-staging</id> + <url>\${onap.nexus.staging-url}</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>\${onap.nexus.release-url}</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>\${onap.nexus.snapshot-url}</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> + <!-- 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/> + <deployAtEnd>true</deployAtEnd> + </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> + <groupId>org.apache.maven.plugins</groupId> + <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.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> + <release>\${java.version}</release> + <!--explicitly remove source and target--> + <source combine.self="override"/> + <target combine.self="override"/> + </configuration> + </plugin> + <plugin> + <groupId>org.sonarsource.scanner.maven</groupId> + <artifactId>sonar-maven-plugin</artifactId> + <version>3.6.0.1398</version> + </plugin> + + <!-- End of plugins from ONAP oparent --> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <version>3.2.0</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> + <failOnError>false</failOnError> + </configuration> + <executions> + <execution> + <id>aggregate</id> + <goals> + <goal>aggregate</goal> + </goals> + <phase>site</phase> + </execution> + </executions> + </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> + <!-- Plugins from ONAP oparent --> + <!-- Jacoco / Sonar --> + <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> + <artifactId>maven-deploy-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <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.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> + <plugin> + <groupId>pl.project13.maven</groupId> + <artifactId>git-commit-id-plugin</artifactId> + <version>4.0.0</version> + <configuration> + <commitIdGenerationMode>full</commitIdGenerationMode> + <includeOnlyProperties> + <includeOnlyProperty>^git.build.(time|version)$</includeOnlyProperty> + <includeOnlyProperty>^git.commit.id.(abbrev|full)$</includeOnlyProperty> + </includeOnlyProperties> + </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> + <skipPush>true</skipPush> + <docker.skip.push>true</docker.skip.push> + <!-- 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> + <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 --> + </profiles> +</project> diff --git a/springboot/spring-boot-setup/src/main/resources/pom-template.xml b/springboot/spring-boot-setup/src/main/resources/pom-template-jdk8.xml index 31184d9e..ce50a0b9 100644 --- a/springboot/spring-boot-setup/src/main/resources/pom-template.xml +++ b/springboot/spring-boot-setup/src/main/resources/pom-template-jdk8.xml @@ -2,7 +2,7 @@ <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> - <!-- PLEASE READ !!!!! This file is generated from ccsdk/parent/springboot/spring-boot-setup/src/main/template/pom-template.xml + <!-- PLEASE READ !!!!! This file is generated from ccsdk/parent/springboot/spring-boot-setup/src/main/template/pom-template-jdk8.xml Any updates needed should be made to that template and not to the generated pom.xml file --> <parent> @@ -132,7 +132,7 @@ <jettison.version>1.3.8</jettison.version> <log4j.version>2.17.1</log4j.version> <log4j2.version>2.17.1</log4j2.version> - <logback.version>1.2.3</logback.version> + <logback.version>${springboot.logback.version}</logback.version> <mariadb.connector.version>2.7.3</mariadb.connector.version> <mariadb4j.version>2.4.0</mariadb4j.version> <slf4j.version>${springboot.slf4j.version}</slf4j.version> @@ -202,7 +202,7 @@ <groupId>org.liquibase</groupId> <artifactId>liquibase-core</artifactId> <version>4.4.2-nordix</version> - </dependency> + </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> diff --git a/springboot/springboot1/pom.xml b/springboot/springboot1/pom.xml index 089bc6aa..7020994f 100644 --- a/springboot/springboot1/pom.xml +++ b/springboot/springboot1/pom.xml @@ -2,7 +2,7 @@ <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> - <!-- PLEASE READ !!!!! This file is generated from ccsdk/parent/springboot/spring-boot-setup/src/main/template/pom-template.xml + <!-- PLEASE READ !!!!! This file is generated from ccsdk/parent/springboot/spring-boot-setup/src/main/template/pom-template-jdk8.xml Any updates needed should be made to that template and not to the generated pom.xml file --> <parent> @@ -202,7 +202,7 @@ <groupId>org.liquibase</groupId> <artifactId>liquibase-core</artifactId> <version>4.4.2-nordix</version> - </dependency> + </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> diff --git a/springboot/springboot2/pom.xml b/springboot/springboot23/pom.xml index ee7b8576..448a30ee 100644 --- a/springboot/springboot2/pom.xml +++ b/springboot/springboot23/pom.xml @@ -2,7 +2,7 @@ <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> - <!-- PLEASE READ !!!!! This file is generated from ccsdk/parent/springboot/spring-boot-setup/src/main/template/pom-template.xml + <!-- PLEASE READ !!!!! This file is generated from ccsdk/parent/springboot/spring-boot-setup/src/main/template/pom-template-jdk8.xml Any updates needed should be made to that template and not to the generated pom.xml file --> <parent> @@ -202,7 +202,7 @@ <groupId>org.liquibase</groupId> <artifactId>liquibase-core</artifactId> <version>4.4.2-nordix</version> - </dependency> + </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> diff --git a/springboot/springboot25/pom.xml b/springboot/springboot25/pom.xml index cf056e20..9ea6f646 100644 --- a/springboot/springboot25/pom.xml +++ b/springboot/springboot25/pom.xml @@ -2,7 +2,7 @@ <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> - <!-- PLEASE READ !!!!! This file is generated from ccsdk/parent/springboot/spring-boot-setup/src/main/template/pom-template.xml + <!-- PLEASE READ !!!!! This file is generated from ccsdk/parent/springboot/spring-boot-setup/src/main/template/pom-template-jdk11.xml Any updates needed should be made to that template and not to the generated pom.xml file --> <parent> @@ -79,7 +79,7 @@ <java.version>11</java.version> <bundle.plugin.version>2.5.0</bundle.plugin.version> - <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version> + <maven.compile.plugin.version>3.8.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> @@ -89,10 +89,10 @@ <logging-analytics.version>1.6.9</logging-analytics.version> <!-- CCSDK component versions --> - <ccsdk.cds.version>(1.1.99999,1.2.99999-SNAPSHOT)</ccsdk.cds.version> - <ccsdk.features.version>(1.1.99999, 1.2.99999-SNAPSHOT)</ccsdk.features.version> - <ccsdk.distribution.version>(1.1.99999, 1.2.99999-SNAPSHOT)</ccsdk.distribution.version> - <ccsdk.sli.version>1.3.1</ccsdk.sli.version> + <ccsdk.cds.version>(1.2.99999,1.3.99999-SNAPSHOT]</ccsdk.cds.version> + <ccsdk.features.version>(1.2.99999, 1.3.99999-SNAPSHOT]</ccsdk.features.version> + <ccsdk.distribution.version>(1.2.99999, 1.3.99999-SNAPSHOT]</ccsdk.distribution.version> + <ccsdk.sli.version>(1.3.99999, 1.4.99999-SNAPSHOT]</ccsdk.sli.version> <ccsdk.sli.core.version>${ccsdk.sli.version}</ccsdk.sli.core.version> <ccsdk.sli.adaptors.version>${ccsdk.sli.version}</ccsdk.sli.adaptors.version> <ccsdk.sli.northbound.version>${ccsdk.sli.version}</ccsdk.sli.northbound.version> @@ -199,7 +199,7 @@ <groupId>org.liquibase</groupId> <artifactId>liquibase-core</artifactId> <version>4.4.2-nordix</version> - </dependency> + </dependency> </dependencies> </dependencyManagement> @@ -437,7 +437,7 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> - <version>${maven-compiler-plugin.version}</version> + <version>${maven.compile.plugin.version}</version> <configuration> <release>${java.version}</release> <!--explicitly remove source and target--> diff --git a/springboot/springboot26/pom.xml b/springboot/springboot26/pom.xml new file mode 100644 index 00000000..fbd3fe45 --- /dev/null +++ b/springboot/springboot26/pom.xml @@ -0,0 +1,1090 @@ +<?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> + + <!-- PLEASE READ !!!!! This file is generated from ccsdk/parent/springboot/spring-boot-setup/src/main/template/pom-template-jdk11.xml + Any updates needed should be made to that template and not to the generated + pom.xml file --> + <parent> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-parent</artifactId> + <version>2.6.6</version> + <relativePath/> + </parent> + + <groupId>org.onap.ccsdk.parent</groupId> + <artifactId>spring-boot-26-starter-parent</artifactId> + <version>2.3.4-SNAPSHOT</version> + <packaging>pom</packaging> + + <name>ONAP :: ${project.groupId} :: ${project.artifactId}</name> + <description>Root POM to be used in place of spring-boot parent 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>${onap.nexus.release-url}</url> + </repository> + <snapshotRepository> + <id>ecomp-snapshots</id> + <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 --> + + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + <!-- sitePath may be overridden in the inheriting POM if desired --> + <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath> + + <!-- 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.url>https://nexus.onap.org</onap.nexus.url> + <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>11</java.version> + <bundle.plugin.version>2.5.0</bundle.plugin.version> + <maven.compile.plugin.version>3.8.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> + + <!-- logging-analytics versions --> + <logging-analytics.version>1.6.9</logging-analytics.version> + + <!-- CCSDK component versions --> + <ccsdk.cds.version>(1.2.99999,1.3.99999-SNAPSHOT]</ccsdk.cds.version> + <ccsdk.features.version>(1.2.99999, 1.3.99999-SNAPSHOT]</ccsdk.features.version> + <ccsdk.distribution.version>(1.2.99999, 1.3.99999-SNAPSHOT]</ccsdk.distribution.version> + <ccsdk.sli.version>(1.3.99999, 1.4.99999-SNAPSHOT]</ccsdk.sli.version> + <ccsdk.sli.core.version>${ccsdk.sli.version}</ccsdk.sli.core.version> + <ccsdk.sli.adaptors.version>${ccsdk.sli.version}</ccsdk.sli.adaptors.version> + <ccsdk.sli.northbound.version>${ccsdk.sli.version}</ccsdk.sli.northbound.version> + <ccsdk.sli.plugins.version>${ccsdk.sli.version}</ccsdk.sli.plugins.version> + + <!-- Spring versions --> + <spring.boot.version>2.6.6</spring.boot.version> + <spring.version>5.3.18</spring.version> + + <!-- Kotlin versions --> + <kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget> + <kotlin.version>1.3.61</kotlin.version> + <kotlin.maven.version>1.3.61</kotlin.maven.version> + <kotlin.couroutines.version>1.3.3</kotlin.couroutines.version> + <kotlinpoet.version>1.5.0</kotlinpoet.version> + <kroto-plus.version>0.5.0</kroto-plus.version> + <nats.version>2.6.6</nats.version> + <nats.streaming.version>2.2.3</nats.streaming.version> + <mockk.version>1.9.3</mockk.version> + + <!-- Managed dependency versions --> + <antlr.version>4.8-1</antlr.version> + <commons.lang.version>2.6</commons.lang.version> + <apache.httpcomponents.core.version>4.4.15</apache.httpcomponents.core.version> + <apache.httpcomponents.client.version>4.5.13</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> + <netty-ssl>2.0.50.Final</netty-ssl> + <protobuff.java.version>3.10.0</protobuff.java.version> + <protobuff.java.utils.version>3.10.0</protobuff.java.utils.version> + <jersey.version>2.33</jersey.version> + <jersey.client.version>2.33</jersey.client.version> + <jettison.version>1.3.8</jettison.version> + <log4j.version>2.17.1</log4j.version> + <log4j2.version>2.17.1</log4j2.version> + <logback.version>1.2.10</logback.version> + <mariadb.connector.version>2.7.3</mariadb.connector.version> + <mariadb4j.version>2.4.0</mariadb4j.version> + <slf4j.version>1.7.36</slf4j.version> + <springfox.version>3.0.0</springfox.version> + <testng.version>6.14.3</testng.version> + <tomcat-jdbc.version>9.0.58</tomcat-jdbc.version> + <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-bom</artifactId> + <version>2.3.4-SNAPSHOT</version> + <type>pom</type> + <scope>import</scope> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson</groupId> + <artifactId>jackson-bom</artifactId> + <version>2.12.6</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.core</groupId> + <artifactId>dblib-provider</artifactId> + <version>${ccsdk.sli.core.version}</version> + </dependency> + <dependency> + <groupId>org.onap.ccsdk.sli.adaptors</groupId> + <artifactId>aai-service-provider</artifactId> + <version>${ccsdk.sli.adaptors.version}</version> + </dependency> + <dependency> + <groupId>org.onap.logging-analytics</groupId> + <artifactId>logging-slf4j</artifactId> + <version>${logging-analytics.version}</version> + </dependency> + <dependency> + <groupId>org.onap.logging-analytics</groupId> + <artifactId>logging-filter-base</artifactId> + <version>${logging-analytics.version}</version> + </dependency> + <dependency> + <groupId>org.liquibase</groupId> + <artifactId>liquibase-core</artifactId> + <version>4.4.2-nordix</version> + </dependency> + </dependencies> + </dependencyManagement> + + <repositories> + <repository> + <id>onap-public</id> + <url>${onap.nexus.public-url}</url> + <releases> + <enabled>true</enabled> + <updatePolicy>never</updatePolicy> + </releases> + <snapshots> + <enabled>true</enabled> + <updatePolicy>always</updatePolicy> + </snapshots> + </repository> + <repository> + <id>onap-staging</id> + <url>${onap.nexus.staging-url}</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>${onap.nexus.release-url}</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>${onap.nexus.snapshot-url}</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> + <!-- 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/> + <deployAtEnd>true</deployAtEnd> + </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> + <groupId>org.apache.maven.plugins</groupId> + <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.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> + <release>${java.version}</release> + <!--explicitly remove source and target--> + <source combine.self="override"/> + <target combine.self="override"/> + </configuration> + </plugin> + <plugin> + <groupId>org.sonarsource.scanner.maven</groupId> + <artifactId>sonar-maven-plugin</artifactId> + <version>3.6.0.1398</version> + </plugin> + + <!-- End of plugins from ONAP oparent --> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <version>3.2.0</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> + <failOnError>false</failOnError> + </configuration> + <executions> + <execution> + <id>aggregate</id> + <goals> + <goal>aggregate</goal> + </goals> + <phase>site</phase> + </execution> + </executions> + </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> + <!-- Plugins from ONAP oparent --> + <!-- Jacoco / Sonar --> + <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> + <artifactId>maven-deploy-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <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.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> + <plugin> + <groupId>pl.project13.maven</groupId> + <artifactId>git-commit-id-plugin</artifactId> + <version>4.0.0</version> + <configuration> + <commitIdGenerationMode>full</commitIdGenerationMode> + <includeOnlyProperties> + <includeOnlyProperty>^git.build.(time|version)$</includeOnlyProperty> + <includeOnlyProperty>^git.commit.id.(abbrev|full)$</includeOnlyProperty> + </includeOnlyProperties> + </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> + <skipPush>true</skipPush> + <docker.skip.push>true</docker.skip.push> + <!-- 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> + <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 --> + </profiles> +</project> |