- <eelf.maven.plugin.version>1.0.0</eelf.maven.plugin.version>
-
-
- <!-- Managed dependency versions -->
- <apache.httpcomponents.core.version>4.4.4</apache.httpcomponents.core.version>
- <apache.httpcomponents.client.version>4.5.2</apache.httpcomponents.client.version>
- <derby.version>10.14.2.0</derby.version>
- <eelf.version>1.0.0</eelf.version>
- <grpc.version>1.17.1</grpc.version>
- <jackson.bom.version>2.8.11.20181123</jackson.bom.version>
- <jersey.version>2.25.1</jersey.version>
- <junit.version>4.12</junit.version>
- <logback.version>1.2.3</logback.version>
- <mariadb.connector.version>2.1.1</mariadb.connector.version>
- <mariadb4j.version>2.2.3</mariadb4j.version>
- <spring.version>4.3.18.RELEASE</spring.version>
- <slf4j.version>1.7.25</slf4j.version>
- <testng.version>6.11</testng.version>
- <tomcat-jdbc.version>8.5.14</tomcat-jdbc.version>
- <skip.karaf.featureTest>true</skip.karaf.featureTest>
- </properties>
-
- <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>
- <artifactId>ant</artifactId>
- <groupId>ant</groupId>
- </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>
- <artifactId>exec-maven-plugin</artifactId>
- <groupId>org.codehaus.mojo</groupId>
- <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>
-
- <!-- End of profiles from ONAP oparent -->
- <profile>
- <id>nexus-staging</id>
- <activation>
- <property>
- <name>!altDeploymentRepository</name>
- </property>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.sonatype.plugins</groupId>
- <artifactId>nexus-staging-maven-plugin</artifactId>
- <version>1.6.7</version>
- <extensions>true</extensions>
- <configuration>
- <nexusUrl>https://${onap.nexus.host}</nexusUrl>
- <stagingProfileId>176c31dfe190a</stagingProfileId>
- <serverId>ecomp-staging</serverId>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>yang-compile</id>
- <activation>
- <file>
- <exists>src/main/yang</exists>
- </file>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.opendaylight.yangtools</groupId>
- <artifactId>yang-maven-plugin</artifactId>
- <version>2.1.8</version>
- <dependencies>
- <dependency>
- <groupId>org.opendaylight.mdsal</groupId>
- <artifactId>maven-sal-api-gen-plugin</artifactId>
- <version>\${odl.mdsal.model.version}</version>
- <type>jar</type>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.netconf</groupId>
- <artifactId>sal-rest-docgen-maven</artifactId>
- <version>\${odl.netconf.sal.rest.docgen.version}</version>
- <type>jar</type>
- </dependency>
- </dependencies>
- <executions>
- <execution>
- <goals>
- <goal>generate-sources</goal>
- </goals>
- <configuration>
- <yangFilesRootDir>\${yang.file.directory}</yangFilesRootDir>
- <codeGenerators>
- <generator>
- <codeGeneratorClass>org.opendaylight.mdsal.binding.maven.api.gen.plugin.CodeGeneratorImpl</codeGeneratorClass>
- <outputBaseDir>\${salGeneratorPath}</outputBaseDir>
- </generator>
- <generator>
- <codeGeneratorClass>org.opendaylight.netconf.sal.rest.doc.maven.StaticDocGenerator</codeGeneratorClass>
- <outputBaseDir>target/swagger</outputBaseDir>
- </generator>
- </codeGenerators>
- <inspectDependencies>true</inspectDependencies>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
-
- </profiles>
-
-
- <dependencyManagement>
- <dependencies>
-
- <!-- Note: If value in BOM conflicts with value inherited from
- parent pom, inherited value takes precedence. This seems more like
- a bug than a feature, but this is how maven 3.6 works -->
- <dependency>
- <groupId>org.onap.ccsdk.parent</groupId>
- <artifactId>dependencies-odl-bom</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
-
- <!-- Override versions in ODL parent poms -->
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.12</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java</artifactId>
- <version>3.6.1</version>
- </dependency>
- </dependencies>
-
- </dependencyManagement>
-
- <pluginRepositories>
- <pluginRepository>
- <id>onap-public</id>
- <url>\${onap.nexus.public-url}</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </pluginRepository>
- <pluginRepository>
- <id>onap-staging</id>
- <url>\${onap.nexus.staging-url}</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </pluginRepository>
- <pluginRepository>
- <id>onap-snapshot</id>
- <url>\${onap.nexus.snapshot-url}</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </pluginRepository>
- <pluginRepository>
- <id>opendaylight-mirror</id>
- <name>opendaylight-mirror</name>
- <url>\${opendaylight.nexus.public-url}</url>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </pluginRepository>
- <pluginRepository>
- <id>opendaylight-snapshot</id>
- <name>opendaylight-snapshot</name>
- <url>\${opendaylight.nexus.snapshot-url}</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </pluginRepository>
- <!-- Black Duck plugin dependencies -->
- <pluginRepository>
- <id>JCenter</id>
- <name>JCenter Repository</name>
- <url>http://jcenter.bintray.com</url>
- </pluginRepository>
-
- <pluginRepository>
- <id>Restlet</id>
- <name>Restlet Repository</name>
- <url>http://maven.restlet.com</url>
- </pluginRepository>
- </pluginRepositories>
-
-
- <repositories>
- <repository>
- <id>onap-public</id>
- <url>https://nexus.onap.org/content/groups/public</url>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>always</updatePolicy>
- </snapshots>
- </repository>
- <repository>
- <id>onap-staging</id>
- <url>https://nexus.onap.org/content/groups/staging</url>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>always</updatePolicy>
- </snapshots>
- </repository>
- <repository>
- <id>ecomp-release</id>
- <name>onap-repository-releases</name>
- <url>https://nexus.onap.org/content/repositories/releases</url>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>ecomp-snapshot</id>
- <name>onap-repository-snapshots</name>
- <url>https://nexus.onap.org/content/repositories/snapshots</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>opendaylight-mirror</id>
- <name>opendaylight-mirror</name>
- <url>https://nexus.opendaylight.org/content/repositories/public/</url>
- <releases>
- <enabled>true</enabled>
- <updatePolicy>never</updatePolicy>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- <repository>
- <id>opendaylight-snapshot</id>
- <name>opendaylight-snapshot</name>
- <url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
-
- </repositories>
-
- <distributionManagement>
- <repository>
- <id>ecomp-releases</id>
- <url>https://nexus.onap.org/content/repositories/releases</url>
- </repository>
- <snapshotRepository>
- <id>ecomp-snapshots</id>
- <url>https://nexus.onap.org/content/repositories/snapshots</url>
- </snapshotRepository>
- </distributionManagement>
-
- <build>
- <pluginManagement>
- <plugins>
-
- <!-- Plugins from ONAP version (parent of 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>
- </dependencies>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>3.0.0-M2</version>
- <executions>
- <execution>
- <id>enforce-property</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireProperty>
- <property>onap.nexus.url</property>
- <message>You must set a onap.nexus.url property in your
- ~/.m2/settings.xml. See oparent/settings.xml for an example.</message>
- </requireProperty>
- </rules>
- <fail>true</fail>
- </configuration>
- </execution>
- <execution>
- <id>enforce-no-snapshots</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireReleaseDeps>
- <failWhenParentIsSnapshot>false</failWhenParentIsSnapshot>
- <onlyWhenRelease>true</onlyWhenRelease>
- <level>WARN</level>
- </requireReleaseDeps>
- </rules>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <!-- https://mvnrepository.com/artifact/org.sonarsource.scanner.maven/sonar-maven-plugin -->
- <plugin>
- <groupId>org.sonarsource.scanner.maven</groupId>
- <artifactId>sonar-maven-plugin</artifactId>
- <version>3.2</version>
- </plugin>
- <!-- end of plugins from ONAP version (parent of oparent) -->
-
- <!-- Plugins from ONAP oparent -->
-
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <version>\${jacoco.version}</version>
- <configuration>
- <!-- Note: This exclusion list should match <sonar.exclusions> property
- above -->
- <excludes>
- <exclude>**/gen/**</exclude>
- <exclude>**/generated-sources/**</exclude>
- <exclude>**/yang-gen/**</exclude>
- <exclude>**/pax/**</exclude>
- </excludes>
- </configuration>
- <executions>
- <!-- Prepares the property pointing to the JaCoCo runtime agent which
- is passed as VM argument when Maven the Surefire plugin is executed. -->
- <execution>
- <id>pre-unit-test</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <!-- Sets the path to the file which contains the execution data. -->
- <destFile>\${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
- <!-- Sets the name of the property containing the settings for JaCoCo
- runtime agent. -->
- <propertyName>surefireArgLine</propertyName>
- </configuration>
- </execution>
- <!-- Ensures that the code coverage report for unit tests is created
- after unit tests have been run. -->
- <execution>
- <id>post-unit-test</id>
- <phase>test</phase>
- <goals>
- <goal>report</goal>
- </goals>
- <configuration>
- <!-- Sets the path to the file which contains the execution data. -->
- <dataFile>\${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
- <!-- Sets the output directory for the code coverage report. -->
- <outputDirectory>\${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
- </configuration>
- </execution>
- <execution>
- <id>pre-integration-test</id>
- <phase>pre-integration-test</phase>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- <configuration>
- <!-- Sets the path to the file which contains the execution data. -->
- <destFile>\${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
- <!-- Sets the name of the property containing the settings for JaCoCo
- runtime agent. -->
- <propertyName>failsafeArgLine</propertyName>
- </configuration>
- </execution>
- <!-- Ensures that the code coverage report for integration tests after
- integration tests have been run. -->
- <execution>
- <id>post-integration-test</id>
- <phase>post-integration-test</phase>
- <goals>
- <goal>report</goal>
- </goals>
- <configuration>
- <!-- Sets the path to the file which contains the execution data. -->
- <dataFile>\${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
- <!-- Sets the output directory for the code coverage report. -->
- <outputDirectory>\${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>2.22.0</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.22.0</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>
-
- <!-- 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>
- </pluginManagement>
- <plugins>