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