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