Enable percentile histograms in metrics
[dcaegen2/collectors/hv-ves.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index 6bbcef3..fad690d 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -18,8 +18,7 @@
   ~ limitations under the License.
   ~ ============LICENSE_END=========================================================
   -->
-<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">
+<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">
 
     <modelVersion>4.0.0</modelVersion>
 
     <parent>
         <groupId>org.onap.oparent</groupId>
         <artifactId>oparent</artifactId>
-        <version>0.1.1</version>
+        <version>1.2.1</version>
         <relativePath/>
     </parent>
 
-    <groupId>org.onap.dcaegen2.collectors.veshv</groupId>
+    <groupId>org.onap.dcaegen2.collectors.hv-ves</groupId>
     <artifactId>ves-hv-collector</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
+    <version>1.1.0-SNAPSHOT</version>
     <name>dcaegen2-collectors-veshv</name>
     <description>VES HighVolume Collector</description>
     <packaging>pom</packaging>
 
     <modules>
-        <module>hv-collector-analysis</module>
-        <module>hv-collector-core</module>
-        <module>hv-collector-coverage</module>
-        <module>hv-collector-ct</module>
-        <module>hv-collector-dcae-app-simulator</module>
-        <module>hv-collector-domain</module>
-        <module>hv-collector-health-check</module>
-        <module>hv-collector-main</module>
-        <module>hv-collector-test-utils</module>
-        <module>hv-collector-utils</module>
-        <module>hv-collector-ves-message-generator</module>
-        <module>hv-collector-xnf-simulator</module>
+        <module>build</module>
+        <module>sources</module>
     </modules>
 
     <properties>
-        <kotlin.version>1.2.60</kotlin.version>
-        <arrow.version>0.7.2</arrow.version>
+        <kotlin.version>1.3.11</kotlin.version>
+        <arrow.version>0.8.0</arrow.version>
         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
         <build-helper-maven-plugin.version>1.7</build-helper-maven-plugin.version>
+        <jacoco.version>0.8.2</jacoco.version>
+        <detekt.version>1.0.0-RC11</detekt.version>
 
         <!-- Protocol buffers -->
-        <protobuf.version>3.5.1</protobuf.version>
-        <protoc-jar-maven-plugin.version>3.5.1.1</protoc-jar-maven-plugin.version>
+        <protobuf.version>3.6.1</protobuf.version>
+        <protoc-jar-maven-plugin.version>3.6.0.1</protoc-jar-maven-plugin.version>
         <protobuf-generated-files.directory>${project.build.directory}/generated-sources/proto/main/java/
         </protobuf-generated-files.directory>
 
         <failIfMissingUnitTests>false</failIfMissingUnitTests>
         <failIfMissingComponentTests>false</failIfMissingComponentTests>
         <skipAnalysis>true</skipAnalysis>
+        <jacoco.minimum.coverage>60</jacoco.minimum.coverage>
 
         <!-- Docker -->
         <skipDocker>false</skipDocker>
+        <skipDockerPush>true</skipDockerPush>
+        <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
         <docker-image.registry>${onap.nexus.dockerregistry.daily}</docker-image.registry>
         <docker-image.namespace>onap</docker-image.namespace>
         <docker-image.name>${project.groupId}.${project.artifactId}</docker-image.name>
-        <docker.http_proxy></docker.http_proxy>
-        <docker.https_proxy></docker.https_proxy>
+        <docker-image.latest>1.1-SNAPSHOT</docker-image.latest>
+        <docker.http_proxy/>
     </properties>
 
-
     <build>
         <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
         <testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
                         </dependency>
                     </dependencies>
                 </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>exec-maven-plugin</artifactId>
+                    <version>1.6.0</version>
+                </plugin>
             </plugins>
         </pluginManagement>
-        <plugins>
-            <plugin>
-                <artifactId>maven-checkstyle-plugin</artifactId>
-                <version>2.17</version>
-                <dependencies>
-                    <dependency>
-                        <groupId>org.onap.oparent</groupId>
-                        <artifactId>checkstyle</artifactId>
-                        <version>1.1.1</version>
-                    </dependency>
-                </dependencies>
-                <executions>
-                    <execution>
-                        <!-- To override oparent configuration different id must be used
-                             We need to override it to include .kt files in check. -->
-                        <id>check-license-kotlin</id>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                        <phase>process-sources</phase>
-                        <configuration>
-                            <configLocation>onap-checkstyle/check-license.xml</configLocation>
-                            <includeResources>false</includeResources>
-                            <includeTestSourceDirectory>true</includeTestSourceDirectory>
-                            <includeTestResources>false</includeTestResources>
-                            <includes>**\/*.kt</includes>
-                            <consoleOutput>true</consoleOutput>
-                            <!--<failOnViolation>false</failOnViolation>-->
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-antrun-plugin</artifactId>
-                <version>1.8</version>
-                <executions>
-                    <execution>
-                        <!-- This can be run separately with mvn antrun:run@detekt -->
-                        <id>detekt</id>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                        <configuration>
-                            <target name="detekt" unless="${skipAnalysis}">
-                                <java taskname="detekt" dir="${basedir}"
-                                        fork="true"
-                                        failonerror="true"
-                                        classname="io.gitlab.arturbosch.detekt.cli.Main"
-                                        classpathref="maven.plugin.classpath">
-                                    <arg value="--input"/>
-                                    <arg value="${basedir}/src/main/kotlin"/>
-                                    <arg value="--config-resource"/>
-                                    <arg value="onap-detekt-config.yml"/>
-                                    <arg value="--filters"/>
-                                    <arg value=".*/target/.*,.*/resources/.*"/>
-                                    <arg value="--output"/>
-                                    <arg value="${basedir}/target/reports"/>
-                                    <arg value="--output-name"/>
-                                    <arg value="detekt-report"/>
-                                    <arg value="--baseline"/>
-                                    <arg value="${basedir}/target/reports/baseline.xml"/>
-                                </java>
-                            </target>
-                        </configuration>
-                    </execution>
-                </executions>
-                <dependencies>
-                    <dependency>
-                        <groupId>io.gitlab.arturbosch.detekt</groupId>
-                        <artifactId>detekt-cli</artifactId>
-                        <version>1.0.0.RC7</version>
-                    </dependency>
-                    <dependency>
-                        <groupId>${project.groupId}</groupId>
-                        <artifactId>hv-collector-analysis</artifactId>
-                        <version>${project.version}</version>
-                    </dependency>
-                </dependencies>
-            </plugin>
-        </plugins>
         <extensions>
             <extension>
                 <groupId>kr.motd.maven</groupId>
     </build>
 
     <profiles>
+        <profile>
+            <id>docker-proxy</id>
+            <activation>
+                <property>
+                    <name>docker.http_proxy</name>
+                </property>
+            </activation>
+            <properties>
+                <!-- set build args as defined in https://dmp.fabric8.io/#build-buildargs -->
+                <docker.buildArg.http_proxy>${docker.http_proxy}</docker.buildArg.http_proxy>
+                <docker.buildArg.https_proxy>${docker.http_proxy}</docker.buildArg.https_proxy>
+            </properties>
+        </profile>
+
         <profile>
             <id>docker</id>
             <activation>
                             <executions>
                                 <execution>
                                     <id>docker-build-image</id>
-                                    <phase>deploy</phase>
+                                    <phase>package</phase>
                                     <goals>
                                         <goal>build</goal>
                                     </goals>
                                 </execution>
                             </executions>
                             <configuration>
+                                <skipPush>${skipDockerPush}</skipPush>
                                 <verbose>true</verbose>
                                 <imagePullPolicy>IfNotPresent</imagePullPolicy>
                                 <images>
                                     <image>
                                         <alias>${project.artifactId}</alias>
-                                        <name>${docker-image.registry}/${docker-image.namespace}/${docker-image.name}
+                                        <name>${docker-image.namespace}/${docker-image.name}
                                         </name>
-                                        <tags>
-                                            <tag>${project.version}-SNAPSHOT-${maven.build.timestamp}Z</tag>
-                                            <tag>${project.version}</tag>
-                                            <tag>latest</tag>
-                                        </tags>
+                                        <registry>${docker-image.registry}</registry>
                                         <build>
-                                            <!--
-                                            <args>
-                                                <http_proxy>${docker.http_proxy}</http_proxy>
-                                                <https_proxy>${docker.https_proxy}</https_proxy>
-                                            </args>
-                                            -->
                                             <dockerFileDir>${project.basedir}</dockerFileDir>
+                                            <tags>
+                                                <tag>${project.version}-${maven.build.timestamp}Z</tag>
+                                                <tag>${project.version}</tag>
+                                                <tag>${docker-image.latest}</tag>
+                                            </tags>
                                         </build>
                                     </image>
                                 </images>
     </profiles>
 
     <pluginRepositories>
-        <pluginRepository>
-            <id>40_openecomp-release</id>
-            <name>40_openecomp-release</name>
-            <url>https://nexus.onap.org/content/repositories/releases/</url>
-            <releases>
-                <enabled>true</enabled>
-                <updatePolicy>daily</updatePolicy>
-            </releases>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </pluginRepository>
-
         <pluginRepository>
             <id>arturbosch-code-analysis</id>
             <name>arturbosch-code-analysis (for detekt)</name>
             <dependency>
                 <groupId>com.google.guava</groupId>
                 <artifactId>guava</artifactId>
-                <version>25.0-jre</version>
+
                 <exclusions>
                     <exclusion>
                         <groupId>com.google.code.findbugs</groupId>
                 <artifactId>kotlin-reflect</artifactId>
                 <version>${kotlin.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.jetbrains.kotlin</groupId>
+                <artifactId>kotlin-compiler-embeddable</artifactId>
+                <version>${kotlin.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.jetbrains.kotlin</groupId>
+                <artifactId>kotlin-script-runtime</artifactId>
+                <version>${kotlin.version}</version>
+                <scope>runtime</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.jetbrains.kotlin</groupId>
+                <artifactId>kotlin-script-util</artifactId>
+                <version>${kotlin.version}</version>
+                <scope>runtime</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.jetbrains.kotlinx</groupId>
+                <artifactId>kotlinx-coroutines-core</artifactId>
+                <version>1.0.0</version>
+            </dependency>
             <dependency>
                 <groupId>io.arrow-kt</groupId>
                 <artifactId>arrow-core</artifactId>
                 <artifactId>arrow-effects</artifactId>
                 <version>${arrow.version}</version>
             </dependency>
+            <dependency>
+                <groupId>io.arrow-kt</groupId>
+                <artifactId>arrow-effects-instances</artifactId>
+                <version>${arrow.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>io.arrow-kt</groupId>
+                <artifactId>arrow-effects-reactor</artifactId>
+                <version>${arrow.version}</version>
+            </dependency>
             <dependency>
                 <groupId>ch.qos.logback</groupId>
                 <artifactId>logback-classic</artifactId>
             <dependency>
                 <groupId>io.projectreactor</groupId>
                 <artifactId>reactor-bom</artifactId>
-                <version>Bismuth-SR10</version>
+                <!-- remember to update netty native bindings versions -->
+                <version>Californium-SR2</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
+
+            <!--
+            Disable native extensions (ssl and epoll) on production for now.
+            Might be reintroduced if performance tests prove there is some performance issue.
+            -->
             <dependency>
                 <groupId>io.netty</groupId>
                 <artifactId>netty-tcnative-boringssl-static</artifactId>
-                <version>2.0.8.Final</version>
+                <version>2.0.15.Final</version>
+                <scope>runtime</scope>
                 <classifier>${os.detected.classifier}</classifier>
             </dependency>
+            <!--
+            <dependency>
+                <groupId>io.netty</groupId>
+                <artifactId>netty-transport-native-epoll</artifactId>
+                <version>4.1.29.Final</version>
+                <classifier>${os.detected.classifier}</classifier>
+            </dependency>
+            -->
             <dependency>
                 <groupId>com.google.protobuf</groupId>
                 <artifactId>protobuf-java</artifactId>
                 <artifactId>javax.json</artifactId>
                 <version>1.1.2</version>
             </dependency>
+            <dependency>
+                <!-- To override ratpack transitive dependency which creates security vulnerability
+                This issue will be resolved with ratpack 1.6.0 release -->
+                <groupId>com.fasterxml.jackson.core</groupId>
+                <artifactId>jackson-databind</artifactId>
+                <version>2.9.6</version>
+            </dependency>
             <dependency>
                 <groupId>io.ratpack</groupId>
                 <artifactId>ratpack-core</artifactId>
             </dependency>
             <dependency>
                 <groupId>io.micrometer</groupId>
-                <artifactId>micrometer-registry-jmx</artifactId>
-                <version>1.0.5</version>
+                <artifactId>micrometer-registry-prometheus</artifactId>
+                <version>1.0.8</version>
             </dependency>
 
             <!-- Test dependencies -->
                 <scope>test</scope>
             </dependency>
             <dependency>
-                <groupId>com.nhaarman</groupId>
+                <groupId>com.nhaarman.mockitokotlin2</groupId>
                 <artifactId>mockito-kotlin</artifactId>
-                <version>1.5.0</version>
-                <scope>test</scope>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.mockito</groupId>
-                        <artifactId>mockito-core</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-            <dependency>
-                <groupId>org.mockito</groupId>
-                <artifactId>mockito-core</artifactId>
-                <version>2.18.3</version>
+                <version>2.0.0</version>
                 <scope>test</scope>
             </dependency>
             <dependency>
         </dependencies>
     </dependencyManagement>
 </project>
-
-