Merge "Remove datarouter-node critical code smells"
[dmaap/datarouter.git] / pom.xml
diff --git a/pom.xml b/pom.xml
old mode 100644 (file)
new mode 100755 (executable)
index c6a660e..6db34b6
--- a/pom.xml
+++ b/pom.xml
-<!--\r
-  ============LICENSE_START==================================================\r
-  * org.onap.dmaap\r
-  * ===========================================================================\r
-  * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
-  * ===========================================================================\r
-  * Licensed under the Apache License, Version 2.0 (the "License");\r
-  * you may not use this file except in compliance with the License.\r
-  * You may obtain a copy of the License at\r
-  * \r
-   *      http://www.apache.org/licenses/LICENSE-2.0\r
-  * \r
-   * Unless required by applicable law or agreed to in writing, software\r
-  * distributed under the License is distributed on an "AS IS" BASIS,\r
-  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-  * See the License for the specific language governing permissions and\r
-  * limitations under the License.\r
-  * ============LICENSE_END====================================================\r
-  *\r
-  * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
-  *\r
--->\r
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">\r
-  <modelVersion>4.0.0</modelVersion>\r
-  <groupId>org.onap.dmaap.datarouter</groupId>\r
-  <artifactId>parent</artifactId>\r
-  <name>dmaap-datarouter</name>\r
-  <version>1.0.0-SNAPSHOT</version>\r
-  <packaging>pom</packaging>\r
-  <url>https://github.com/att/DMAAP_DATAROUTER</url>\r
-    <licenses>\r
-               <license>\r
-               <name>BSD License</name>\r
-               <url> </url>\r
-               </license>\r
-       </licenses>\r
-  \r
-  <parent>\r
-       <groupId>org.onap.oparent</groupId>\r
-       <artifactId>oparent</artifactId>\r
-       <version>1.0.0-SNAPSHOT</version>\r
-  </parent>\r
-       \r
-  <properties>\r
-  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\r
-               <maven.compiler.source>1.8</maven.compiler.source>\r
-               <maven.compiler.target>1.8</maven.compiler.target>\r
-               <nexusproxy>https://nexus.onap.org</nexusproxy>\r
-               <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>\r
-               <releaseNexusPath>/content/repositories/releases/</releaseNexusPath>\r
-               <stagingNexusPath>/content/repositories/staging/</stagingNexusPath>\r
-               <sitePath>/content/sites/site/org/onap/datarouter/${project.artifactId}/${project.version}</sitePath>\r
-       </properties>\r
-       \r
-       \r
-  <modules>\r
-  <module>datarouter-prov</module>\r
-  <module>datarouter-node</module>\r
-  </modules>\r
-  \r
-  <build>\r
-  <plugins>\r
-  <plugin>\r
-               <groupId>org.sonatype.plugins</groupId>\r
-               <artifactId>nexus-staging-maven-plugin</artifactId>\r
-               <version>1.6.7</version>\r
-               <extensions>true</extensions>\r
-                       <configuration>\r
-                               <nexusUrl>${nexusproxy}</nexusUrl>\r
-                               <stagingProfileId>176c31dfe190a</stagingProfileId>\r
-                               <serverId>ecomp-staging</serverId>\r
-                       </configuration>\r
-       </plugin>\r
-       </plugins>\r
-  </build>\r
- <distributionManagement>\r
-               <repository>\r
-                       <id>ecomp-releases</id>\r
-                       <name>AAF Release Repository</name>\r
-                       <url>${nexusproxy}${releaseNexusPath}</url>\r
-               </repository>\r
-               <snapshotRepository>\r
-                       <id>ecomp-snapshots</id>\r
-                       <name>AAF Snapshot Repository</name>\r
-                       <url>${nexusproxy}${snapshotNexusPath}</url>\r
-               </snapshotRepository>\r
-               <site>\r
-                       <id>ecomp-site</id>\r
-                       <url>dav:${nexusproxy}${sitePath}</url>\r
-               </site>\r
-       </distributionManagement>\r
-    <pluginRepositories>\r
-        <pluginRepository>\r
-            <id>onap-plugin-snapshots</id>\r
-            <url>https://nexus.onap.org/content/repositories/snapshots/</url>\r
-        </pluginRepository>\r
-    </pluginRepositories>\r
-       \r
-<repositories>\r
-               <repository>\r
-                       <id>central</id>\r
-                       <name>Maven 2 repository 2</name>\r
-                       <url>http://repo2.maven.org/maven2/</url>\r
-               </repository>\r
-               <repository>\r
-            <id>onap-jar-snapshots</id>\r
-            <url>https://nexus.onap.org/content/repositories/snapshots</url>\r
-        </repository>\r
-               <repository>\r
-                       <id>spring-repo</id>\r
-                       <name>Spring repo</name>\r
-                       <url>https://artifacts.alfresco.com/nexus/content/repositories/public/</url>\r
-               </repository>\r
-               <repository>\r
-                       <id>repository.jboss.org-public</id>\r
-                       <name>JBoss.org Maven repository</name>\r
-                       <url>https://repository.jboss.org/nexus/content/groups/public</url>\r
-               </repository>\r
-       </repositories>  \r
-</project>\r
+<!--
+  ============LICENSE_START==================================================
+  * org.onap.dmaap
+  * ===========================================================================
+  * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+  * Modifications Copyright (C) 2018 Nokia. All rights reserved.
+  * ===========================================================================
+  * Licensed under the Apache License, Version 2.0 (the "License");
+  * you may not use this file except in compliance with the License.
+  * You may obtain a copy of the License at
+  *
+   *      http://www.apache.org/licenses/LICENSE-2.0
+  *
+   * Unless required by applicable law or agreed to in writing, software
+  * distributed under the License is distributed on an "AS IS" BASIS,
+  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  * See the License for the specific language governing permissions and
+  * limitations under the License.
+  * ============LICENSE_END====================================================
+  *
+  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+  *
+-->
+<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">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.onap.dmaap.datarouter</groupId>
+    <artifactId>parent</artifactId>
+    <name>dmaap-datarouter</name>
+    <version>${revision}</version>
+    <packaging>pom</packaging>
+    <url>https://docs.onap.org/en/latest/submodules/dmaap/datarouter.git/docs/index.html</url>
+    <parent>
+        <groupId>org.onap.oparent</groupId>
+        <artifactId>oparent</artifactId>
+        <version>1.2.3</version>
+    </parent>
+    <properties>
+        <!--revision can be set in the version.properties file at project root and is loaded by all sub modules-->
+        <revision>${snapshot_version}</revision>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
+
+        <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
+        <releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
+        <stagingNexusPath>/content/repositories/staging/</stagingNexusPath>
+        <sitePath>/content/sites/site/org/onap/dmaap/datarouter/${project.artifactId}/${project.version}</sitePath>
+
+        <sonar.language>java</sonar.language>
+        <sonar.skip>false</sonar.skip>
+        <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
+        <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
+        <sonar.jacoco.reportPaths>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPaths>
+        <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>
+        <sonar.projectVersion>${project.version}</sonar.projectVersion>
+
+        <docker.skip.build>false</docker.skip.build>
+        <docker.verbose>true</docker.verbose>
+        <docker.image.root>onap/dmaap/</docker.image.root>
+        <timestamp>${maven.build.timestamp}</timestamp>
+        <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
+
+        <!--dependency version across all modules-->
+        <jetty.version>9.4.14.v20181114</jetty.version>
+        <javax.mail-api.version>1.5.5</javax.mail-api.version>
+        <javax.servlet-api.version>4.0.1</javax.servlet-api.version>
+        <qos.logback.version>1.2.3</qos.logback.version>
+        <aaf-cadi-aaf.version>2.1.10</aaf-cadi-aaf.version>
+        <commons-codec.version>1.10</commons-codec.version>
+        <gmaven-plugin.version>1.5</gmaven-plugin.version>
+        <io.fabric8.version>0.28.0</io.fabric8.version>
+        <docker.apiVersion>1.23</docker.apiVersion>
+        <commons-lang.version>2.4</commons-lang.version>
+        <commons-io.version>2.6</commons-io.version>
+        <httpcore.version>4.4</httpcore.version>
+        <httpclient.version>4.5.3</httpclient.version>
+        <junit-runner.version>0.11</junit-runner.version>
+        <junit.version>4.12</junit.version>
+        <mockito-core.version>1.10.19</mockito-core.version>
+        <powermock.version>1.7.4</powermock.version>
+        <powermock-api-mockito.version>1.7.4</powermock-api-mockito.version>
+        <commons-lang3.version>3.0</commons-lang3.version>
+        <eelf-core.version>1.0.0</eelf-core.version>
+        <json.version>20160810</json.version>
+        <sl4j-api.version>1.7.25</sl4j-api.version>
+        <hamcrest-lib.version>1.3</hamcrest-lib.version>
+        <annotations.version>12.0</annotations.version>
+    </properties>
+    <modules>
+        <module>datarouter-prov</module>
+        <module>datarouter-node</module>
+        <module>datarouter-subscriber</module>
+        <module>datarouter-docker-compose</module>
+    </modules>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.hamcrest</groupId>
+                <artifactId>hamcrest-library</artifactId>
+                <version>${hamcrest-lib.version}</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-api</artifactId>
+                <version>${sl4j-api.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-codec</groupId>
+                <artifactId>commons-codec</artifactId>
+                <version>${commons-codec.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>ch.qos.logback</groupId>
+                <artifactId>logback-classic</artifactId>
+                <version>${qos.logback.version}</version>
+                <scope>compile</scope>
+            </dependency>
+            <dependency>
+                <groupId>ch.qos.logback</groupId>
+                <artifactId>logback-core</artifactId>
+                <version>${qos.logback.version}</version>
+                <scope>compile</scope>
+            </dependency>
+            <dependency>
+                <groupId>com.intellij</groupId>
+                <artifactId>annotations</artifactId>
+                <version>${annotations.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>javax.servlet</groupId>
+                <artifactId>javax.servlet-api</artifactId>
+                <version>${javax.servlet-api.version}</version>
+                <scope>compile</scope>
+            </dependency>
+            <dependency>
+                <groupId>javax.mail</groupId>
+                <artifactId>javax.mail-api</artifactId>
+                <version>${javax.mail-api.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-server</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-continuation</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-util</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-servlet</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-http</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-io</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty.cdi</groupId>
+                <artifactId>cdi-websocket</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.onap.aaf.authz</groupId>
+                <artifactId>aaf-cadi-core</artifactId>
+                <version>${aaf-cadi-aaf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-io</groupId>
+                <artifactId>commons-io</artifactId>
+                <version>${commons-io.version}</version>
+                <scope>compile</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.httpcomponents</groupId>
+                <artifactId>httpcore</artifactId>
+                <version>${httpcore.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.httpcomponents</groupId>
+                <artifactId>httpclient</artifactId>
+                <version>${httpclient.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.sonatype.http-testing-harness</groupId>
+                <artifactId>junit-runner</artifactId>
+                <version>${junit-runner.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>org.databene</groupId>
+                        <artifactId>contiperf</artifactId>
+                    </exclusion>
+                    <exclusion>
+                        <groupId>com.thoughtworks.xstream</groupId>
+                        <artifactId>xstream</artifactId>
+                    </exclusion>
+                </exclusions>
+            </dependency>
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>${junit.version}</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.mockito</groupId>
+                <artifactId>mockito-core</artifactId>
+                <version>${mockito-core.version}</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.powermock</groupId>
+                <artifactId>powermock-api-mockito</artifactId>
+                <version>${powermock-api-mockito.version}</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.powermock</groupId>
+                <artifactId>powermock-module-junit4</artifactId>
+                <version>${powermock.version}</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.powermock</groupId>
+                <artifactId>powermock-api-support</artifactId>
+                <version>${powermock.version}</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.powermock</groupId>
+                <artifactId>powermock-core</artifactId>
+                <version>${powermock.version}</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.commons</groupId>
+                <artifactId>commons-lang3</artifactId>
+                <version>${commons-lang3.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.att.eelf</groupId>
+                <artifactId>eelf-core</artifactId>
+                <version>${eelf-core.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.json</groupId>
+                <artifactId>json</artifactId>
+                <version>${json.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.sonatype.plugins</groupId>
+                <artifactId>nexus-staging-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <excludes>
+                        <exclude>IntegrationSuite.java</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>flatten-maven-plugin</artifactId>
+                <version>1.0.1</version>
+                <configuration>
+                    <updatePomFile>true</updatePomFile>
+                    <outputDirectory>target</outputDirectory>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>flatten</id>
+                        <phase>process-resources</phase>
+                        <goals>
+                            <goal>flatten</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-checkstyle-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>onap-java-style</id>
+                        <configuration>
+                            <consoleOutput>false</consoleOutput>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <version>3.6.0</version>
+                    <configuration>
+                        <source>1.8</source>
+                        <target>1.8</target>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-dependency-plugin</artifactId>
+                    <version>2.10</version>
+                    <executions>
+                        <execution>
+                            <id>copy-dependencies</id>
+                            <goals>
+                                <goal>copy-dependencies</goal>
+                            </goals>
+                            <configuration>
+                                <overWriteReleases>false</overWriteReleases>
+                                <overWriteSnapshots>false</overWriteSnapshots>
+                                <overWriteIfNewer>true</overWriteIfNewer>
+                            </configuration>
+                        </execution>
+                    </executions>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-javadoc-plugin</artifactId>
+                    <version>3.0.1</version>
+                    <configuration>
+                        <failOnError>false</failOnError>
+                    </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>
+                    <version>2.2.1</version>
+                    <executions>
+                        <execution>
+                            <id>attach-sources</id>
+                            <goals>
+                                <goal>jar-no-fork</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>cobertura-maven-plugin</artifactId>
+                    <version>2.7</version>
+                    <configuration>
+                        <formats>
+                            <format>html</format>
+                            <format>xml</format>
+                        </formats>
+                        <check/>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.gmaven</groupId>
+                    <artifactId>gmaven-plugin</artifactId>
+                    <version>${gmaven-plugin.version}</version>
+                    <executions>
+                        <execution>
+                            <phase>validate</phase>
+                            <goals>
+                                <goal>execute</goal>
+                            </goals>
+                            <configuration>
+                                <properties>
+                                    <ver>${project.version}</ver>
+                                </properties>
+                                <!-- Setup image tags per https://wiki.onap.org/display/DW/Independent+Versioning+and+Release+Process#IndependentVersioningandReleaseProcess-StandardizedDockerTagging -->
+                                <source>
+                                    println 'ver: ' + 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>${io.fabric8.version}</version>
+                    <configuration>
+                        <skipBuild>${docker.skip.build}</skipBuild>
+                        <verbose>${docker.verbose}</verbose>
+                        <apiVersion>${docker.apiVersion}</apiVersion>
+                        <pullRegistry>${docker.pull.registry}</pullRegistry>
+                        <pushRegistry>${docker.push.registry}</pushRegistry>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>properties-maven-plugin</artifactId>
+                    <version>1.0.0</version>
+                    <executions>
+                        <execution>
+                            <phase>validate</phase>
+                            <goals>
+                                <goal>read-project-properties</goal>
+                            </goals>
+                            <configuration>
+                                <files>
+                                    <file>../version.properties</file>
+                                </files>
+                            </configuration>
+                        </execution>
+                    </executions>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+    <distributionManagement>
+        <repository>
+            <id>ecomp-releases</id>
+            <name>DR Release Repository</name>
+            <url>${onap.nexus.url}${releaseNexusPath}</url>
+        </repository>
+        <snapshotRepository>
+            <id>ecomp-snapshots</id>
+            <name>DR Snapshot Repository</name>
+            <url>${onap.nexus.url}${snapshotNexusPath}</url>
+        </snapshotRepository>
+        <site>
+            <id>ecomp-site</id>
+            <url>dav:${onap.nexus.url}${sitePath}</url>
+        </site>
+    </distributionManagement>
+    <pluginRepositories>
+        <pluginRepository>
+            <id>onap-plugin-snapshots</id>
+            <url>${onap.nexus.url}${snapshotNexusPath}</url>
+        </pluginRepository>
+    </pluginRepositories>
+</project>