diff options
author | Singal, Kapil (ks220y) <ks220y@att.com> | 2020-02-19 17:45:00 -0500 |
---|---|---|
committer | Singal, Kapil (ks220y) <ks220y@att.com> | 2020-02-20 11:40:05 -0500 |
commit | 46751a7e8876ea31868f51be3e7f8c8f0dad0c87 (patch) | |
tree | fd0d81afcb64510d24f5d1425c575ae765484e5c /springboot/spring-boot-setup/src/main | |
parent | 9548ff862e5dbe4531e3fcfccd0e472228d7770d (diff) |
Refactoring parent root poms
1) dependency-odl-bom is being imported to other parent poms, removing / cleaning up duplicate dependencies
2) Adding spring-boot-setup pom and related templates for spring-boot parent poms
3) Adding jetty-server to dependency-odl-bom
4) Adding org.onap.logging-analytics dependency to spring-boot-parent poms
Issue-ID: CCSDK-2107
Signed-off-by: Singal, Kapil (ks220y) <ks220y@att.com>
Change-Id: I3a844cd736044a4ffbca7688bca110c0bc7dab0c
Diffstat (limited to 'springboot/spring-boot-setup/src/main')
3 files changed, 1065 insertions, 0 deletions
diff --git a/springboot/spring-boot-setup/src/main/properties/springboot1.properties b/springboot/spring-boot-setup/src/main/properties/springboot1.properties new file mode 100644 index 00000000..c4f4e011 --- /dev/null +++ b/springboot/spring-boot-setup/src/main/properties/springboot1.properties @@ -0,0 +1,5 @@ +springbootparent.artifactId=spring-boot-starter-parent +springbootparent.groupId=org.springframework.boot +springbootparent.version=1.5.22.RELEASE +springboot.project.artifactId=spring-boot-1-starter-parent +spring.version=4.3.25.RELEASE
\ No newline at end of file diff --git a/springboot/spring-boot-setup/src/main/properties/springboot2.properties b/springboot/spring-boot-setup/src/main/properties/springboot2.properties new file mode 100644 index 00000000..68a672b3 --- /dev/null +++ b/springboot/spring-boot-setup/src/main/properties/springboot2.properties @@ -0,0 +1,5 @@ +springbootparent.artifactId=spring-boot-starter-parent +springbootparent.groupId=org.springframework.boot +springbootparent.version=2.2.4.RELEASE +springboot.project.artifactId=spring-boot-starter-parent +spring.version=5.2.3.RELEASE
\ No newline at end of file diff --git a/springboot/spring-boot-setup/src/main/resources/pom-template.xml b/springboot/spring-boot-setup/src/main/resources/pom-template.xml new file mode 100644 index 00000000..e55d097b --- /dev/null +++ b/springboot/spring-boot-setup/src/main/resources/pom-template.xml @@ -0,0 +1,1055 @@ +<?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.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 --> + + <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> + + <!-- 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> + + <!-- logging-analytics versions --> + <logging-analytics.version>1.6.4</logging-analytics.version> + + <!-- CCSDK component versions --> + <ccsdk.cds.version>0.7.1-SNAPSHOT</ccsdk.cds.version> + <ccsdk.sli.core.version>0.7.1-SNAPSHOT</ccsdk.sli.core.version> + <ccsdk.sli.adaptors.version>0.7.1-SNAPSHOT</ccsdk.sli.adaptors.version> + <ccsdk.sli.northbound.version>0.7.1-SNAPSHOT</ccsdk.sli.northbound.version> + <ccsdk.sli.plugins.version>0.7.1-SNAPSHOT</ccsdk.sli.plugins.version> + <ccsdk.distribution.version>0.7.1-SNAPSHOT</ccsdk.distribution.version> + + <!-- 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.7.2</antlr.version> + <commons.lang.version>2.6</commons.lang.version> + <apache.httpcomponents.core.version>4.4.12</apache.httpcomponents.core.version> + <apache.httpcomponents.client.version>4.5.10</apache.httpcomponents.client.version> + <derby.version>10.14.2.0</derby.version> + <eelf.version>1.0.0</eelf.version> + <grpc.version>1.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> + <jersey.version>2.25.1</jersey.version> + <jersey.client.version>2.25.1</jersey.client.version> + <jettison.version>1.3.8</jettison.version> + <logback.version>1.2.3</logback.version> + <mariadb.connector.version>2.4.4</mariadb.connector.version> + <mariadb4j.version>2.4.0</mariadb4j.version> + <slf4j.version>1.7.25</slf4j.version> + <testng.version>6.11</testng.version> + <tomcat-jdbc.version>9.0.27</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>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> + </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/> + </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.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.6.0.1398</version> + </plugin> + + <!-- End of plugins from ONAP oparent --> + + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <version>2.10.4</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> + <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> + <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> + <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> |