Add versions to pom file
[dcaegen2/collectors/hv-ves.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~ ============LICENSE_START=======================================================
4   ~ dcaegen2-collectors-veshv
5   ~ ================================================================================
6   ~ Copyright (C) 2018-2019 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
11   ~
12   ~      http://www.apache.org/licenses/LICENSE-2.0
13   ~
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=========================================================
20   -->
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">
23
24     <modelVersion>4.0.0</modelVersion>
25
26     <licenses>
27         <license>
28             <name>The Apache Software License, Version 2.0</name>
29             <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
30         </license>
31     </licenses>
32
33     <parent>
34         <groupId>org.onap.oparent</groupId>
35         <artifactId>oparent</artifactId>
36         <version>3.0.0</version>
37         <relativePath/>
38     </parent>
39
40     <groupId>org.onap.dcaegen2.collectors.hv-ves</groupId>
41     <artifactId>ves-hv-collector</artifactId>
42     <version>1.6.0-SNAPSHOT</version>
43     <name>dcaegen2-collectors-veshv</name>
44     <description>VES HighVolume Collector</description>
45     <packaging>pom</packaging>
46
47     <modules>
48         <module>build</module>
49         <module>sources</module>
50     </modules>
51
52     <properties>
53         <maven-resources-plugin.version>3.1.0</maven-resources-plugin.version>
54         <asm.version>6.1.1</asm.version>
55         <commons-lang3.version>3.7</commons-lang3.version>
56         <maven-failsafe-plugin.version>2.22.0</maven-failsafe-plugin.version>
57         <exec-maven-plugin.version>1.6.0</exec-maven-plugin.version>
58         <os-maven-plugin.version>1.6.0</os-maven-plugin.version>
59         <maven-dependency-plugin.version>3.1.1</maven-dependency-plugin.version>
60         <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version>
61         <guava.version>27.0.1-jre</guava.version>
62         <logback-classic.version>1.3.0-alpha4</logback-classic.version>
63         <slf4j-api.version>1.8.0-beta1</slf4j-api.version>
64         <reactor-bom.version>2020.0.2</reactor-bom.version>
65         <kafka-clients.version>2.3.1</kafka-clients.version>
66         <commons-cli.version>1.4</commons-cli.version>
67         <javax.json-api.version>1.1.2</javax.json-api.version>
68         <javax.json.version>1.1.2</javax.json.version>
69         <micrometer-registry-prometheus.version>1.1.5</micrometer-registry-prometheus.version>
70         <assertj-core.version>3.9.1</assertj-core.version>
71         <mockito-kotlin.version>2.1.0</mockito-kotlin.version>
72         <coroutines.version>1.3.0-M2</coroutines.version>
73         <kotlin.version>1.3.31</kotlin.version>
74         <arrow.version>0.9.0</arrow.version>
75         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
76         <build-helper-maven-plugin.version>1.7</build-helper-maven-plugin.version>
77         <jacoco.version>0.8.3</jacoco.version>
78         <detekt.version>1.0.0-RC14</detekt.version>
79         <sdk.version>1.5.0</sdk.version>
80
81         <!-- Protocol buffers -->
82         <protobuf.version>3.14.0</protobuf.version>
83
84         <!-- Testing and code analysis -->
85         <junit-platform.version>1.2.0-RC1</junit-platform.version>
86         <junit-jupiter.version>5.2.0-RC1</junit-jupiter.version>
87         <spek.version>1.1.5</spek.version>
88         <gson.version>2.8.5</gson.version>
89         <maven-surefire-plugin.version>2.22.0</maven-surefire-plugin.version>
90         <failIfMissingUnitTests>false</failIfMissingUnitTests>
91         <failIfMissingComponentTests>false</failIfMissingComponentTests>
92         <skipAnalysis>true</skipAnalysis>
93         <jacoco.minimum.coverage>60</jacoco.minimum.coverage>
94         <skipEnforcer>true</skipEnforcer>
95         <!--Specify path to load jacoco xml report, as Sonar can't load Kotlin coverage from binary report. -->
96         <sonar.coverage.jacoco.xmlReportPaths>
97             ${project.basedir}/../../build/hv-collector-coverage/target/site/jacoco-aggregate/jacoco.xml
98         </sonar.coverage.jacoco.xmlReportPaths>
99
100         <!-- Docker -->
101         <skipDocker>false</skipDocker>
102         <skipDockerPush>true</skipDockerPush>
103         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
104         <docker-image.registry>${onap.nexus.dockerregistry.daily}</docker-image.registry>
105         <docker-image.namespace>onap</docker-image.namespace>
106         <docker-image.name>${project.groupId}.${project.artifactId}</docker-image.name>
107         <docker-image.latest>1.2-SNAPSHOT</docker-image.latest>
108         <docker.http_proxy/>
109     </properties>
110
111     <build>
112         <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
113         <testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
114         <resources>
115             <resource>
116                 <directory>${project.basedir}/src/main/resources</directory>
117             </resource>
118         </resources>
119         <pluginManagement>
120             <plugins>
121                 <plugin>
122                     <groupId>org.apache.maven.plugins</groupId>
123                     <artifactId>maven-resources-plugin</artifactId>
124                     <version>${maven-resources-plugin.version}</version>
125                     <configuration>
126                         <encoding>UTF-8</encoding>
127                     </configuration>
128                 </plugin>
129                 <plugin>
130                     <groupId>org.apache.maven.plugins</groupId>
131                     <artifactId>maven-deploy-plugin</artifactId>
132                 </plugin>
133                 <plugin>
134                     <groupId>org.apache.maven.plugins</groupId>
135                     <artifactId>maven-enforcer-plugin</artifactId>
136                     <configuration>
137                         <skip>${skipEnforcer}</skip>
138                     </configuration>
139                 </plugin>
140                 <plugin>
141                     <artifactId>kotlin-maven-plugin</artifactId>
142                     <groupId>org.jetbrains.kotlin</groupId>
143                     <version>${kotlin.version}</version>
144                     <configuration>
145                         <jvmTarget>11</jvmTarget>
146                     </configuration>
147                     <executions>
148                         <execution>
149                             <id>compile</id>
150                             <goals>
151                                 <goal>compile</goal>
152                             </goals>
153                             <configuration>
154                                 <sourceDirs>
155                                     <source>${project.build.sourceDirectory}</source>
156                                     <source>${project.build.directory}/generated-sources/annotations</source>
157                                 </sourceDirs>
158                             </configuration>
159                         </execution>
160                         <execution>
161                             <id>test-compile</id>
162                             <goals>
163                                 <goal>test-compile</goal>
164                             </goals>
165                             <configuration>
166                                 <sourceDirs>
167                                     <source>${project.build.testSourceDirectory}</source>
168                                 </sourceDirs>
169                             </configuration>
170                         </execution>
171                     </executions>
172                 </plugin>
173                 <plugin>
174                     <groupId>org.apache.maven.plugins</groupId>
175                     <artifactId>maven-compiler-plugin</artifactId>
176                     <version>${maven-compiler-plugin.version}</version>
177                     <configuration>
178                         <source>11</source>
179                         <target>11</target>
180                         <encoding>UTF-8</encoding>
181                         <showWarnings>true</showWarnings>
182                         <showDeprecation>true</showDeprecation>
183                         <failOnWarning>false</failOnWarning>
184                     </configuration>
185                     <dependencies>
186                         <dependency>
187                             <groupId>org.ow2.asm</groupId>
188                             <artifactId>asm</artifactId>
189                             <version>${asm.version}</version> <!-- Use newer version of ASM -->
190                         </dependency>
191                     </dependencies>
192                 </plugin>
193                 <!--
194                  Due to a memory leak in Surefire 2.20 and issues running on Java 9, the junit-platform-surefire-provider
195                  currently only works with Surefire 2.19.1.
196                  For updates see https://junit.org/junit5/docs/current/user-guide/#running-tests-build-maven
197                  -->
198                 <plugin>
199                     <artifactId>maven-surefire-plugin</artifactId>
200                     <groupId>org.apache.maven.plugins</groupId>
201                     <version>${maven-surefire-plugin.version}</version>
202                     <configuration>
203                         <failIfNoTests>${failIfMissingUnitTests}</failIfNoTests>
204                         <forkCount>1</forkCount>
205                         <includes>
206                             <include>**/*Test.*</include>
207                         </includes>
208                     </configuration>
209                     <dependencies>
210                         <dependency>
211                             <groupId>org.apache.commons</groupId>
212                             <artifactId>commons-lang3</artifactId>
213                             <version>${commons-lang3.version}</version>
214                         </dependency>
215                         <dependency>
216                             <groupId>org.junit.platform</groupId>
217                             <artifactId>junit-platform-surefire-provider</artifactId>
218                             <version>${junit-platform.version}</version>
219                             <scope>runtime</scope>
220                         </dependency>
221                         <dependency>
222                             <groupId>org.jetbrains.spek</groupId>
223                             <artifactId>spek-junit-platform-engine</artifactId>
224                             <version>${spek.version}</version>
225                             <scope>runtime</scope>
226                         </dependency>
227                     </dependencies>
228                 </plugin>
229                 <plugin>
230                     <groupId>org.apache.maven.plugins</groupId>
231                     <artifactId>maven-failsafe-plugin</artifactId>
232                     <version>${maven-failsafe-plugin.version}</version>
233                     <configuration>
234                         <failIfNoTests>${failIfMissingComponentTests}</failIfNoTests>
235                         <forkCount>1</forkCount>
236                         <includes>
237                             <include>**/*Specification.*</include>
238                         </includes>
239                     </configuration>
240                     <dependencies>
241                         <dependency>
242                             <groupId>org.apache.commons</groupId>
243                             <artifactId>commons-lang3</artifactId>
244                             <version>${commons-lang3.version}</version>
245                         </dependency>
246                         <dependency>
247                             <groupId>org.junit.platform</groupId>
248                             <artifactId>junit-platform-surefire-provider</artifactId>
249                             <version>${junit-platform.version}</version>
250                             <scope>runtime</scope>
251                         </dependency>
252                         <dependency>
253                             <groupId>org.jetbrains.spek</groupId>
254                             <artifactId>spek-junit-platform-engine</artifactId>
255                             <version>${spek.version}</version>
256                             <scope>runtime</scope>
257                         </dependency>
258                     </dependencies>
259                 </plugin>
260                 <plugin>
261                     <groupId>org.codehaus.mojo</groupId>
262                     <artifactId>exec-maven-plugin</artifactId>
263                     <version>${exec-maven-plugin.version}</version>
264                 </plugin>
265             </plugins>
266         </pluginManagement>
267         <extensions>
268             <extension>
269                 <groupId>kr.motd.maven</groupId>
270                 <artifactId>os-maven-plugin</artifactId>
271                 <version>${os-maven-plugin.version}</version>
272             </extension>
273         </extensions>
274     </build>
275
276     <profiles>
277         <profile>
278             <id>docker-proxy</id>
279             <activation>
280                 <property>
281                     <name>docker.http_proxy</name>
282                 </property>
283             </activation>
284             <properties>
285                 <!-- set build args as defined in https://dmp.fabric8.io/#build-buildargs -->
286                 <docker.buildArg.http_proxy>${docker.http_proxy}</docker.buildArg.http_proxy>
287                 <docker.buildArg.https_proxy>${docker.http_proxy}</docker.buildArg.https_proxy>
288             </properties>
289         </profile>
290
291         <profile>
292             <id>docker</id>
293             <activation>
294                 <property>
295                     <name>!skipDocker</name>
296                 </property>
297             </activation>
298             <properties>
299                 <os.detected.name>linux</os.detected.name>
300                 <os.detected.arch>x86_64</os.detected.arch>
301                 <os.detected.classifier>${os.detected.name}-${os.detected.arch}</os.detected.classifier>
302             </properties>
303             <build>
304                 <pluginManagement>
305                     <plugins>
306                         <plugin>
307                             <groupId>org.apache.maven.plugins</groupId>
308                             <artifactId>maven-dependency-plugin</artifactId>
309                             <version>${maven-dependency-plugin.version}</version>
310                             <executions>
311                                 <execution>
312                                     <id>docker-copy-internal-deps</id>
313                                     <phase>package</phase>
314                                     <goals>
315                                         <goal>copy-dependencies</goal>
316                                     </goals>
317                                     <configuration>
318                                         <outputDirectory>${project.build.directory}/libs/internal</outputDirectory>
319                                         <includeGroupIds>${project.parent.groupId}</includeGroupIds>
320                                         <includeScope>runtime</includeScope>
321                                     </configuration>
322                                 </execution>
323                                 <execution>
324                                     <id>docker-copy-external-deps</id>
325                                     <phase>package</phase>
326                                     <goals>
327                                         <goal>copy-dependencies</goal>
328                                     </goals>
329                                     <configuration>
330                                         <outputDirectory>${project.build.directory}/libs/external</outputDirectory>
331                                         <excludeGroupIds>${project.parent.groupId}</excludeGroupIds>
332                                         <includeScope>runtime</includeScope>
333                                     </configuration>
334                                 </execution>
335                             </executions>
336                         </plugin>
337                         <plugin>
338                             <groupId>io.fabric8</groupId>
339                             <artifactId>docker-maven-plugin</artifactId>
340                             <version>${docker-maven-plugin.version}</version>
341                             <executions>
342                                 <execution>
343                                     <id>docker-build-image</id>
344                                     <phase>package</phase>
345                                     <goals>
346                                         <goal>build</goal>
347                                     </goals>
348                                 </execution>
349                                 <execution>
350                                     <id>docker-push-image</id>
351                                     <phase>deploy</phase>
352                                     <goals>
353                                         <goal>push</goal>
354                                     </goals>
355                                 </execution>
356                             </executions>
357                             <configuration>
358                                 <skipPush>${skipDockerPush}</skipPush>
359                                 <verbose>true</verbose>
360                                 <imagePullPolicy>IfNotPresent</imagePullPolicy>
361                                 <images>
362                                     <image>
363                                         <alias>${project.artifactId}</alias>
364                                         <name>${docker-image.namespace}/${docker-image.name}:${project.version}
365                                         </name>
366                                         <registry>${docker-image.registry}</registry>
367                                         <build>
368                                             <dockerFileDir>${project.basedir}</dockerFileDir>
369                                             <tags>
370                                                 <tag>${project.version}-${maven.build.timestamp}Z</tag>
371                                                 <tag>${docker-image.latest}</tag>
372                                             </tags>
373                                         </build>
374                                     </image>
375                                 </images>
376                             </configuration>
377                         </plugin>
378                     </plugins>
379                 </pluginManagement>
380             </build>
381         </profile>
382     </profiles>
383
384     <pluginRepositories>
385         <pluginRepository>
386             <id>arturbosch-code-analysis</id>
387             <name>arturbosch-code-analysis (for detekt)</name>
388             <url>https://dl.bintray.com/arturbosch/code-analysis/</url>
389             <layout>default</layout>
390             <releases>
391                 <enabled>true</enabled>
392                 <updatePolicy>never</updatePolicy>
393             </releases>
394             <snapshots>
395                 <enabled>false</enabled>
396                 <updatePolicy>never</updatePolicy>
397             </snapshots>
398         </pluginRepository>
399     </pluginRepositories>
400
401     <repositories>
402         <repository>
403             <id>40_openecomp-release</id>
404             <name>40_openecomp-release</name>
405             <url>https://nexus.onap.org/content/repositories/releases/</url>
406             <releases>
407                 <enabled>true</enabled>
408                 <updatePolicy>daily</updatePolicy>
409             </releases>
410             <snapshots>
411                 <enabled>false</enabled>
412             </snapshots>
413         </repository>
414     </repositories>
415
416     <dependencyManagement>
417         <dependencies>
418             <dependency>
419                 <groupId>com.google.guava</groupId>
420                 <artifactId>guava</artifactId>
421                 <version>${guava.version}</version>
422                 <exclusions>
423                     <exclusion>
424                         <groupId>com.google.code.findbugs</groupId>
425                         <artifactId>jsr305</artifactId>
426                     </exclusion>
427                 </exclusions>
428             </dependency>
429             <dependency>
430                 <groupId>org.jetbrains.kotlin</groupId>
431                 <artifactId>kotlin-bom</artifactId>
432                 <version>${kotlin.version}</version>
433                 <type>pom</type>
434                 <scope>import</scope>
435             </dependency>
436             <dependency>
437                 <groupId>org.jetbrains.kotlin</groupId>
438                 <artifactId>kotlin-compiler-embeddable</artifactId>
439                 <version>${kotlin.version}</version>
440             </dependency>
441             <dependency>
442                 <groupId>org.jetbrains.kotlin</groupId>
443                 <artifactId>kotlin-scripting-compiler-embeddable</artifactId>
444                 <version>${kotlin.version}</version>
445             </dependency>
446             <dependency>
447                 <groupId>org.jetbrains.kotlin</groupId>
448                 <artifactId>kotlin-script-util</artifactId>
449                 <version>${kotlin.version}</version>
450                 <scope>runtime</scope>
451             </dependency>
452             <dependency>
453                 <groupId>org.jetbrains.kotlinx</groupId>
454                 <artifactId>kotlinx-coroutines-core</artifactId>
455                 <version>${coroutines.version}</version>
456             </dependency>
457             <dependency>
458                 <groupId>com.google.code.gson</groupId>
459                 <artifactId>gson</artifactId>
460                 <version>${gson.version}</version>
461             </dependency>
462             <dependency>
463                 <groupId>io.arrow-kt</groupId>
464                 <artifactId>arrow-core-data</artifactId>
465                 <version>${arrow.version}</version>
466             </dependency>
467             <dependency>
468                 <groupId>io.arrow-kt</groupId>
469                 <artifactId>arrow-core-extensions</artifactId>
470                 <version>${arrow.version}</version>
471             </dependency>
472             <dependency>
473                 <groupId>io.arrow-kt</groupId>
474                 <artifactId>arrow-extras-data</artifactId>
475                 <version>${arrow.version}</version>
476             </dependency>
477             <dependency>
478                 <groupId>io.arrow-kt</groupId>
479                 <artifactId>arrow-syntax</artifactId>
480                 <version>${arrow.version}</version>
481             </dependency>
482             <dependency>
483                 <groupId>io.arrow-kt</groupId>
484                 <artifactId>arrow-typeclasses</artifactId>
485                 <version>${arrow.version}</version>
486             </dependency>
487             <dependency>
488                 <groupId>ch.qos.logback</groupId>
489                 <artifactId>logback-classic</artifactId>
490                 <version>${logback-classic.version}</version>
491                 <scope>runtime</scope>
492             </dependency>
493             <dependency>
494                 <groupId>org.slf4j</groupId>
495                 <artifactId>slf4j-api</artifactId>
496                 <version>${slf4j-api.version}</version>
497             </dependency>
498             <dependency>
499                 <groupId>io.projectreactor</groupId>
500                 <artifactId>reactor-bom</artifactId>
501                 <!-- remember to update netty native bindings versions -->
502                 <version>${reactor-bom.version}</version>
503                 <type>pom</type>
504                 <scope>import</scope>
505             </dependency>
506             <!-- Due to security reasons, override transitive kafka-clients dependency version (2.0.0 -> 2.3.1) -->
507             <dependency>
508                 <groupId>org.apache.kafka</groupId>
509                 <artifactId>kafka-clients</artifactId>
510                 <version>${kafka-clients.version}</version>
511             </dependency>
512             <!--
513             Disable native extension (epoll) on production for now.
514             Might be reintroduced if performance tests prove there is some performance issue.
515             -->
516             <!--
517             <dependency>
518                 <groupId>io.netty</groupId>
519                 <artifactId>netty-transport-native-epoll</artifactId>
520                 <version>4.1.29.Final</version>
521                 <classifier>${os.detected.classifier}</classifier>
522             </dependency>
523             -->
524             <dependency>
525                 <groupId>com.google.protobuf</groupId>
526                 <artifactId>protobuf-java-util</artifactId>
527                 <version>${protobuf.version}</version>
528                 <exclusions>
529                     <exclusion>
530                         <groupId>com.google.guava</groupId>
531                         <artifactId>guava</artifactId>
532                     </exclusion>
533                 </exclusions>
534             </dependency>
535             <dependency>
536                 <groupId>commons-cli</groupId>
537                 <artifactId>commons-cli</artifactId>
538                 <version>${commons-cli.version}</version>
539             </dependency>
540             <dependency>
541                 <groupId>javax.json</groupId>
542                 <artifactId>javax.json-api</artifactId>
543                 <version>${javax.json-api.version}</version>
544             </dependency>
545             <dependency>
546                 <groupId>org.glassfish</groupId>
547                 <artifactId>javax.json</artifactId>
548                 <version>${javax.json.version}</version>
549             </dependency>
550             <dependency>
551                 <groupId>io.micrometer</groupId>
552                 <artifactId>micrometer-registry-prometheus</artifactId>
553                 <version>${micrometer-registry-prometheus.version}</version>
554             </dependency>
555             <dependency>
556                 <groupId>org.onap.dcaegen2.services.sdk</groupId>
557                 <artifactId>hvvesclient-producer-impl</artifactId>
558                 <version>${sdk.version}</version>
559                 <scope>runtime</scope>
560             </dependency>
561             <dependency>
562                 <groupId>org.onap.dcaegen2.services.sdk</groupId>
563                 <artifactId>hvvesclient-producer-api</artifactId>
564                 <version>${sdk.version}</version>
565             </dependency>
566             <dependency>
567                 <groupId>org.onap.dcaegen2.services.sdk</groupId>
568                 <artifactId>hvvesclient-protobuf</artifactId>
569                 <version>${sdk.version}</version>
570             </dependency>
571             <dependency>
572                 <groupId>org.onap.dcaegen2.services.sdk.security</groupId>
573                 <artifactId>ssl</artifactId>
574                 <version>${sdk.version}</version>
575             </dependency>
576             <dependency>
577                 <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
578                 <artifactId>cbs-client</artifactId>
579                 <version>${sdk.version}</version>
580             </dependency>
581
582             <!-- Test dependencies -->
583
584             <dependency>
585                 <groupId>org.jetbrains.spek</groupId>
586                 <artifactId>spek-api</artifactId>
587                 <version>${spek.version}</version>
588                 <scope>test</scope>
589             </dependency>
590             <dependency>
591                 <groupId>org.jetbrains.spek</groupId>
592                 <artifactId>spek-junit-platform-engine</artifactId>
593                 <version>${spek.version}</version>
594                 <scope>test</scope>
595             </dependency>
596             <dependency>
597                 <groupId>org.assertj</groupId>
598                 <artifactId>assertj-core</artifactId>
599                 <version>${assertj-core.version}</version>
600                 <scope>test</scope>
601             </dependency>
602             <dependency>
603                 <groupId>com.nhaarman.mockitokotlin2</groupId>
604                 <artifactId>mockito-kotlin</artifactId>
605                 <version>${mockito-kotlin.version}</version>
606                 <scope>test</scope>
607             </dependency>
608             <dependency>
609                 <groupId>org.jetbrains.kotlin</groupId>
610                 <artifactId>kotlin-test</artifactId>
611                 <version>${kotlin.version}</version>
612                 <scope>test</scope>
613             </dependency>
614             <dependency>
615                 <groupId>org.jetbrains.kotlinx</groupId>
616                 <artifactId>kotlinx-coroutines-test</artifactId>
617                 <version>${coroutines.version}</version>
618                 <scope>test</scope>
619             </dependency>
620         </dependencies>
621     </dependencyManagement>
622 </project>