Restructuring POM's and Template
[ccsdk/parent.git] / odlparent / bundle-parent / pom.xml
index 466b665..877883f 100644 (file)
@@ -1,35 +1,44 @@
 <?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/maven-v4_0_0.xsd">
-
-       <!-- PLEASE READ !!!!! This file is generated from ccsdk/parent/setup/src/main/template/pom-template.xml 
-               Any updates needed should be made to that template and not to the generated 
-               pom.xml file -->
-
+<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>
-       <packaging>pom</packaging>
-       <groupId>org.onap.ccsdk.parent</groupId>
-       <artifactId>bundle-parent</artifactId>
-       <version>1.5.0-SNAPSHOT</version>
+
+       <!-- PLEASE READ !!!!! This file is generated from ccsdk/parent/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>org.opendaylight.odlparent</groupId>
                <artifactId>bundle-parent</artifactId>
                <version>4.0.10</version>
-               <relativePath />
+               <relativePath/>
        </parent>
 
+       <groupId>org.onap.ccsdk.parent</groupId>
+       <artifactId>bundle-parent</artifactId>
+       <version>1.5.0-SNAPSHOT</version>
+       <packaging>pom</packaging>
 
        <name>ONAP :: ${project.groupId} :: ${project.artifactId}</name>
-       <url>http://wiki.onap.org</url>
        <description>Root POM to be used in place of odlparent for CCSDK based projects</description>
-
+       <url>http://wiki.onap.org</url>
+       <organization>
+               <name>ONAP</name>
+       </organization>
 
        <issueManagement>
                <system>JIRA</system>
                <url>https://jira.onap.org/</url>
        </issueManagement>
+       <distributionManagement>
+               <repository>
+                       <id>ecomp-releases</id>
+                       <url>https://nexus.onap.org/content/repositories/releases</url>
+               </repository>
+               <snapshotRepository>
+                       <id>ecomp-snapshots</id>
+                       <url>https://nexus.onap.org/content/repositories/snapshots</url>
+               </snapshotRepository>
+       </distributionManagement>
 
        <properties>
 
@@ -46,8 +55,8 @@
                <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
                <!-- Default Sonar configuration -->
                <sonar.jacoco.reportPaths>target/code-coverage/jacoco-ut.exec,target/code-coverage/jacoco-it.exec</sonar.jacoco.reportPaths>
-               <!-- Note: This list should match jacoco-maven-plugin's exclusion list 
-                       below -->
+               <!-- Note: This list should match jacoco-maven-plugin's exclusion list
+            below -->
                <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
                <!-- If following file exist, auto-generation of swagger.json will be done -->
                <swagger-properties>${basedir}/src/main/resources/swagger.properties</swagger-properties>
                <onap.nexus.staging.server-id>ecomp-staging</onap.nexus.staging.server-id>
                <onap.nexus.staging.profile-id>176c31dfe190a</onap.nexus.staging.profile-id>
 
-
                <!-- OpenDaylight repositories -->
                <opendaylight.nexus.public-url>https://nexus.opendaylight.org/content/repositories/public/</opendaylight.nexus.public-url>
                <opendaylight.nexus.snapshot-url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</opendaylight.nexus.snapshot-url>
 
-
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
                <java.version.source>1.8</java.version.source>
                <java.version.target>1.8</java.version.target>
                <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
                <checkstyle.skip>true</checkstyle.skip>
 
-
                <sonar.language>java</sonar.language>
                <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
                <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
                <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
                <sonar.projectVersion>${project.version}</sonar.projectVersion>
 
-
-
-
                <!-- CCSDK component versions -->
                <ccsdk.sli.core.version>0.7.0-SNAPSHOT</ccsdk.sli.core.version>
                <ccsdk.sli.adaptors.version>0.7.0-SNAPSHOT</ccsdk.sli.adaptors.version>
                <sdnctl.mdsal.resource.version>${ccsdk.sli.adaptors.version}</sdnctl.mdsal.resource.version>
                <sdnctl.slipluginutils.version>${ccsdk.sli.core.version}</sdnctl.slipluginutils.version>
 
-
                <!-- Support libraries used by OpenDaylight -->
                <odl.controller.mdsal.version>1.9.1</odl.controller.mdsal.version>
                <odl.mdsal.version>3.0.8</odl.mdsal.version>
                <gson.version>2.8.5</gson.version>
                <!-- Used by aaa, dlux, persistence, snmp4sdn, sxp -->
                <guava.version>25.1-jre</guava.version>
-               <!-- Used by aaa, alto, netconf, ovsdb, sfc; see also affinity, defense4all, 
-                       integration/distribution, snmp4sdn, toolkit, ttp -->
+               <!-- Used by aaa, alto, netconf, ovsdb, sfc; see also affinity, defense4all,
+            integration/distribution, snmp4sdn, toolkit, ttp -->
                <jackson.version>2.9.8</jackson.version>
                <jackson.bom.version>2.9.8</jackson.bom.version>
                <!-- Used by snmp4sdn, yangtools -->
                <javassist.version>3.24.1-GA</javassist.version>
 
-               <!-- FIXME remove all dependencies for jersey 1.17 after migration all 
-                       projects -->
-               <!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all, 
-                       snmp4sdn, toolkit -->
+               <!-- FIXME remove all dependencies for jersey 1.17 after migration all
+            projects -->
+               <!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all,
+            snmp4sdn, toolkit -->
                <jersey.version>2.25.1</jersey.version>
                <!-- Used by sfc -->
                <jersey.client.version>2.25.1</jersey.client.version>
                <!-- Used by aaa, iotdm, netconf, ovsdb, sfc -->
                <org.json.version>20131018</org.json.version>
 
-
-
                <!-- Used everywhere -->
                <junit.version>4.12</junit.version>
                <!-- Used by coretutorials, sfc, snmp4sdn, sxp; see also affinity, toolkit -->
                <mockito.version>1.10.19</mockito.version>
                <!-- Used by bgpcep, netconf, ovsdb, sxp; see also opendove, toolkit -->
                <netty.version>4.1.34.Final</netty.version>
-               <!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity, 
-                       toolkit -->
+               <!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity,
+            toolkit -->
                <slf4j.version>1.7.25</slf4j.version>
-               <!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit, 
-                       tsdr, ttp -->
+               <!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit,
+            tsdr, ttp -->
                <spring.version>4.3.24.RELEASE</spring.version>
 
-
-
                <!-- Extra support libraries used by SDN-C -->
                <jackson-annotations-version>${jackson.version}</jackson-annotations-version>
                <jvnet.jaxb2.version>0.6.4</jvnet.jaxb2.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>
                <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 -->
+            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>
 
        </dependencyManagement>
 
-       <pluginRepositories>
-               <pluginRepository>
+       <repositories>
+               <repository>
                        <id>onap-public</id>
-                       <url>${onap.nexus.public-url}</url>
+                       <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>
-               </pluginRepository>
-               <pluginRepository>
+               </repository>
+               <repository>
                        <id>onap-staging</id>
-                       <url>${onap.nexus.staging-url}</url>
+                       <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>
-               </pluginRepository>
-               <pluginRepository>
-                       <id>onap-snapshot</id>
-                       <url>${onap.nexus.snapshot-url}</url>
+               </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>
-               </pluginRepository>
-               <pluginRepository>
+               </repository>
+               <repository>
                        <id>opendaylight-mirror</id>
                        <name>opendaylight-mirror</name>
-                       <url>${opendaylight.nexus.public-url}</url>
+                       <url>https://nexus.opendaylight.org/content/repositories/public/</url>
                        <releases>
                                <enabled>true</enabled>
                                <updatePolicy>never</updatePolicy>
                        <snapshots>
                                <enabled>false</enabled>
                        </snapshots>
-               </pluginRepository>
-               <pluginRepository>
+               </repository>
+               <repository>
                        <id>opendaylight-snapshot</id>
                        <name>opendaylight-snapshot</name>
-                       <url>${opendaylight.nexus.snapshot-url}</url>
+                       <url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</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>
+               </repository>
 
+       </repositories>
+       <pluginRepositories>
                <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>
+                       <url>${onap.nexus.public-url}</url>
                        <releases>
                                <enabled>true</enabled>
-                               <updatePolicy>never</updatePolicy>
                        </releases>
                        <snapshots>
                                <enabled>true</enabled>
-                               <updatePolicy>always</updatePolicy>
                        </snapshots>
-               </repository>
-               <repository>
+               </pluginRepository>
+               <pluginRepository>
                        <id>onap-staging</id>
-                       <url>https://nexus.onap.org/content/groups/staging</url>
+                       <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>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>
+               </pluginRepository>
+               <pluginRepository>
+                       <id>onap-snapshot</id>
+                       <url>${onap.nexus.snapshot-url}</url>
                        <releases>
                                <enabled>false</enabled>
                        </releases>
                        <snapshots>
                                <enabled>true</enabled>
                        </snapshots>
-               </repository>
-               <repository>
+               </pluginRepository>
+               <pluginRepository>
                        <id>opendaylight-mirror</id>
                        <name>opendaylight-mirror</name>
-                       <url>https://nexus.opendaylight.org/content/repositories/public/</url>
+                       <url>${opendaylight.nexus.public-url}</url>
                        <releases>
                                <enabled>true</enabled>
                                <updatePolicy>never</updatePolicy>
                        <snapshots>
                                <enabled>false</enabled>
                        </snapshots>
-               </repository>
-               <repository>
+               </pluginRepository>
+               <pluginRepository>
                        <id>opendaylight-snapshot</id>
                        <name>opendaylight-snapshot</name>
-                       <url>https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/</url>
+                       <url>${opendaylight.nexus.snapshot-url}</url>
                        <releases>
                                <enabled>false</enabled>
                        </releases>
                        <snapshots>
                                <enabled>true</enabled>
                        </snapshots>
-               </repository>
-
-       </repositories>
+               </pluginRepository>
+               <!-- Black Duck plugin dependencies -->
+               <pluginRepository>
+                       <id>JCenter</id>
+                       <name>JCenter Repository</name>
+                       <url>http://jcenter.bintray.com</url>
+               </pluginRepository>
 
-       <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>
+               <pluginRepository>
+                       <id>Restlet</id>
+                       <name>Restlet Repository</name>
+                       <url>http://maven.restlet.com</url>
+               </pluginRepository>
+       </pluginRepositories>
 
        <build>
                <pluginManagement>
                                        <!-- This version supports the "deployAtEnd" parameter -->
                                        <version>2.8</version>
                                        <configuration>
-                                               <skip />
+                                               <skip/>
                                        </configuration>
                                </plugin>
                                <plugin>
                                        <artifactId>jacoco-maven-plugin</artifactId>
                                        <version>${jacoco.version}</version>
                                        <configuration>
-                                               <!-- Note: This exclusion list should match <sonar.exclusions> property 
-                                                       above -->
+                                               <!-- Note: This exclusion list should match <sonar.exclusions> property
+                            above -->
                                                <excludes>
                                                        <exclude>**/gen/**</exclude>
                                                        <exclude>**/generated-sources/**</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. -->
+                                               <!-- 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>
                                                        <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. -->
+                                                               <!-- 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. -->
+                                               <!-- 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>
                                                        <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. -->
+                                                               <!-- 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. -->
+                                               <!-- 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>
                                        <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. -->
+                                               <!-- Ensures that both integration-test and verify goals of the Failsafe
+                            Maven plugin are executed. -->
                                                <execution>
                                                        <id>integration-tests</id>
                                                        <goals>
                                                </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 -->
+                                                       <!-- 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> is needed so that checkstyle ignores the generated
+                                sources directory -->
                                                        <sourceDirectory>${project.build.sourceDirectory}/src/main/java</sourceDirectory>
                                                        <includeResources>true</includeResources>
                                                        <includeTestSourceDirectory>true</includeTestSourceDirectory>
                        </plugin>
                        <!-- end of plugins from oparent -->
                        <plugin>
-                           <groupId>org.apache.maven.plugins</groupId>
-                           <artifactId>maven-javadoc-plugin</artifactId>
-                           <version>2.10.4</version>
-                           <executions>
-                               <execution>
-                                   <id>attach-javadocs</id>
-                                   <goals>
-                                       <goal>jar</goal>
-                                   </goals>
-                                   <configuration>
-                                       <additionalparam>-Xdoclint:none</additionalparam>
-                                   </configuration>
-                               </execution>
-                           </executions>
+                               <groupId>org.apache.maven.plugins</groupId>
+                               <artifactId>maven-javadoc-plugin</artifactId>
+                               <version>2.10.4</version>
+                               <executions>
+                                       <execution>
+                                               <id>attach-javadocs</id>
+                                               <goals>
+                                                       <goal>jar</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <additionalparam>-Xdoclint:none</additionalparam>
+                                               </configuration>
+                                       </execution>
+                               </executions>
                        </plugin>
                </plugins>
        </build>
-    <reporting>
+
+       <reporting>
                <plugins>
                        <plugin>
                                <artifactId>maven-javadoc-plugin</artifactId>
                        </plugin>
                </plugins>
        </reporting>
-       <organization>
-               <name>ONAP</name>
-       </organization>
+
+       <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>
+
+               <!-- 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>
 </project>