- <!-- Extra support libraries used by SDN-C -->
- <jackson-annotations-version>${jackson.version}</jackson-annotations-version>
- <jvnet.jaxb2.version>0.6.4</jvnet.jaxb2.version>
- <antlr.version>4.7.2</antlr.version>
-
- <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>
- <mariadb.connector.version>2.1.1</mariadb.connector.version>
- <mariadb4j.version>2.2.3</mariadb4j.version>
- <testng.version>6.11</testng.version>
- <tomcat-jdbc.version>8.5.14</tomcat-jdbc.version>
- <jetty.version>9.4.12.v20180830</jetty.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>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>1.4.1-SNAPSHOT</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
-
- <!-- Override incorrect versions in ODL parent poms -->
- <!-- to match versions actually installed in ODL Neon -->
- <dependency>
- <groupId>com.google.protobuf</groupId>
- <artifactId>protobuf-java</artifactId>
- <version>3.6.1</version>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-transport</artifactId>
- <version>4.1.34.Final</version>
- </dependency>
- <dependency>
- <groupId>io.netty</groupId>
- <artifactId>netty-all</artifactId>
- <version>4.1.34.Final</version>
- <!-- <version>${netty.version}</version> -->
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.12</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-server</artifactId>
- <version>9.4.12.v20180830</version>
- </dependency>
- <dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlets</artifactId>
- <version>9.4.12.v20180830</version>
- </dependency>
- <dependency>
- <groupId>org.glassfish.jersey.bundles.repackaged</groupId>
- <artifactId>jersey-guava</artifactId>
- <version>2.25.1</version>
- </dependency>
- <dependency>
- <groupId>org.codehaus.jettison</groupId>
- <artifactId>jettison</artifactId>
- <version>1.3.8</version>
- </dependency>
- </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>
-
- <!-- Plugins from oparent version (parent of oparent) -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-deploy-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-site-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- </plugin>
- <!-- end of plugins from oparent version (parent of oparent) -->
+ <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>
+ <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 -->