Move to more current camel version
[aai/data-router.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index 3249966..88db922 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -1,4 +1,4 @@
-<!--
+<!--
 ============LICENSE_START=======================================================
 org.onap.aai
 ================================================================================
@@ -25,17 +25,17 @@ limitations under the License.
    <parent>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-parent</artifactId>
-      <version>1.5.15.RELEASE</version>
+      <version>1.5.19.RELEASE</version>
       <relativePath />
    </parent>
    <groupId>org.onap.aai.data-router</groupId>
    <artifactId>data-router</artifactId>
-   <version>1.3.0-SNAPSHOT</version>
+   <version>1.4.0-SNAPSHOT</version>
    <name>aai-data-router</name>
 
    <properties>
       <java.version>1.8</java.version>
-      <camel-spring-boot.version>2.20.1</camel-spring-boot.version>
+      <camel-spring-boot.version>2.21.5</camel-spring-boot.version>
       <docker.location>${basedir}/target</docker.location>
       <absoluteDistFilesRoot>/appl/${project.artifactId}</absoluteDistFilesRoot>
       <!-- For NO Versioning, REMOVE the /${project.version} from the <distFilesRoot>
@@ -48,6 +48,7 @@ limitations under the License.
       <installOwnerUser>aaiadmin</installOwnerUser>
       <installOwnerGroup>aaiadmin</installOwnerGroup>
       <ownerManagementGroup>com.att.csid.lab</ownerManagementGroup>
+      <version.aai-schema>1.0.0</version.aai-schema>
 
       <!-- Port Selection. A value of 0 will allow for dynamic port selection.
          For local testing, you may choose to hardcode this value to something like
@@ -67,7 +68,9 @@ limitations under the License.
       <sonar.jacoco.reportMissing.force.zero>false</sonar.jacoco.reportMissing.force.zero>
       <sonar.projectVersion>${project.version}</sonar.projectVersion>
       <logback.version>1.2.3</logback.version>
-      <version.com.google.guava>26.0-jre</version.com.google.guava>
+      <version.com.google.guava>16.0.1</version.com.google.guava>
+      <shemaUnpackVersion>onap</shemaUnpackVersion>
+      <jacoco.line.coverage.limit>0.58</jacoco.line.coverage.limit>
    </properties>
 
    <dependencies>
@@ -108,8 +111,17 @@ limitations under the License.
       <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
-
+         <exclusions>
+           <exclusion>
+             <groupId>org.springframework.boot</groupId>
+             <artifactId>spring-boot-starter-tomcat</artifactId>
+           </exclusion>
+         </exclusions>
       </dependency>
+        <dependency>
+                       <groupId>org.springframework.boot</groupId>
+                       <artifactId>spring-boot-starter-jetty</artifactId>
+               </dependency>
       <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter</artifactId>
@@ -166,31 +178,17 @@ limitations under the License.
       <dependency>
          <groupId>com.att.aft</groupId>
          <artifactId>dme2</artifactId>
-         <version>3.1.200</version>
+         <version>3.1.200-oss</version>
          <scope>provided</scope>
       </dependency>
-      <!--<dependency>-->
-         <!--<groupId>org.onap.aai.aai-common</groupId>-->
-         <!--<artifactId>aai-schema</artifactId>-->
-         <!--<version>1.3.0-SNAPSHOT</version>-->
-      <!--</dependency>-->
-      <!--<dependency>-->
-        <!--<groupId>org.onap.aai.aai-common</groupId>-->
-         <!--<artifactId>aai-schema-ingest</artifactId>-->
-         <!--<version>1.2.2</version>-->
-         <!--<exclusions>-->
-             <!--<exclusion>-->
-                 <!--<groupId>com.google.guava</groupId>-->
-                 <!--<artifactId>guava</artifactId>-->
-             <!--</exclusion>-->
-         <!--</exclusions>-->
-      <!--</dependency>-->
+
       <dependency>
          <groupId>org.onap.aai.router-core</groupId>
          <artifactId>router-core</artifactId>
-         <version>1.3.0-SNAPSHOT</version>
+         <version>1.4.0-SNAPSHOT</version>
       </dependency>
 
+   
       <dependency>
          <groupId>org.json</groupId>
          <artifactId>json</artifactId>
@@ -223,7 +221,7 @@ limitations under the License.
       <dependency>
          <groupId>org.onap.aai</groupId>
          <artifactId>rest-client</artifactId>
-         <version>1.1.0</version>
+         <version>1.2.1</version>
       </dependency>
 
     <dependency>
@@ -237,6 +235,72 @@ limitations under the License.
    <build>
       <finalName>${project.artifactId}</finalName>
       <plugins>
+        <!-- jacoco-maven-plugin provides the basic report creation during unit testing, such as code-coverage, sonar, etc. -->
+         <plugin>
+            <groupId>org.jacoco</groupId>
+            <artifactId>jacoco-maven-plugin</artifactId>
+            <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>${sonar.jacoco.reportPath}</destFile>
+                     <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>${sonar.jacoco.reportPath}</dataFile>
+                     <!-- Sets the output directory for the code coverage report. -->
+                     <outputDirectory>${jacoco.path}</outputDirectory>
+                  </configuration>
+               </execution>
+               <!-- Prepares the property pointing to the JaCoCo runtime agent which
+                    is passed as VM argument when Maven the Failsafe plugin is executed. -->
+               <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>${sonar.jacoco.itReportPath}</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>${sonar.jacoco.itReportPath}/</dataFile>
+                     <!-- Sets the output directory for the code coverage report. -->
+                     <outputDirectory>${jacoco.itPath}</outputDirectory>
+                  </configuration>
+               </execution>
+            </executions>
+         </plugin>
          <!-- Checkstyle plugin - used to report on compliance with -->
          <!-- the Google style guide. -->
          <plugin>
@@ -264,6 +328,18 @@ limitations under the License.
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>
+         <plugin>
+            <artifactId>maven-surefire-plugin</artifactId>
+            <version>2.21.0</version>
+            <configuration>
+                <systemPropertyVariables>
+                    <APP_HOME>${project.basedir}</APP_HOME>
+                    <CONFIG_HOME>${project.basedir}/src/test/resources/config</CONFIG_HOME>
+                    <SERVICE_BEANS>${project.basedir}/src/test/resources/spring-beans</SERVICE_BEANS>
+                    <testShemaUnpackVersion>${shemaUnpackVersion}</testShemaUnpackVersion>
+                </systemPropertyVariables>
+            </configuration>
+         </plugin>
          <plugin>
             <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-resources-plugin</artifactId>
@@ -318,19 +394,19 @@ limitations under the License.
             <executions>
               <execution>
                 <id>unpack</id>
-                <phase>prepare-package</phase>
+                <phase>initialize</phase>
                 <goals>
                   <goal>unpack</goal>
                 </goals>
                 <configuration>
                   <artifactItems>
                     <artifactItem>
-                      <groupId>org.onap.aai.aai-common</groupId>
+                      <groupId>org.onap.aai.schema-service</groupId>
                       <artifactId>aai-schema</artifactId>
-                      <version>1.2.2</version>
+                      <version>${version.aai-schema}</version>
                       <type>jar</type>
-                      <includes>oxm/</includes>
-                      <outputDirectory>${project.build.directory}/bundleconfig-local/etc</outputDirectory>
+                      <includes>/${shemaUnpackVersion}/oxm/</includes>
+                      <outputDirectory>${project.build.directory}/oxm</outputDirectory>
                     </artifactItem>
                   </artifactItems>
                   </configuration>
@@ -415,6 +491,28 @@ limitations under the License.
                      </destFile>
                   </configuration>
                </execution>
+               <execution>
+                      <id>default-check</id>
+                      <goals>
+                          <goal>check</goal>
+                      </goals>
+                      <configuration>
+                         <dataFile>${project.build.directory}/coverage-reports/jacoco.exec</dataFile>
+                          <rules>
+                              <!--  implementation is needed only for Maven 2  -->
+                             <rule implementation="org.jacoco.maven.RuleConfiguration">
+                                 <element>BUNDLE</element>
+                                  <limits>
+                                    <limit implementation="org.jacoco.report.check.Limit">
+                                          <counter>LINE</counter>
+                                         <value>COVEREDRATIO</value>
+                                         <minimum>${jacoco.line.coverage.limit}</minimum>
+                                     </limit>
+                                  </limits>
+                              </rule>
+                          </rules>
+                      </configuration>
+                  </execution>
             </executions>
          </plugin>