fix security vulnerabilities
[dmaap/messagerouter/messageservice.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index 1285105..4461cf2 100644 (file)
--- a/pom.xml
+++ b/pom.xml
        <parent>
                <groupId>org.onap.oparent</groupId>
                <artifactId>oparent</artifactId>
-               <version>1.1.0</version>
+               <version>2.1.0</version>
        </parent>
 
        <groupId>org.onap.dmaap.messagerouter.messageservice</groupId>
        <artifactId>dmaapMR1</artifactId>
-       <version>1.1.7-SNAPSHOT</version>
+       <version>1.1.18-SNAPSHOT</version>
        <name>dmaap-messagerouter-messageservice</name>
        <description>Message Router - Restful interface built for kafka</description>
        <licenses>
 
        <build>
                <plugins>
+             <plugin>
+                    <groupId>org.jacoco</groupId>
+                    <artifactId>jacoco-maven-plugin</artifactId>
+                    <executions>
+                        <execution>
+                            <id>prepare-agent</id>
+                            <goals>
+                                <goal>prepare-agent</goal>
+                            </goals>
+                        </execution>
+                        <execution>
+                            <id>report</id>
+                            <goals>
+                                <goal>report</goal>
+                            </goals>
+                            <configuration>
+                                <dataFile>${project.build.directory}/code-coverage/jacoco.exec</dataFile>
+                                <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
+                            </configuration>
+                        </execution>
+                    </executions>
+                </plugin>
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-site-plugin</artifactId>
                                <artifactId>maven-jar-plugin</artifactId>
                                <version>3.0.2</version>
                        </plugin>
-
-                       <!-- <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> 
-                               <version>2.10.4</version> <configuration> <additionalparam>-Xdoclint:none</additionalparam> 
-                               </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> 
-                               <goal>jar</goal> </goals> </execution> </executions> </plugin> -->
                        <plugin>
                                <groupId>org.apache.maven.plugins</groupId>
                                <artifactId>maven-source-plugin</artifactId>
                                        </dependency>
                                </dependencies>
                        </plugin>
+                
 
-                       <plugin>
-                               <groupId>com.spotify</groupId>
-                               <artifactId>docker-maven-plugin</artifactId>
-                               <version>1.0.0</version>
-                               <configuration>
-                                       <imageName>onap/dmaap/dmaap-mr</imageName>
-                                       <dockerDirectory>${dockerLocation}</dockerDirectory>
-                                       <serverId>docker-hub</serverId>
-                                       <imageTags>
-                                               <imageTag>${dmaapImg}</imageTag>
-                                               <imageTag>latest</imageTag>
-                                       </imageTags>
-                                       <forceTags>true</forceTags>
-                                       <resources>
-                                               <resource>
-                                                       <targetPath>/</targetPath>
-                                                       <directory>${dockerLocation}</directory>
-                                                       <include>${project.build.finalName}.jar</include>
-                                               </resource>
-                                               <resource>
-                                                       <targetPath>/</targetPath>
-                                                       <directory>${project.build.directory}</directory>
-                                                       <include>**/**</include>
-                                               </resource>
-                                       </resources>
-                               </configuration>
-                               <executions>
-                                       <execution>
-                                               <id>build-image</id>
-                                               <phase>install</phase>
-                                               <goals>
-                                                       <goal>build</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <skipDockerBuild>${skip.docker.build}</skipDockerBuild>
-                                               </configuration>
-                                       </execution>
-
-                                       <execution>
-                                               <id>tag-image-project-version</id>
-                                               <phase>install</phase>
-                                               <goals>
-                                                       <goal>tag</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <image>onap/dmaap/dmaap-mr</image>
-                                                       <newName>${docker.push.registry}/onap/dmaap/dmaap-mr:${project.version}</newName>
-                                                       <skipDockerTag>${skip.docker.push}</skipDockerTag>
-                                               </configuration>
-                                       </execution>
-
-                                       <execution>
-                                               <id>tag-image-latest</id>
-                                               <phase>install</phase>
-                                               <goals>
-                                                       <goal>tag</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <image>onap/dmaap/dmaap-mr</image>
-                                                       <newName>${docker.push.registry}/onap/dmaap/dmaap-mr:latest</newName>
-                                                       <skipDockerTag>${skip.docker.push}</skipDockerTag>
-                                               </configuration>
-                                       </execution>
-
-                                       <execution>
-                                               <id>push-image-latest</id>
-                                               <phase>deploy</phase>
-                                               <goals>
-                                                       <goal>push</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <imageName>${docker.push.registry}/onap/dmaap/dmaap-mr:${project.version}</imageName>
-                                                       <skipDockerPush>${skip.docker.push}</skipDockerPush>
-                                               </configuration>
-                                       </execution>
-
-                                       <execution>
-                                               <id>push-image</id>
-                                               <phase>deploy</phase>
-                                               <goals>
-                                                       <goal>push</goal>
-                                               </goals>
-                                               <configuration>
-                                                       <imageName>${docker.push.registry}/onap/dmaap/dmaap-mr:latest</imageName>
-                                                       <skipDockerPush>${skip.docker.push}</skipDockerPush>
-                                               </configuration>
-                                       </execution>
-                               </executions>
-                       </plugin>
                        <plugin>
                                <groupId>com.blackducksoftware.integration</groupId>
                                <artifactId>hub-maven-plugin</artifactId>
                <!-- <javax-mail-version>1.5.0</javax-mail-version> -->
                <module.ajsc.namespace.name>dmaap</module.ajsc.namespace.name>
                <module.ajsc.namespace.version>v1</module.ajsc.namespace.version>
-               <ajscRuntimeVersion>3.0.9-oss</ajscRuntimeVersion>
+               <ajscRuntimeVersion>3.0.11-oss</ajscRuntimeVersion>
 
                <!-- This will be the Absolute Root of the Project and should contain NO 
                        Versioning -->
                        8080 -->
                <serverPort>3904</serverPort>
                <sslport>3905</sslport>
-
+        <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
                <testRouteOffer>workstation</testRouteOffer>
                <testEnv>DEV</testEnv>
                <!-- <dmaapImg>${project.version}</dmaapImg> -->
-               <dmaapImg>1.1.7</dmaapImg>
-               <camel.version>2.21.1</camel.version>
+               <timestamp>${maven.build.timestamp}</timestamp>
+        <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
+               <camel.version>2.21.5</camel.version>
                <sitePath>/content/sites/site/org/onap/dmaap/messagerouter/messageservice/${project.artifactId}/${project.version}</sitePath>
                <skip.docker.build>true</skip.docker.build>
+               <skip.docker.tag>true</skip.docker.tag>
                <skip.docker.push>true</skip.docker.push>
                <nexusproxy>https://nexus.onap.org</nexusproxy>
                <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
                <spring.version>3.2.18.RELEASE</spring.version>
+               <sonar.language>java</sonar.language>
+        <sonar.skip>false</sonar.skip>
+        <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
+        <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
+        <sonar.projectVersion>${project.version}</sonar.projectVersion>
        </properties>
 
        <!-- Distribution management -->
                <!-- <dependency> <groupId>csi-schemas-source</groupId> <artifactId>cmn-CommonDataModel</artifactId> 
                        <version>112.0.50</version> </dependency> -->
                <!-- TODO: add open source version here -->
-               
+
+
+       <dependency>
+               <groupId>com.sun.mail</groupId>
+               <artifactId>javax.mail</artifactId>
+               <version>1.6.0</version>
+               <exclusions>
+                       <!-- javax activation is part of the JDK now -->
+                       <exclusion>
+                               <groupId>javax.activation</groupId>
+                               <artifactId>activation</artifactId>
+                       </exclusion>
+               </exclusions>
+       </dependency>
+       <dependency>
+               <groupId>com.sun.xml.bind</groupId>
+               <artifactId>jaxb-core</artifactId>
+               <version>2.3.0.1</version>
+               <scope>compile</scope>
+       </dependency>
+       <dependency>
+               <groupId>com.sun.xml.bind</groupId>
+               <artifactId>jaxb-impl</artifactId>
+               <version>2.3.0.1</version>
+               <scope>compile</scope>
+               <exclusions>
+                       <exclusion>
+                               <artifactId>jsr181-api</artifactId>
+                               <groupId>javax.jws</groupId>
+                       </exclusion>
+               </exclusions>
+       </dependency>
+        
                 <dependency>
             <groupId>org.apache.cxf</groupId>
             <artifactId>cxf-rt-transports-http</artifactId>
             <version>3.2.5</version>
            </dependency>
 
-               <dependency>
+               <!-- <dependency>
                        <groupId>com.att.cadi</groupId>
                        <artifactId>cadi-core</artifactId>
                        <version>1.3.0</version>
                        <groupId>com.att.aft</groupId>
                        <artifactId>dme2</artifactId>
                        <version>3.1.200-oss</version>
-               </dependency>
+               </dependency> -->
                <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-expression</artifactId>
                        part of the JDK now <exclusion> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> 
                        </exclusion> </exclusions> </dependency> -->
 
-               <dependency>
-                       <groupId>org.apache.zookeeper</groupId>
-                       <artifactId>zookeeper</artifactId>
-                       <version>3.4.10</version>
-               </dependency>
+       <dependency>
+       <groupId>org.apache.zookeeper</groupId>
+       <artifactId>zookeeper</artifactId>
+       <version>3.4.14</version>
+   </dependency>
+   <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <version>1.6.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-log4j12</artifactId>
+      <version>1.6.1</version>
+      <exclusions>
+        <exclusion>
+          <groupId>*</groupId>
+          <artifactId>*</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+
+       <dependency>
+               <groupId>org.apache.kafka</groupId>
+               <artifactId>kafka_2.11</artifactId>
+               <version>2.3.0</version>
+       </dependency>
+       <dependency>
+               <groupId>commons-codec</groupId>
+               <artifactId>commons-codec</artifactId>
+               <version>1.13</version>
+       </dependency>
+       <dependency>
+               <groupId>org.quartz-scheduler</groupId>
+               <artifactId>quartz</artifactId>
+               <version>2.3.2</version>
+       </dependency>
+       <dependency>
+               <groupId>com.fasterxml.woodstox</groupId>
+               <artifactId>woodstox-core</artifactId>
+               <version>5.3.0</version>
+       </dependency>
+       <dependency>
+               <groupId>org.springframework</groupId>
+               <artifactId>spring-webmvc</artifactId>
+               <version>5.2.3.RELEASE</version>
+       </dependency>
                <dependency>
                        <groupId>org.grails</groupId>
                        <artifactId>grails-bootstrap</artifactId>
                                </exclusion>
                        </exclusions>
                </dependency>
+               <dependency>
+                       <groupId>commons-fileupload</groupId>
+                       <artifactId>commons-fileupload</artifactId>
+                       <version>1.4</version>
+               </dependency>
                <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-webmvc</artifactId>
                <dependency>
                        <groupId>org.onap.dmaap.messagerouter.msgrtr</groupId>
                        <artifactId>msgrtr</artifactId>
-                       <version>1.1.7</version>
+                       <version>1.1.22</version>
                        <exclusions>
+                               <exclusion>
+                                       <groupId>org.apache.kafka</groupId>
+                               <artifactId>kafka_2.11</artifactId>
+                               </exclusion>
                                <exclusion>
                                        <groupId>org.slf4j</groupId>
                                        <artifactId>slf4j-log4j12</artifactId>
                                        <groupId>commons-beanutils</groupId>
                                        <artifactId>commons-beanutils</artifactId>
                                </exclusion>
+                               <exclusion>
+                                       <groupId>javax.mail</groupId>
+                                       <artifactId>mail</artifactId>
+                               </exclusion>
                        </exclusions>
                </dependency>
                <dependency>
                <dependency>
                        <groupId>com.att.ajsc</groupId>
                        <artifactId>ajsc-archetype-parent</artifactId>
-                       <version>3.0.9-oss</version>
+                       <version>3.0.11-oss</version>
                        <type>pom</type>
                </dependency>
 
-               <dependency>
-                       <groupId>com.att.cadi</groupId>
-                       <artifactId>cadi-aaf</artifactId>
-                       <version>1.3.0</version>
-               </dependency>
-
-               <dependency>
-                       <groupId>com.att.inno</groupId>
-                       <artifactId>rosetta</artifactId>
-                       <version>1.2.11</version>
-               </dependency>
-               <dependency>
-                       <groupId>com.att.inno</groupId>
-                       <artifactId>env</artifactId>
-                       <version>1.2.11</version>
-               </dependency>
-               <dependency>
-                       <groupId>com.att.inno</groupId>
-                       <artifactId>xgen</artifactId>
-                       <version>1.2.11</version>
-               </dependency>
-               <dependency>
-                       <groupId>com.att.inno</groupId>
-                       <artifactId>rosetta</artifactId>
-                       <version>1.2.11</version>
-               </dependency>
-               <dependency>
-                       <groupId>backport-util-concurrent</groupId>
-                       <artifactId>backport-util-concurrent</artifactId>
-                       <version>3.1</version>
-               </dependency>
+       <dependency>
+               <groupId>org.onap.aaf.authz</groupId>
+               <artifactId>aaf-cadi-aaf</artifactId>
+               <version>2.1.13</version>
+       </dependency>
+       <dependency>
+               <groupId>backport-util-concurrent</groupId>
+               <artifactId>backport-util-concurrent</artifactId>
+               <version>3.1</version>
+       </dependency>
                <dependency>
                        <groupId>org.apache.camel</groupId>
                        <artifactId>camel-core</artifactId>
                <dependency>
                        <groupId>com.att.ajsc</groupId>
                        <artifactId>ajsc-runner</artifactId>
-                       <version>3.0.9-oss</version>
+                       <version>3.0.11-oss</version>
                        <scope>runtime</scope>
                </dependency>
                <dependency>
                        <groupId>com.att.ajsc</groupId>
                        <artifactId>ajsc-core</artifactId>
-                       <version>3.0.9-oss</version>
+                       <version>3.0.11-oss</version>
                        <scope>provided</scope>
                </dependency>
+               <dependency>
+                       <groupId>org.springframework</groupId>
+                       <artifactId>spring-test</artifactId>
+                       <version>3.2.12.RELEASE</version>
+                       <scope>test</scope>
+               </dependency>
        </dependencies>
        <!-- <build> <resources> <resource> <directory>${basedir}/ajsc-shared-config/etc</directory> 
                </resource> </resources> </build> -->
                <profile>
                        <id>docker</id>
                        <properties>
-
                                <skip.docker.build>false</skip.docker.build>
                                <skip.docker.tag>false</skip.docker.tag>
                                <skip.docker.push>false</skip.docker.push>
                        </properties>
+                       <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.groovy.maven</groupId>
+                        <artifactId>gmaven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <phase>validate</phase>
+                                <goals>
+                                    <goal>execute</goal>
+                                </goals>
+                                <configuration>
+                                    <properties>
+                                        <ver>${project.version}</ver>
+                                        <timestamp>${maven.build.timestamp}</timestamp>
+                                    </properties>
+                                    <source>
+                                        println project.properties['ver'];
+                                        if ( project.properties['ver'].endsWith("-SNAPSHOT") ) {
+                                        project.properties['dockertag1']=project.properties['ver'] + "-latest";
+                                        project.properties['dockertag2']=project.properties['ver'] + "-" + project.properties['timestamp'];
+                                        } else {
+                                        project.properties['dockertag1']=project.properties['ver'] + "-STAGING-latest";
+                                        project.properties['dockertag2']=project.properties['ver'] + "-STAGING-" + project.properties['timestamp'];
+                                        }
+                                        println 'docker tag 1: ' + project.properties['dockertag1'];
+                                        println 'docker tag 2: ' + project.properties['dockertag2'];
+                                    </source>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                   <plugin>
+                        <groupId>io.fabric8</groupId>
+                        <artifactId>docker-maven-plugin</artifactId>
+                        <version>0.28.0</version>  
+                        <configuration>
+                            <verbose>${docker.verbose}</verbose>
+                            <apiVersion>${docker.apiVersion}</apiVersion>
+                            <pullRegistry>${docker.pull.registry}</pullRegistry>
+                            <pushRegistry>${docker.push.registry}</pushRegistry>
+                            <images>
+                                <image>                            
+                                    <name>onap/dmaap/dmaap-mr</name>
+                                    <build>
+                                        <cleanup>try</cleanup>
+                                        <dockerFileDir>${dockerLocation}</dockerFileDir>
+                                        <dockerFile>Dockerfile</dockerFile>
+                                        <tags>
+                                            <tag>${dockertag1}</tag>
+                                            <tag>${dockertag2}</tag>
+                                        </tags>
+                                    </build>
+                                </image>
+                            </images>
+                        </configuration>
+                         <executions>
+                             <execution>
+                                 <id>generate-images</id>
+                                 <phase>install</phase>
+                                 <goals>
+                                     <goal>build</goal>
+                                 </goals>
+                             </execution>
+                             <execution>
+                                 <id>push-images</id>
+                                 <phase>deploy</phase>
+                                 <goals>
+                                     <goal>push</goal>
+                                 </goals>
+                             </execution>
+                         </executions>
+                    </plugin>
+                </plugins>
+            </build>
                </profile>
 
                <profile>