Release ccsdk/parent
[ccsdk/parent.git] / odlparent / client-parent / pom.xml
index 296ac78..e65ce19 100644 (file)
@@ -4,7 +4,7 @@
 
     <groupId>org.onap.ccsdk.parent</groupId>
     <artifactId>client-parent</artifactId>
-    <version>1.5.0-SNAPSHOT</version>
+    <version>2.2.0</version>
     <packaging>pom</packaging>
 
     <name>ONAP :: ${project.groupId} :: ${project.artifactId}</name>
@@ -32,8 +32,6 @@
     <properties>
 
         <!-- properties from oparent -->
-        <maven.compiler.source>1.8</maven.compiler.source>
-        <maven.compiler.target>1.8</maven.compiler.target>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
         <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>
 
-        <java.version.source>1.8</java.version.source>
-        <java.version.target>1.8</java.version.target>
-        <maven.compiler.version>3.6.1</maven.compiler.version>
+        <java.version>11</java.version>
+        <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
+        <maven-failsafe-plugin.version>3.0.0-M5</maven-failsafe-plugin.version>
+        <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
 
         <checkstyle.skip>true</checkstyle.skip>
 
         <org.json.version>20170516</org.json.version>
-        <jackson.version>2.8.9</jackson.version>
+        <jackson.version>2.11.0</jackson.version>
         <!-- Need to stick to JUnit 4.11 until https://github.com/jayway/powermock/issues/560
             is fixed (either in PowerMock or with a new JUnit release) -->
         <!-- Used everywhere -->
-        <junit.version>4.11</junit.version>
+        <junit.version>4.13</junit.version>
         <mockito.version>2.8.9</mockito.version>
         <lombok.version>1.18.0</lombok.version>
         <openpojo.version>0.8.10</openpojo.version>
         <spring.version>4.3.7.RELEASE</spring.version>
-        <javax.validation.version>2.0.0.Final</javax.validation.version>
-        <swagger.version>1.5.16</swagger.version>
+        <javax.validation.version>1.1.0.Final</javax.validation.version>
+        <swagger.version>1.5.21</swagger.version>
+        <yangtools.version>1.2.3</yangtools.version>
+        <yang2swagger.version>1.1.12</yang2swagger.version>
 
         <!-- ONAP repositories -->
         <onap.nexus.host>nexus.onap.org</onap.nexus.host>
@@ -85,6 +86,9 @@
         <onap.nexus.staging.server-id>ecomp-staging</onap.nexus.staging.server-id>
         <onap.nexus.staging.profile-id>176c31dfe190a</onap.nexus.staging.profile-id>
 
+        <!-- Default api name for client -->
+        <api.name>client</api.name>
+
     </properties>
 
     <dependencies>
     <build>
         <pluginManagement>
             <plugins>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-deploy-plugin</artifactId>
+                    <!-- This version supports the "deployAtEnd" parameter -->
+                    <version>2.8</version>
+                    <configuration>
+                        <skip/>
+                        <deployAtEnd>true</deployAtEnd>
+                    </configuration>
+                </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-compiler-plugin</artifactId>
-                    <version>${maven.compiler.version}</version>
+                    <version>${maven-compiler-plugin.version}</version>
                     <configuration>
-                        <source>${java.version.source}</source>
-                        <target>${java.version.target}</target>
+                        <release>${java.version}</release>
+                        <!--explicitly remove source and target-->
+                        <source combine.self="override"/>
+                        <target combine.self="override"/>
                     </configuration>
                 </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <version>${maven-surefire-plugin.version}</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>${maven-failsafe-plugin.version}</version>
+                    <executions>
+                        <!-- Ensures that both integration-test and verify goals of the Failsafe Maven plugin are executed. -->
+                        <execution>
+                            <id>integration-tests</id>
+                            <goals>
+                                <goal>integration-test</goal>
+                                <goal>verify</goal>
+                            </goals>
+                            <configuration>
+                                <!-- Sets the VM argument line used when integration tests are run. -->
+                                <argLine>${failsafeArgLine}</argLine>
+                            </configuration>
+                        </execution>
+                    </executions>
+                </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-source-plugin</artifactId>
                 <plugin>
                     <groupId>org.opendaylight.yangtools</groupId>
                     <artifactId>yang-maven-plugin</artifactId>
-                    <version>1.2.3</version>
+                    <version>${yangtools.version}</version>
                     <dependencies>
                         <dependency>
                             <groupId>com.mrv.yangtools</groupId>
                             <artifactId>swagger-maven-plugin</artifactId>
-                            <version>1.1.9</version>
+                            <version>${yang2swagger.version}</version>
                         </dependency>
                         <dependency>
-                            <groupId>com.github.romix</groupId>
-                            <artifactId>java-concurrent-hash-trie-map</artifactId>
-                            <version>0.2.23</version>
+                            <groupId>com.fasterxml.jackson.core</groupId>
+                            <artifactId>jackson-core</artifactId>
+                            <version>${jackson.version}</version>
                         </dependency>
                     </dependencies>
                     <executions>
                         <execution>
+                            <id>binding</id>
                             <goals>
                                 <goal>generate-sources</goal>
                             </goals>
                                         <resourceBaseDir>${project.build.directory}/yang</resourceBaseDir>
                                         <additionalConfiguration>
                                             <api-version>${project.version}</api-version>
-                                            <base-module>client</base-module>
+                                            <base-module>${api.name}</base-module>
                                             <swagger-format>yaml</swagger-format>
+                                            <path-format>odl</path-format>
                                         </additionalConfiguration>
                                     </generator>
                                 </codeGenerators>
                                 <goal>generate</goal>
                             </goals>
                             <configuration>
-                                <inputSpec>${project.build.directory}/generated-sources/swagger-maven-api-gen/client.yaml</inputSpec>
+                                <inputSpec>${project.build.directory}/generated-sources/swagger-maven-api-gen/${api.name}.yaml</inputSpec>
                                 <language>spring</language>
                             </configuration>
                         </execution>