1 <?xml version="1.0" encoding="UTF-8"?>
3 ~ ============LICENSE_START=======================================================
4 ~ dcaegen2-collectors-veshv
5 ~ ================================================================================
6 ~ Copyright (C) 2018-2021 NOKIA
7 ~ ================================================================================
8 ~ Licensed under the Apache License, Version 2.0 (the "License");
9 ~ you may not use this file except in compliance with the License.
10 ~ You may obtain a copy of the License at
12 ~ http://www.apache.org/licenses/LICENSE-2.0
14 ~ Unless required by applicable law or agreed to in writing, software
15 ~ distributed under the License is distributed on an "AS IS" BASIS,
16 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 ~ See the License for the specific language governing permissions and
18 ~ limitations under the License.
19 ~ ============LICENSE_END=========================================================
21 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
22 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
24 <modelVersion>4.0.0</modelVersion>
28 <name>The Apache Software License, Version 2.0</name>
29 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
34 <groupId>org.onap.oparent</groupId>
35 <artifactId>oparent</artifactId>
36 <version>3.0.0</version>
40 <groupId>org.onap.dcaegen2.collectors.hv-ves</groupId>
41 <artifactId>ves-hv-collector</artifactId>
42 <version>1.9.0-SNAPSHOT</version>
43 <name>dcaegen2-collectors-veshv</name>
44 <description>VES HighVolume Collector</description>
45 <packaging>pom</packaging>
48 <module>build</module>
49 <module>sources</module>
53 <maven-resources-plugin.version>3.2.0</maven-resources-plugin.version>
54 <asm.version>9.1</asm.version>
55 <commons-lang3.version>3.12.0</commons-lang3.version>
56 <maven-failsafe-plugin.version>2.22.2</maven-failsafe-plugin.version>
57 <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
58 <exec-maven-plugin.version>3.0.0</exec-maven-plugin.version>
59 <os-maven-plugin.version>1.7.0</os-maven-plugin.version>
60 <maven-dependency-plugin.version>3.1.2</maven-dependency-plugin.version>
61 <docker-maven-plugin.version>0.34.1</docker-maven-plugin.version>
62 <guava.version>30.1.1-jre</guava.version>
63 <logback-classic.version>1.3.0-alpha4</logback-classic.version>
64 <slf4j-api.version>2.0.0-alpha1</slf4j-api.version>
65 <reactor-bom.version>2020.0.5</reactor-bom.version>
66 <kafka-clients.version>2.7.0</kafka-clients.version>
67 <commons-cli.version>1.4</commons-cli.version>
68 <javax.json-api.version>1.1.4</javax.json-api.version>
69 <javax.json.version>1.1.4</javax.json.version>
70 <micrometer-registry-prometheus.version>1.6.5</micrometer-registry-prometheus.version>
71 <assertj-core.version>3.19.0</assertj-core.version>
72 <mockito-kotlin.version>2.2.0</mockito-kotlin.version>
73 <coroutines.version>1.4.2</coroutines.version>
74 <kotlin.version>1.4.10</kotlin.version>
75 <arrow.version>0.9.0</arrow.version>
76 <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
77 <build-helper-maven-plugin.version>3.2.0</build-helper-maven-plugin.version>
78 <jacoco.version>0.8.3</jacoco.version>
79 <detekt.version>1.15.0</detekt.version>
80 <sdk.version>1.8.2</sdk.version>
82 <!-- Protocol buffers -->
83 <protobuf.version>4.0.0-rc-2</protobuf.version>
85 <!-- Testing and code analysis -->
86 <junit-platform.version>1.2.0</junit-platform.version>
87 <junit-jupiter.version>5.8.0-M1</junit-jupiter.version>
88 <spek.version>1.1.5</spek.version>
89 <gson.version>2.8.6</gson.version>
91 <failIfMissingUnitTests>false</failIfMissingUnitTests>
92 <failIfMissingComponentTests>false</failIfMissingComponentTests>
93 <skipAnalysis>true</skipAnalysis>
94 <jacoco.minimum.coverage>60</jacoco.minimum.coverage>
95 <skipEnforcer>true</skipEnforcer>
96 <!--Specify path to load jacoco xml report, as Sonar can't load Kotlin coverage from binary report. -->
97 <sonar.coverage.jacoco.xmlReportPaths>
98 ${project.basedir}/../../build/hv-collector-coverage/target/site/jacoco-aggregate/jacoco.xml
99 </sonar.coverage.jacoco.xmlReportPaths>
102 <skipDocker>false</skipDocker>
103 <skipDockerPush>true</skipDockerPush>
104 <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
105 <docker-image.registry>${onap.nexus.dockerregistry.daily}</docker-image.registry>
106 <docker-image.namespace>onap</docker-image.namespace>
107 <docker-image.name>${project.groupId}.${project.artifactId}</docker-image.name>
108 <docker-image.latest>latest</docker-image.latest>
113 <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
114 <testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
117 <directory>${project.basedir}/src/main/resources</directory>
123 <groupId>org.apache.maven.plugins</groupId>
124 <artifactId>maven-resources-plugin</artifactId>
125 <version>${maven-resources-plugin.version}</version>
127 <encoding>UTF-8</encoding>
131 <groupId>org.apache.maven.plugins</groupId>
132 <artifactId>maven-deploy-plugin</artifactId>
135 <groupId>org.apache.maven.plugins</groupId>
136 <artifactId>maven-enforcer-plugin</artifactId>
138 <skip>${skipEnforcer}</skip>
142 <artifactId>kotlin-maven-plugin</artifactId>
143 <groupId>org.jetbrains.kotlin</groupId>
144 <version>${kotlin.version}</version>
146 <jvmTarget>11</jvmTarget>
156 <source>${project.build.sourceDirectory}</source>
157 <source>${project.build.directory}/generated-sources/annotations</source>
162 <id>test-compile</id>
164 <goal>test-compile</goal>
168 <source>${project.build.testSourceDirectory}</source>
175 <groupId>org.apache.maven.plugins</groupId>
176 <artifactId>maven-compiler-plugin</artifactId>
177 <version>${maven-compiler-plugin.version}</version>
181 <encoding>UTF-8</encoding>
182 <showWarnings>true</showWarnings>
183 <showDeprecation>true</showDeprecation>
184 <failOnWarning>false</failOnWarning>
188 <groupId>org.ow2.asm</groupId>
189 <artifactId>asm</artifactId>
190 <version>${asm.version}</version> <!-- Use newer version of ASM -->
195 Due to a memory leak in Surefire 2.20 and issues running on Java 9, the junit-platform-surefire-provider
196 currently only works with Surefire 2.19.1.
197 For updates see https://junit.org/junit5/docs/current/user-guide/#running-tests-build-maven
200 <artifactId>maven-surefire-plugin</artifactId>
201 <groupId>org.apache.maven.plugins</groupId>
202 <version>${maven-surefire-plugin.version}</version>
204 <failIfNoTests>${failIfMissingUnitTests}</failIfNoTests>
205 <forkCount>1</forkCount>
207 <include>**/*Test.*</include>
212 <groupId>org.apache.commons</groupId>
213 <artifactId>commons-lang3</artifactId>
214 <version>${commons-lang3.version}</version>
217 <groupId>org.junit.platform</groupId>
218 <artifactId>junit-platform-surefire-provider</artifactId>
219 <version>${junit-platform.version}</version>
220 <scope>runtime</scope>
223 <groupId>org.jetbrains.spek</groupId>
224 <artifactId>spek-junit-platform-engine</artifactId>
225 <version>${spek.version}</version>
226 <scope>runtime</scope>
231 <groupId>org.apache.maven.plugins</groupId>
232 <artifactId>maven-failsafe-plugin</artifactId>
233 <version>${maven-failsafe-plugin.version}</version>
235 <failIfNoTests>${failIfMissingComponentTests}</failIfNoTests>
236 <forkCount>1</forkCount>
238 <include>**/*Specification.*</include>
243 <groupId>org.apache.commons</groupId>
244 <artifactId>commons-lang3</artifactId>
245 <version>${commons-lang3.version}</version>
248 <groupId>org.junit.platform</groupId>
249 <artifactId>junit-platform-surefire-provider</artifactId>
250 <version>${junit-platform.version}</version>
251 <scope>runtime</scope>
254 <groupId>org.jetbrains.spek</groupId>
255 <artifactId>spek-junit-platform-engine</artifactId>
256 <version>${spek.version}</version>
257 <scope>runtime</scope>
262 <groupId>org.codehaus.mojo</groupId>
263 <artifactId>exec-maven-plugin</artifactId>
264 <version>${exec-maven-plugin.version}</version>
270 <groupId>kr.motd.maven</groupId>
271 <artifactId>os-maven-plugin</artifactId>
272 <version>${os-maven-plugin.version}</version>
279 <id>docker-proxy</id>
282 <name>docker.http_proxy</name>
286 <!-- set build args as defined in https://dmp.fabric8.io/#build-buildargs -->
287 <docker.buildArg.http_proxy>${docker.http_proxy}</docker.buildArg.http_proxy>
288 <docker.buildArg.https_proxy>${docker.http_proxy}</docker.buildArg.https_proxy>
296 <name>!skipDocker</name>
300 <os.detected.name>linux</os.detected.name>
301 <os.detected.arch>x86_64</os.detected.arch>
302 <os.detected.classifier>${os.detected.name}-${os.detected.arch}</os.detected.classifier>
308 <groupId>org.apache.maven.plugins</groupId>
309 <artifactId>maven-dependency-plugin</artifactId>
310 <version>${maven-dependency-plugin.version}</version>
313 <id>docker-copy-internal-deps</id>
314 <phase>package</phase>
316 <goal>copy-dependencies</goal>
319 <outputDirectory>${project.build.directory}/libs/internal</outputDirectory>
320 <includeGroupIds>${project.parent.groupId}</includeGroupIds>
321 <includeScope>runtime</includeScope>
325 <id>docker-copy-external-deps</id>
326 <phase>package</phase>
328 <goal>copy-dependencies</goal>
331 <outputDirectory>${project.build.directory}/libs/external</outputDirectory>
332 <excludeGroupIds>${project.parent.groupId}</excludeGroupIds>
333 <includeScope>runtime</includeScope>
339 <groupId>io.fabric8</groupId>
340 <artifactId>docker-maven-plugin</artifactId>
341 <version>${docker-maven-plugin.version}</version>
344 <id>docker-build-image</id>
345 <phase>package</phase>
351 <id>docker-push-image</id>
352 <phase>deploy</phase>
359 <skipPush>${skipDockerPush}</skipPush>
360 <verbose>true</verbose>
361 <imagePullPolicy>IfNotPresent</imagePullPolicy>
364 <alias>${project.artifactId}</alias>
365 <name>${docker-image.namespace}/${docker-image.name}:${project.version}
367 <registry>${docker-image.registry}</registry>
369 <dockerFileDir>${project.basedir}</dockerFileDir>
371 <tag>${project.version}-${maven.build.timestamp}Z</tag>
372 <tag>${docker-image.latest}</tag>
387 <id>kotlinx-repository</id>
388 <name>kotlinx-repository</name>
389 <url>https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven</url>
391 <enabled>true</enabled>
392 <updatePolicy>never</updatePolicy>
395 <enabled>false</enabled>
396 <updatePolicy>never</updatePolicy>
399 </pluginRepositories>
403 <id>kotlinx-repository</id>
404 <name>kotlinx-repository</name>
405 <url>https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven/</url>
407 <enabled>true</enabled>
408 <updatePolicy>never</updatePolicy>
411 <enabled>false</enabled>
412 <updatePolicy>never</updatePolicy>
416 <id>40_openecomp-release</id>
417 <name>40_openecomp-release</name>
418 <url>https://nexus.onap.org/content/repositories/releases/</url>
420 <enabled>true</enabled>
421 <updatePolicy>daily</updatePolicy>
424 <enabled>false</enabled>
429 <dependencyManagement>
432 <groupId>com.google.guava</groupId>
433 <artifactId>guava</artifactId>
434 <version>${guava.version}</version>
437 <groupId>com.google.code.findbugs</groupId>
438 <artifactId>jsr305</artifactId>
443 <groupId>org.jetbrains.kotlin</groupId>
444 <artifactId>kotlin-bom</artifactId>
445 <version>${kotlin.version}</version>
447 <scope>import</scope>
450 <groupId>org.jetbrains.kotlin</groupId>
451 <artifactId>kotlin-compiler-embeddable</artifactId>
452 <version>${kotlin.version}</version>
455 <groupId>org.jetbrains.kotlin</groupId>
456 <artifactId>kotlin-scripting-compiler-embeddable</artifactId>
457 <version>${kotlin.version}</version>
460 <groupId>org.jetbrains.kotlin</groupId>
461 <artifactId>kotlin-script-util</artifactId>
462 <version>${kotlin.version}</version>
463 <scope>runtime</scope>
466 <groupId>org.jetbrains.kotlinx</groupId>
467 <artifactId>kotlinx-coroutines-core</artifactId>
468 <version>${coroutines.version}</version>
471 <groupId>com.google.code.gson</groupId>
472 <artifactId>gson</artifactId>
473 <version>${gson.version}</version>
476 <groupId>io.arrow-kt</groupId>
477 <artifactId>arrow-core-data</artifactId>
478 <version>${arrow.version}</version>
481 <groupId>io.arrow-kt</groupId>
482 <artifactId>arrow-core-extensions</artifactId>
483 <version>${arrow.version}</version>
486 <groupId>io.arrow-kt</groupId>
487 <artifactId>arrow-extras-data</artifactId>
488 <version>${arrow.version}</version>
491 <groupId>io.arrow-kt</groupId>
492 <artifactId>arrow-syntax</artifactId>
493 <version>${arrow.version}</version>
496 <groupId>io.arrow-kt</groupId>
497 <artifactId>arrow-typeclasses</artifactId>
498 <version>${arrow.version}</version>
501 <groupId>ch.qos.logback</groupId>
502 <artifactId>logback-classic</artifactId>
503 <version>${logback-classic.version}</version>
504 <scope>runtime</scope>
507 <groupId>org.slf4j</groupId>
508 <artifactId>slf4j-api</artifactId>
509 <version>${slf4j-api.version}</version>
512 <groupId>io.projectreactor</groupId>
513 <artifactId>reactor-bom</artifactId>
514 <!-- remember to update netty native bindings versions -->
515 <version>${reactor-bom.version}</version>
517 <scope>import</scope>
519 <!-- Due to security reasons, override transitive kafka-clients dependency version (2.0.0 -> 2.3.1) -->
521 <groupId>org.apache.kafka</groupId>
522 <artifactId>kafka-clients</artifactId>
523 <version>${kafka-clients.version}</version>
526 Disable native extension (epoll) on production for now.
527 Might be reintroduced if performance tests prove there is some performance issue.
531 <groupId>io.netty</groupId>
532 <artifactId>netty-transport-native-epoll</artifactId>
533 <version>4.1.29.Final</version>
534 <classifier>${os.detected.classifier}</classifier>
538 <groupId>com.google.protobuf</groupId>
539 <artifactId>protobuf-java-util</artifactId>
540 <version>${protobuf.version}</version>
543 <groupId>com.google.guava</groupId>
544 <artifactId>guava</artifactId>
549 <groupId>commons-cli</groupId>
550 <artifactId>commons-cli</artifactId>
551 <version>${commons-cli.version}</version>
554 <groupId>javax.json</groupId>
555 <artifactId>javax.json-api</artifactId>
556 <version>${javax.json-api.version}</version>
559 <groupId>org.glassfish</groupId>
560 <artifactId>javax.json</artifactId>
561 <version>${javax.json.version}</version>
564 <groupId>io.micrometer</groupId>
565 <artifactId>micrometer-registry-prometheus</artifactId>
566 <version>${micrometer-registry-prometheus.version}</version>
569 <groupId>org.onap.dcaegen2.services.sdk</groupId>
570 <artifactId>hvvesclient-producer-impl</artifactId>
571 <version>${sdk.version}</version>
572 <scope>runtime</scope>
575 <groupId>org.onap.dcaegen2.services.sdk</groupId>
576 <artifactId>hvvesclient-producer-api</artifactId>
577 <version>${sdk.version}</version>
580 <groupId>org.onap.dcaegen2.services.sdk</groupId>
581 <artifactId>hvvesclient-protobuf</artifactId>
582 <version>${sdk.version}</version>
585 <groupId>org.onap.dcaegen2.services.sdk.security</groupId>
586 <artifactId>ssl</artifactId>
587 <version>${sdk.version}</version>
590 <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
591 <artifactId>cbs-client</artifactId>
592 <version>${sdk.version}</version>
595 <!-- Test dependencies -->
598 <groupId>org.jetbrains.spek</groupId>
599 <artifactId>spek-api</artifactId>
600 <version>${spek.version}</version>
604 <groupId>org.jetbrains.spek</groupId>
605 <artifactId>spek-junit-platform-engine</artifactId>
606 <version>${spek.version}</version>
610 <groupId>org.assertj</groupId>
611 <artifactId>assertj-core</artifactId>
612 <version>${assertj-core.version}</version>
616 <groupId>com.nhaarman.mockitokotlin2</groupId>
617 <artifactId>mockito-kotlin</artifactId>
618 <version>${mockito-kotlin.version}</version>
622 <groupId>org.jetbrains.kotlin</groupId>
623 <artifactId>kotlin-test</artifactId>
624 <version>${kotlin.version}</version>
628 <groupId>org.jetbrains.kotlinx</groupId>
629 <artifactId>kotlinx-coroutines-test</artifactId>
630 <version>${coroutines.version}</version>
634 </dependencyManagement>