1 <?xml version="1.0" encoding="UTF-8"?>
3 ~ ============LICENSE_START=======================================================
4 ~ dcaegen2-collectors-veshv
5 ~ ================================================================================
6 ~ Copyright (C) 2018-2021 NOKIA
7 ~ Copyright (C) 2022 Nordix Foundation
8 ~ ================================================================================
9 ~ Licensed under the Apache License, Version 2.0 (the "License");
10 ~ you may not use this file except in compliance with the License.
11 ~ You may obtain a copy of the License at
13 ~ http://www.apache.org/licenses/LICENSE-2.0
15 ~ Unless required by applicable law or agreed to in writing, software
16 ~ distributed under the License is distributed on an "AS IS" BASIS,
17 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 ~ See the License for the specific language governing permissions and
19 ~ limitations under the License.
20 ~ ============LICENSE_END=========================================================
22 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
25 <modelVersion>4.0.0</modelVersion>
29 <name>The Apache Software License, Version 2.0</name>
30 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
35 <groupId>org.onap.oparent</groupId>
36 <artifactId>oparent</artifactId>
37 <version>3.0.0</version>
41 <groupId>org.onap.dcaegen2.collectors.hv-ves</groupId>
42 <artifactId>ves-hv-collector</artifactId>
43 <version>${revision}</version>
44 <name>dcaegen2-collectors-hv-ves</name>
45 <description>VES HighVolume Collector</description>
46 <packaging>pom</packaging>
49 <module>build</module>
50 <module>sources</module>
54 <revision>1.11.0-SNAPSHOT</revision>
55 <containerName>org.onap.dcaegen2.collectors.hv-ves.hv-collector-main</containerName>
56 <maven-resources-plugin.version>3.2.0</maven-resources-plugin.version>
57 <asm.version>9.1</asm.version>
58 <commons-lang3.version>3.12.0</commons-lang3.version>
59 <maven-failsafe-plugin.version>2.22.2</maven-failsafe-plugin.version>
60 <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
61 <exec-maven-plugin.version>3.0.0</exec-maven-plugin.version>
62 <os-maven-plugin.version>1.7.0</os-maven-plugin.version>
63 <maven-dependency-plugin.version>3.1.2</maven-dependency-plugin.version>
64 <docker-maven-plugin.version>0.34.1</docker-maven-plugin.version>
65 <guava.version>30.1.1-jre</guava.version>
66 <logback-classic.version>1.3.0-alpha4</logback-classic.version>
67 <slf4j-api.version>2.0.0-alpha1</slf4j-api.version>
68 <reactor-bom.version>2020.0.22</reactor-bom.version>
69 <kafka-clients.version>2.7.2</kafka-clients.version>
70 <commons-cli.version>1.4</commons-cli.version>
71 <javax.json-api.version>1.1.4</javax.json-api.version>
72 <javax.json.version>1.1.4</javax.json.version>
73 <micrometer-registry-prometheus.version>1.6.5</micrometer-registry-prometheus.version>
74 <assertj-core.version>3.19.0</assertj-core.version>
75 <mockito-kotlin.version>2.2.0</mockito-kotlin.version>
76 <coroutines.version>1.4.2</coroutines.version>
77 <kotlin.version>1.4.21</kotlin.version>
78 <arrow.version>0.9.0</arrow.version>
79 <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
80 <build-helper-maven-plugin.version>3.2.0</build-helper-maven-plugin.version>
81 <jacoco.version>0.8.3</jacoco.version>
82 <detekt.version>1.15.0</detekt.version>
83 <sdk.version>1.8.10</sdk.version>
85 <!-- Protocol buffers -->
86 <protobuf.version>3.21.5</protobuf.version>
88 <!-- Testing and code analysis -->
89 <junit-platform.version>1.2.0</junit-platform.version>
90 <junit-jupiter.version>5.8.0-M1</junit-jupiter.version>
91 <spek.version>1.1.5</spek.version>
92 <gson.version>2.9.0</gson.version>
94 <failIfMissingUnitTests>false</failIfMissingUnitTests>
95 <failIfMissingComponentTests>false</failIfMissingComponentTests>
96 <skipAnalysis>true</skipAnalysis>
97 <jacoco.minimum.coverage>60</jacoco.minimum.coverage>
98 <skipEnforcer>true</skipEnforcer>
99 <!--Specify path to load jacoco xml report, as Sonar can't load Kotlin coverage from binary report. -->
100 <sonar.coverage.jacoco.xmlReportPaths>
101 ${project.basedir}/../../build/hv-collector-coverage/target/site/jacoco-aggregate/jacoco.xml
102 </sonar.coverage.jacoco.xmlReportPaths>
105 <skipDocker>false</skipDocker>
106 <skipDockerPush>true</skipDockerPush>
107 <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
108 <docker-image.registry>${onap.nexus.dockerregistry.daily}</docker-image.registry>
109 <docker-image.namespace>onap</docker-image.namespace>
110 <docker-image.name>${project.groupId}.${project.artifactId}</docker-image.name>
111 <docker-image.latest>latest</docker-image.latest>
116 <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
117 <testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
120 <directory>${project.basedir}/src/main/resources</directory>
126 <groupId>org.apache.maven.plugins</groupId>
127 <artifactId>maven-resources-plugin</artifactId>
128 <version>${maven-resources-plugin.version}</version>
130 <encoding>UTF-8</encoding>
134 <groupId>org.apache.maven.plugins</groupId>
135 <artifactId>maven-deploy-plugin</artifactId>
138 <groupId>org.apache.maven.plugins</groupId>
139 <artifactId>maven-enforcer-plugin</artifactId>
141 <skip>${skipEnforcer}</skip>
145 <artifactId>kotlin-maven-plugin</artifactId>
146 <groupId>org.jetbrains.kotlin</groupId>
147 <version>${kotlin.version}</version>
149 <jvmTarget>11</jvmTarget>
159 <source>${project.build.sourceDirectory}</source>
160 <source>${project.build.directory}/generated-sources/annotations</source>
165 <id>test-compile</id>
167 <goal>test-compile</goal>
171 <source>${project.build.testSourceDirectory}</source>
178 <groupId>org.apache.maven.plugins</groupId>
179 <artifactId>maven-compiler-plugin</artifactId>
180 <version>${maven-compiler-plugin.version}</version>
184 <encoding>UTF-8</encoding>
185 <showWarnings>true</showWarnings>
186 <showDeprecation>true</showDeprecation>
187 <failOnWarning>false</failOnWarning>
191 <groupId>org.ow2.asm</groupId>
192 <artifactId>asm</artifactId>
193 <version>${asm.version}</version> <!-- Use newer version of ASM -->
198 Due to a memory leak in Surefire 2.20 and issues running on Java 9, the junit-platform-surefire-provider
199 currently only works with Surefire 2.19.1.
200 For updates see https://junit.org/junit5/docs/current/user-guide/#running-tests-build-maven
203 <artifactId>maven-surefire-plugin</artifactId>
204 <groupId>org.apache.maven.plugins</groupId>
205 <version>${maven-surefire-plugin.version}</version>
207 <failIfNoTests>${failIfMissingUnitTests}</failIfNoTests>
208 <forkCount>1</forkCount>
210 <include>**/*Test.*</include>
215 <groupId>org.apache.commons</groupId>
216 <artifactId>commons-lang3</artifactId>
217 <version>${commons-lang3.version}</version>
220 <groupId>org.junit.platform</groupId>
221 <artifactId>junit-platform-surefire-provider</artifactId>
222 <version>${junit-platform.version}</version>
223 <scope>runtime</scope>
226 <groupId>org.jetbrains.spek</groupId>
227 <artifactId>spek-junit-platform-engine</artifactId>
228 <version>${spek.version}</version>
229 <scope>runtime</scope>
234 <groupId>org.apache.maven.plugins</groupId>
235 <artifactId>maven-failsafe-plugin</artifactId>
236 <version>${maven-failsafe-plugin.version}</version>
238 <failIfNoTests>${failIfMissingComponentTests}</failIfNoTests>
239 <forkCount>1</forkCount>
241 <include>**/*Specification.*</include>
246 <groupId>org.apache.commons</groupId>
247 <artifactId>commons-lang3</artifactId>
248 <version>${commons-lang3.version}</version>
251 <groupId>org.junit.platform</groupId>
252 <artifactId>junit-platform-surefire-provider</artifactId>
253 <version>${junit-platform.version}</version>
254 <scope>runtime</scope>
257 <groupId>org.jetbrains.spek</groupId>
258 <artifactId>spek-junit-platform-engine</artifactId>
259 <version>${spek.version}</version>
260 <scope>runtime</scope>
265 <groupId>org.codehaus.mojo</groupId>
266 <artifactId>exec-maven-plugin</artifactId>
267 <version>${exec-maven-plugin.version}</version>
273 <groupId>kr.motd.maven</groupId>
274 <artifactId>os-maven-plugin</artifactId>
275 <version>${os-maven-plugin.version}</version>
282 <id>docker-proxy</id>
285 <name>docker.http_proxy</name>
289 <!-- set build args as defined in https://dmp.fabric8.io/#build-buildargs -->
290 <docker.buildArg.http_proxy>${docker.http_proxy}</docker.buildArg.http_proxy>
291 <docker.buildArg.https_proxy>${docker.http_proxy}</docker.buildArg.https_proxy>
299 <name>!skipDocker</name>
303 <os.detected.name>linux</os.detected.name>
304 <os.detected.arch>x86_64</os.detected.arch>
305 <os.detected.classifier>${os.detected.name}-${os.detected.arch}</os.detected.classifier>
311 <groupId>org.apache.maven.plugins</groupId>
312 <artifactId>maven-dependency-plugin</artifactId>
313 <version>${maven-dependency-plugin.version}</version>
316 <id>docker-copy-internal-deps</id>
317 <phase>package</phase>
319 <goal>copy-dependencies</goal>
322 <outputDirectory>${project.build.directory}/libs/internal</outputDirectory>
323 <includeGroupIds>${project.parent.groupId}</includeGroupIds>
324 <includeScope>runtime</includeScope>
328 <id>docker-copy-external-deps</id>
329 <phase>package</phase>
331 <goal>copy-dependencies</goal>
334 <outputDirectory>${project.build.directory}/libs/external</outputDirectory>
335 <excludeGroupIds>${project.parent.groupId}</excludeGroupIds>
336 <includeScope>runtime</includeScope>
342 <groupId>io.fabric8</groupId>
343 <artifactId>docker-maven-plugin</artifactId>
344 <version>${docker-maven-plugin.version}</version>
347 <id>docker-build-image</id>
348 <phase>package</phase>
354 <id>docker-push-image</id>
355 <phase>deploy</phase>
362 <skipPush>${skipDockerPush}</skipPush>
363 <verbose>true</verbose>
364 <imagePullPolicy>IfNotPresent</imagePullPolicy>
367 <alias>${project.artifactId}</alias>
368 <name>${docker-image.namespace}/${docker-image.name}:${project.version}
370 <registry>${docker-image.registry}</registry>
372 <dockerFileDir>${project.basedir}</dockerFileDir>
374 <tag>${project.version}-${maven.build.timestamp}Z</tag>
375 <tag>${docker-image.latest}</tag>
390 <id>kotlinx-repository</id>
391 <name>kotlinx-repository</name>
392 <url>https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven</url>
394 <enabled>true</enabled>
395 <updatePolicy>never</updatePolicy>
398 <enabled>false</enabled>
399 <updatePolicy>never</updatePolicy>
402 </pluginRepositories>
406 <id>kotlinx-repository</id>
407 <name>kotlinx-repository</name>
408 <url>https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven/</url>
410 <enabled>true</enabled>
411 <updatePolicy>never</updatePolicy>
414 <enabled>false</enabled>
415 <updatePolicy>never</updatePolicy>
419 <id>40_openecomp-release</id>
420 <name>40_openecomp-release</name>
421 <url>https://nexus.onap.org/content/repositories/releases/</url>
423 <enabled>true</enabled>
424 <updatePolicy>daily</updatePolicy>
427 <enabled>false</enabled>
432 <dependencyManagement>
435 <groupId>com.google.guava</groupId>
436 <artifactId>guava</artifactId>
437 <version>${guava.version}</version>
440 <groupId>com.google.code.findbugs</groupId>
441 <artifactId>jsr305</artifactId>
446 <groupId>org.jetbrains.kotlin</groupId>
447 <artifactId>kotlin-bom</artifactId>
448 <version>${kotlin.version}</version>
450 <scope>import</scope>
453 <groupId>org.jetbrains.kotlin</groupId>
454 <artifactId>kotlin-compiler-embeddable</artifactId>
455 <version>${kotlin.version}</version>
458 <groupId>org.jetbrains.kotlin</groupId>
459 <artifactId>kotlin-scripting-compiler-embeddable</artifactId>
460 <version>${kotlin.version}</version>
463 <groupId>org.jetbrains.kotlin</groupId>
464 <artifactId>kotlin-script-util</artifactId>
465 <version>${kotlin.version}</version>
466 <scope>runtime</scope>
469 <groupId>org.jetbrains.kotlinx</groupId>
470 <artifactId>kotlinx-coroutines-core</artifactId>
471 <version>${coroutines.version}</version>
474 <groupId>com.google.code.gson</groupId>
475 <artifactId>gson</artifactId>
476 <version>${gson.version}</version>
479 <groupId>io.arrow-kt</groupId>
480 <artifactId>arrow-core-data</artifactId>
481 <version>${arrow.version}</version>
484 <groupId>io.arrow-kt</groupId>
485 <artifactId>arrow-core-extensions</artifactId>
486 <version>${arrow.version}</version>
489 <groupId>io.arrow-kt</groupId>
490 <artifactId>arrow-extras-data</artifactId>
491 <version>${arrow.version}</version>
494 <groupId>io.arrow-kt</groupId>
495 <artifactId>arrow-syntax</artifactId>
496 <version>${arrow.version}</version>
499 <groupId>io.arrow-kt</groupId>
500 <artifactId>arrow-typeclasses</artifactId>
501 <version>${arrow.version}</version>
504 <groupId>ch.qos.logback</groupId>
505 <artifactId>logback-classic</artifactId>
506 <version>${logback-classic.version}</version>
507 <scope>runtime</scope>
510 <groupId>org.slf4j</groupId>
511 <artifactId>slf4j-api</artifactId>
512 <version>${slf4j-api.version}</version>
515 <groupId>io.projectreactor</groupId>
516 <artifactId>reactor-bom</artifactId>
517 <!-- remember to update netty native bindings versions -->
518 <version>${reactor-bom.version}</version>
520 <scope>import</scope>
522 <!-- Due to security reasons, override transitive kafka-clients dependency version (2.0.0 -> 2.3.1) -->
524 <groupId>org.apache.kafka</groupId>
525 <artifactId>kafka-clients</artifactId>
526 <version>${kafka-clients.version}</version>
529 Disable native extension (epoll) on production for now.
530 Might be reintroduced if performance tests prove there is some performance issue.
534 <groupId>io.netty</groupId>
535 <artifactId>netty-transport-native-epoll</artifactId>
536 <version>4.1.29.Final</version>
537 <classifier>${os.detected.classifier}</classifier>
541 <groupId>com.google.protobuf</groupId>
542 <artifactId>protobuf-java-util</artifactId>
543 <version>${protobuf.version}</version>
546 <groupId>com.google.guava</groupId>
547 <artifactId>guava</artifactId>
552 <groupId>commons-cli</groupId>
553 <artifactId>commons-cli</artifactId>
554 <version>${commons-cli.version}</version>
557 <groupId>javax.json</groupId>
558 <artifactId>javax.json-api</artifactId>
559 <version>${javax.json-api.version}</version>
562 <groupId>org.glassfish</groupId>
563 <artifactId>javax.json</artifactId>
564 <version>${javax.json.version}</version>
567 <groupId>io.micrometer</groupId>
568 <artifactId>micrometer-registry-prometheus</artifactId>
569 <version>${micrometer-registry-prometheus.version}</version>
572 <groupId>org.onap.dcaegen2.services.sdk</groupId>
573 <artifactId>hvvesclient-producer-impl</artifactId>
574 <version>${sdk.version}</version>
575 <scope>runtime</scope>
578 <groupId>org.onap.dcaegen2.services.sdk</groupId>
579 <artifactId>hvvesclient-producer-api</artifactId>
580 <version>${sdk.version}</version>
583 <groupId>org.onap.dcaegen2.services.sdk</groupId>
584 <artifactId>hvvesclient-protobuf</artifactId>
585 <version>${sdk.version}</version>
588 <groupId>org.onap.dcaegen2.services.sdk.security</groupId>
589 <artifactId>ssl</artifactId>
590 <version>${sdk.version}</version>
593 <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
594 <artifactId>cbs-client</artifactId>
595 <version>${sdk.version}</version>
598 <!-- Test dependencies -->
601 <groupId>org.jetbrains.spek</groupId>
602 <artifactId>spek-api</artifactId>
603 <version>${spek.version}</version>
607 <groupId>org.jetbrains.spek</groupId>
608 <artifactId>spek-junit-platform-engine</artifactId>
609 <version>${spek.version}</version>
613 <groupId>org.assertj</groupId>
614 <artifactId>assertj-core</artifactId>
615 <version>${assertj-core.version}</version>
619 <groupId>com.nhaarman.mockitokotlin2</groupId>
620 <artifactId>mockito-kotlin</artifactId>
621 <version>${mockito-kotlin.version}</version>
625 <groupId>org.jetbrains.kotlin</groupId>
626 <artifactId>kotlin-test</artifactId>
627 <version>${kotlin.version}</version>
631 <groupId>org.jetbrains.kotlinx</groupId>
632 <artifactId>kotlinx-coroutines-test</artifactId>
633 <version>${coroutines.version}</version>
637 </dependencyManagement>