update docker-maven-plugin configs
[externalapi/nbi.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index 6d048c0..3019092 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-
-        Copyright (c) 2017 Orange.  All rights reserved.
+        Copyright (c) 2018 Orange
 
         Licensed under the Apache License, Version 2.0 (the "License");
         you may not use this file except in compliance with the License.
 
 -->
 <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">
+                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>
 
        <groupId>org.onap.externalapi-nbi</groupId>
        <artifactId>nbi-rest-services</artifactId>
-       <version>1.0.0-SNAPSHOT</version>
+       <version>3.0.0-SNAPSHOT</version>
        <packaging>jar</packaging>
 
-       <name>nbi-rest-services</name>
+       <name>externalapi-nbi</name>
 
        <parent>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
-               <version>1.5.10.RELEASE</version>
+               <version>1.5.12.RELEASE</version>
                <relativePath /> <!-- lookup parent from repository -->
        </parent>
 
-
        <properties>
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
                <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
                <!--docker -->
                <docker.tag>${project.version}-${timestamp}</docker.tag>
                <docker.latest.tag>${project.version}-latest</docker.latest.tag>
+               <!--sonar -->
+            <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.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
+            <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>
+            <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
+            <sonar.projectVersion>${project.version}</sonar.projectVersion>
+               <sonar.coverage.exclusions>**/model/**/*</sonar.coverage.exclusions>
        </properties>
 
        <repositories>
                </repository>
        </repositories>
 
+       <distributionManagement>
+               <repository>
+                       <id>ecomp-releases</id>
+                       <name>Release Repository</name>
+                       <url>${nexusproxy}/${releaseNexusPath}</url>
+               </repository>
+               <snapshotRepository>
+                       <id>ecomp-snapshots</id>
+                       <name>Snapshot Repository</name>
+                       <url>${nexusproxy}/${snapshotNexusPath}</url>
+               </snapshotRepository>
+       </distributionManagement>
+
        <licenses>
                <license>
                        <name>Apache2</name>
                <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-web</artifactId>
+                       <exclusions>
+                               <exclusion>
+                                       <groupId>ch.qos.logback</groupId>
+                                       <artifactId>logback-classic</artifactId>
+                               </exclusion>
+                               <exclusion>
+                                       <groupId>org.apache.tomcat.embed</groupId>
+                                       <artifactId>tomcat-embed-core</artifactId>
+                               </exclusion>
+                               <exclusion>
+                                       <groupId>com.fasterxml.jackson.core</groupId>
+                                       <artifactId>jackson-databind</artifactId>
+                               </exclusion>
+                       </exclusions>
+               </dependency>
+
+               <dependency>
+                       <groupId>com.fasterxml.jackson.core</groupId>
+                       <artifactId>jackson-databind</artifactId>
+                       <version>2.8.11.2</version>
+               </dependency>
+
+               <dependency>
+                       <groupId>org.apache.tomcat.embed</groupId>
+                       <artifactId>tomcat-embed-core</artifactId>
+                       <version>8.5.32</version>
+               </dependency>
+
+               <dependency>
+                       <groupId>ch.qos.logback</groupId>
+                       <artifactId>logback-classic</artifactId>
+                       <version>1.2.3</version>
                </dependency>
 
                <dependency>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-data-jpa</artifactId>
+      <exclusions>
+        <exclusion>
+                                       <groupId>org.springframework.data</groupId>
+                                       <artifactId>spring-data-commons</artifactId>
+        </exclusion>
+      </exclusions>
+               </dependency>
+
+               <dependency>
+                       <groupId>org.springframework.data</groupId>
+                       <artifactId>spring-data-commons</artifactId>
+                       <version>1.13.14.RELEASE</version>
+               </dependency>
+
+               <dependency>
+                               <groupId>org.springframework.boot</groupId>
+                               <artifactId>spring-boot-starter-aop</artifactId>
                </dependency>
 
                <dependency>
 
                <!-- mysql -->
 
-               <dependency>
-                       <groupId>mysql</groupId>
-                       <artifactId>mysql-connector-java</artifactId>
-               </dependency>
                <dependency>
                        <groupId>org.mariadb.jdbc</groupId>
                        <artifactId>mariadb-java-client</artifactId>
                <dependency>
                        <groupId>com.fasterxml.jackson.dataformat</groupId>
                        <artifactId>jackson-dataformat-yaml</artifactId>
-                       <version>2.8.0</version>
+                       <version>2.9.6</version>
                </dependency>
 
                <!-- jolt -->
                        <groupId>com.bazaarvoice.jolt</groupId>
                        <artifactId>jolt-core</artifactId>
                        <version>0.1.0</version>
+                       <exclusions>
+                               <exclusion>
+                                       <groupId>com.fasterxml.jackson.core</groupId>
+                                       <artifactId>jackson-databind</artifactId>
+                               </exclusion>
+                       </exclusions>
                </dependency>
 
                <dependency>
                        <groupId>com.bazaarvoice.jolt</groupId>
                        <artifactId>json-utils</artifactId>
                        <version>0.1.0</version>
+                       <exclusions>
+                               <exclusion>
+                                       <groupId>com.fasterxml.jackson.core</groupId>
+                                       <artifactId>jackson-databind</artifactId>
+                               </exclusion>
+                       </exclusions>
                </dependency>
 
                <!-- test -->
                        <scope>test</scope>
                </dependency>
 
-               <!-- test h2  -->
+               <!-- test h2 -->
 
                <dependency>
                        <groupId>com.h2database</groupId>
                        <artifactId>spring-cloud-contract-wiremock</artifactId>
                        <version>1.0.0.RELEASE</version>
                        <scope>test</scope>
+                       <exclusions>
+                               <exclusion>
+                                       <groupId>com.fasterxml.jackson.core</groupId>
+                                       <artifactId>jackson-databind</artifactId>
+                               </exclusion>
+                       </exclusions>
                </dependency>
 
                <dependency>
                        <scope>runtime</scope>
                </dependency>
 
+               <!-- MSB SDK-->
+               <dependency>
+                       <groupId>org.onap.msb.java-sdk</groupId>
+                       <artifactId>msb-java-sdk</artifactId>
+                       <version>1.1.1</version>
+                       <exclusions>
+                               <exclusion>
+                                       <groupId>com.fasterxml.jackson.core</groupId>
+                                       <artifactId>jackson-databind</artifactId>
+                               </exclusion>
+                       </exclusions>
+               </dependency>
+
        </dependencies>
 
        <build>
                                        <includes>
                                                <include>restclient/**</include>
                                                <include>src/**</include>
-                                               <include>pom.xml</include>
+                                               <include>./**/*.xml</include>
+                                               <include>./**/*.xml</include>
+                                               <include>./**/*.yml</include>
+                                               <include>./**/*.yaml</include>
                                        </includes>
                                        <skipExistingHeaders>true</skipExistingHeaders>
                                        <skip>false</skip>
                                        </execution>
                                </executions>
                        </plugin>
+                       <plugin>
+                               <groupId>org.codehaus.mojo</groupId>
+                               <artifactId>sonar-maven-plugin</artifactId>
+                               <version>3.2</version>
+                       </plugin>
+                       <plugin>
+                            <groupId>org.jacoco</groupId>
+                            <artifactId>jacoco-maven-plugin</artifactId>
+                            <version>0.8.1</version>
+                            <configuration>
+                                 <dumpOnExit>true</dumpOnExit>
+                                 <includes>
+                                       <include>org.onap.nbi.*</include>
+                                 </includes>
+                                 <excludes>
+                                       <exclude>**/model/**/*</exclude>
+                                 </excludes>        
+                            </configuration>
+                            <executions>
+                                 <execution>
+                                       <id>pre-unit-test</id>
+                                       <goals>
+                                            <goal>prepare-agent</goal>
+                                       </goals>
+                                       <configuration>
+                                            <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
+                                            <!-- <append>true</append> -->
+                                       </configuration>
+                                 </execution>
+                                 <execution>
+                                       <id>pre-integration-test</id>
+                                       <phase>pre-integration-test</phase>
+                                       <goals>
+                                            <goal>prepare-agent</goal>
+                                       </goals>
+                                       <configuration>
+                                            <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
+                                            <!-- <append>true</append> -->
+                                       </configuration>
+                                 </execution>
+                                 <execution>
+                                       <goals>
+                                            <goal>merge</goal>
+                                       </goals>
+                                       <phase>post-integration-test</phase>
+                                       <configuration>
+                                            <fileSets>
+                                                  <fileSet implementation="org.apache.maven.shared.model.fileset.FileSet">
+                                                      <directory>${project.build.directory}/coverage-reports</directory>
+                                                      <includes>
+                                                            <include>*.exec</include>
+                                                      </includes>
+                                                 </fileSet>
+                                            </fileSets>
+                                            <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
+                                       </configuration>
+                                  </execution>
+                            </executions>
+                       </plugin>
+                       <plugin>
+                               <artifactId>maven-source-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>attach-sources</id>
+                                               <phase>deploy</phase>
+                                               <goals>
+                                                       <goal>jar-no-fork</goal>
+                                               </goals>
+                                       </execution>
+                               </executions>
+                       </plugin>
                </plugins>
        </build>
 
                                        <plugin>
                                                <groupId>io.fabric8</groupId>
                                                <artifactId>docker-maven-plugin</artifactId>
-                                               <version>0.19.1</version>
+                                               <version>0.26.1</version>
                                                <configuration>
                                                        <verbose>true</verbose>
                                                        <apiVersion>1.23</apiVersion>
                                                        <pushRegistry>${docker.push.registry}</pushRegistry>
                                                        <images>
                                                                <image>
-                                                                       <name>onap/externalapi/nbi</name>
-                                                                       <alias>onap/externalapi/nbi</alias>
+                                                                       <name>onap/externalapi/nbi:${docker.tag}</name>
                                                                        <build>
                                                                                <cleanup>true</cleanup>
                                                                                <tags>
-                                                                                       <tag>${docker.tag}</tag>
+                                                                                       <tag>latest</tag>
                                                                                        <tag>${docker.latest.tag}</tag>
                                                                                </tags>
                                                                                <dockerFileDir>${project.basedir}</dockerFileDir>
+                                                                               <args>
+                                                                                       <PKG_FILENAME>${project.build.finalName}.${project.packaging}</PKG_FILENAME>
+                                                                               </args>
                                                                        </build>
                                                                </image>
                                                        </images>
                                                                        <goal>remove</goal>
                                                                </goals>
                                                                <configuration>
-                                                                       <removeAll>true</removeAll>
-                                                                       <image>nbi</image>
+                                                                       <removeMode>all</removeMode>
                                                                </configuration>
                                                        </execution>
                                                        <execution>