adc53a704528dd01d71f3593de9abff65c2e5b1a
[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 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     <groupId>org.onap.dcaegen2.collectors.veshv</groupId>
34     <artifactId>ves-hv-collector</artifactId>
35     <version>1.0.0-SNAPSHOT</version>
36     <name>dcaegen2-collectors-veshv</name>
37     <description>VES HighVolume Collector</description>
38     <packaging>pom</packaging>
39
40     <modules>
41         <module>hv-collector-analysis</module>
42         <module>hv-collector-client-simulator</module>
43         <module>hv-collector-core</module>
44         <module>hv-collector-coverage</module>
45         <module>hv-collector-ct</module>
46         <module>hv-collector-dcae-app-simulator</module>
47         <module>hv-collector-domain</module>
48         <module>hv-collector-main</module>
49         <module>hv-collector-utils</module>
50     </modules>
51
52     <properties>
53         <kotlin.version>1.2.50</kotlin.version>
54         <arrow.version>0.7.2</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
58         <!-- Protocol buffers -->
59         <protobuf.version>3.5.1</protobuf.version>
60         <protoc-jar-maven-plugin.version>3.5.1.1</protoc-jar-maven-plugin.version>
61         <protobuf-generated-files.directory>${project.build.directory}/generated-sources/proto/main/java/
62         </protobuf-generated-files.directory>
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         <maven-surefire-plugin.version>2.21.0</maven-surefire-plugin.version>
69         <failIfMissingUnitTests>true</failIfMissingUnitTests>
70         <failIfMissingComponentTests>false</failIfMissingComponentTests>
71         <skipAnalysis>true</skipAnalysis>
72
73         <!-- Docker -->
74         <skipDocker>true</skipDocker> <!-- TODO: unskip docker -->
75         <docker-image.name>ves-hv-collector/${project.artifactId}</docker-image.name>
76         <docker-image.namespace>onap</docker-image.namespace>
77     </properties>
78
79
80     <build>
81         <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
82         <testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
83         <resources>
84             <resource>
85                 <directory>${project.basedir}/src/main/resources</directory>
86             </resource>
87         </resources>
88         <pluginManagement>
89             <plugins>
90                 <plugin>
91                     <groupId>org.apache.maven.plugins</groupId>
92                     <artifactId>maven-resources-plugin</artifactId>
93                     <version>3.1.0</version>
94                     <configuration>
95                         <encoding>UTF-8</encoding>
96                     </configuration>
97                 </plugin>
98                 <plugin>
99                     <groupId>org.apache.maven.plugins</groupId>
100                     <artifactId>maven-deploy-plugin</artifactId>
101                     <configuration>
102                         <skip>true</skip>
103                     </configuration>
104                 </plugin>
105                 <plugin>
106                     <artifactId>kotlin-maven-plugin</artifactId>
107                     <groupId>org.jetbrains.kotlin</groupId>
108                     <version>${kotlin.version}</version>
109                     <configuration>
110                         <jvmTarget>1.8</jvmTarget>
111                     </configuration>
112                     <executions>
113                         <execution>
114                             <id>compile</id>
115                             <goals>
116                                 <goal>compile</goal>
117                             </goals>
118                             <configuration>
119                                 <sourceDirs>
120                                     <source>${project.build.sourceDirectory}</source>
121                                     <source>${project.build.directory}/generated-sources/annotations</source>
122                                 </sourceDirs>
123                             </configuration>
124                         </execution>
125                         <execution>
126                             <id>test-compile</id>
127                             <goals>
128                                 <goal>test-compile</goal>
129                             </goals>
130                             <configuration>
131                                 <sourceDirs>
132                                     <source>${project.build.testSourceDirectory}</source>
133                                 </sourceDirs>
134                             </configuration>
135                         </execution>
136                     </executions>
137                 </plugin>
138                 <plugin>
139                     <groupId>com.github.os72</groupId>
140                     <artifactId>protoc-jar-maven-plugin</artifactId>
141                     <version>${protoc-jar-maven-plugin.version}</version>
142                 </plugin>
143                 <plugin>
144                     <groupId>org.codehaus.mojo</groupId>
145                     <artifactId>build-helper-maven-plugin</artifactId>
146                     <version>${build-helper-maven-plugin.version}</version>
147                     <executions>
148                         <execution>
149                             <id>add-source</id>
150                             <phase>generate-sources</phase>
151                             <goals>
152                                 <goal>add-source</goal>
153                             </goals>
154                             <configuration>
155                                 <sources>
156                                     <source>${protobuf-generated-files.directory}</source>
157                                 </sources>
158                             </configuration>
159                         </execution>
160                     </executions>
161                 </plugin>
162                 <plugin>
163                     <groupId>org.apache.maven.plugins</groupId>
164                     <artifactId>maven-compiler-plugin</artifactId>
165                     <version>${maven-compiler-plugin.version}</version>
166                     <configuration>
167                         <source>8</source>
168                         <target>8</target>
169                         <encoding>UTF-8</encoding>
170                         <showWarnings>true</showWarnings>
171                         <showDeprecation>true</showDeprecation>
172                         <failOnWarning>false</failOnWarning>
173                     </configuration>
174                     <dependencies>
175                         <dependency>
176                             <groupId>org.ow2.asm</groupId>
177                             <artifactId>asm</artifactId>
178                             <version>6.1.1</version> <!-- Use newer version of ASM -->
179                         </dependency>
180                     </dependencies>
181                 </plugin>
182                 <!--
183                  Due to a memory leak in Surefire 2.20 and issues running on Java 9, the junit-platform-surefire-provider
184                  currently only works with Surefire 2.19.1.
185                  For updates see https://junit.org/junit5/docs/current/user-guide/#running-tests-build-maven
186                  -->
187                 <plugin>
188                     <artifactId>maven-surefire-plugin</artifactId>
189                     <groupId>org.apache.maven.plugins</groupId>
190                     <version>${maven-surefire-plugin.version}</version>
191                     <executions>
192                         <execution>
193                             <id>default-test</id>
194                             <goals>
195                                 <goal>test</goal>
196                             </goals>
197                             <configuration>
198                                 <failIfNoTests>${failIfMissingUnitTests}</failIfNoTests>
199                                 <forkCount>1</forkCount>
200                                 <includes>
201                                     <include>**/*Test.*</include>
202                                 </includes>
203                                 <!--<argLine>&#45;&#45;add-modules org.junit.jupiter.api,reactor.test,assertj.core</argLine>-->
204                             </configuration>
205                         </execution>
206                         <execution>
207                             <id>component-tests</id>
208                             <phase>verify</phase>
209                             <goals>
210                                 <goal>test</goal>
211                             </goals>
212                             <configuration>
213                                 <failIfNoTests>${failIfMissingComponentTests}</failIfNoTests>
214                                 <forkCount>1</forkCount>
215                                 <includes>
216                                     <include>**/*Specification.*</include>
217                                 </includes>
218                             </configuration>
219                         </execution>
220                     </executions>
221                     <dependencies>
222                         <dependency>
223                             <groupId>org.apache.commons</groupId>
224                             <artifactId>commons-lang3</artifactId>
225                             <version>3.7</version>
226                         </dependency>
227                         <dependency>
228                             <groupId>org.junit.platform</groupId>
229                             <artifactId>junit-platform-surefire-provider</artifactId>
230                             <version>${junit-platform.version}</version>
231                             <scope>runtime</scope>
232                         </dependency>
233                         <dependency>
234                             <groupId>org.jetbrains.spek</groupId>
235                             <artifactId>spek-junit-platform-engine</artifactId>
236                             <version>${spek.version}</version>
237                             <scope>runtime</scope>
238                         </dependency>
239                     </dependencies>
240                 </plugin>
241             </plugins>
242         </pluginManagement>
243         <extensions>
244             <extension>
245                 <groupId>kr.motd.maven</groupId>
246                 <artifactId>os-maven-plugin</artifactId>
247                 <version>1.6.0</version>
248             </extension>
249         </extensions>
250     </build>
251
252     <profiles>
253         <profile>
254             <id>analysis</id>
255             <activation>
256         <activeByDefault>true</activeByDefault>
257       </activation>
258       <build>
259                 <plugins>
260                     <plugin>
261                         <groupId>org.jacoco</groupId>
262                         <artifactId>jacoco-maven-plugin</artifactId>
263                         <version>0.8.1</version>
264                         <executions>
265                             <execution>
266                                 <id>default-prepare-agent</id>
267                                 <goals>
268                                     <goal>prepare-agent</goal>
269                                 </goals>
270                             </execution>
271                             <execution>
272                                 <id>default-prepare-agent-integration</id>
273                                 <goals>
274                                     <goal>prepare-agent-integration</goal>
275                                 </goals>
276                             </execution>
277                         </executions>
278                     </plugin>
279
280                     <plugin>
281                         <groupId>org.apache.maven.plugins</groupId>
282                         <artifactId>maven-antrun-plugin</artifactId>
283                         <version>1.8</version>
284                         <executions>
285                             <execution>
286                                 <!-- This can be run separately with mvn antrun:run@detekt -->
287                                 <id>detekt</id>
288                                 <phase>verify</phase>
289                                 <configuration>
290                                     <target name="detekt" unless="${skipAnalysis}">
291                                         <java taskname="detekt" dir="${basedir}"
292                                                 fork="true"
293                                                 failonerror="true"
294                                                 classname="io.gitlab.arturbosch.detekt.cli.Main"
295                                                 classpathref="maven.plugin.classpath">
296                                             <arg value="--input"/>
297                                             <arg value="${basedir}/src/main/kotlin"/>
298                                             <arg value="--config-resource"/>
299                                             <arg value="onap-detekt-config.yml"/>
300                                             <arg value="--filters"/>
301                                             <arg value=".*/target/.*,.*/resources/.*"/>
302                                             <arg value="--output"/>
303                                             <arg value="${basedir}/target/reports"/>
304                                             <arg value="--output-name"/>
305                                             <arg value="detekt-report"/>
306                                             <arg value="--baseline"/>
307                                             <arg value="${basedir}/target/reports/baseline.xml"/>
308                                         </java>
309                                     </target>
310                                 </configuration>
311                                 <goals>
312                                     <goal>run</goal>
313                                 </goals>
314                             </execution>
315                         </executions>
316                         <dependencies>
317                             <dependency>
318                                 <groupId>io.gitlab.arturbosch.detekt</groupId>
319                                 <artifactId>detekt-cli</artifactId>
320                                 <version>1.0.0.RC7</version>
321                             </dependency>
322                             <dependency>
323                                 <groupId>${project.groupId}</groupId>
324                                 <artifactId>hv-collector-analysis</artifactId>
325                                 <version>${project.version}</version>
326                             </dependency>
327                         </dependencies>
328                     </plugin>
329
330                     <plugin>
331                         <artifactId>maven-checkstyle-plugin</artifactId>
332                         <version>3.0.0</version>
333                         <dependencies>
334                             <dependency>
335                                 <groupId>org.onap.oparent</groupId>
336                                 <artifactId>checkstyle</artifactId>
337                                 <version>1.1.1</version>
338                             </dependency>
339                         </dependencies>
340                         <executions>
341                             <execution>
342                                 <id>onap-license</id>
343                                 <goals>
344                                     <goal>check</goal>
345                                 </goals>
346                                 <phase>process-sources</phase>
347                                 <configuration>
348                                     <configLocation>onap-checkstyle/check-license.xml</configLocation>
349                                     <includeResources>false</includeResources>
350                                     <includeTestSourceDirectory>true</includeTestSourceDirectory>
351                                     <includeTestResources>false</includeTestResources>
352                                     <includes>**\/*.kt</includes>
353                                     <consoleOutput>true</consoleOutput>
354                                     <!--<failOnViolation>false</failOnViolation>-->
355                                 </configuration>
356                             </execution>
357                         </executions>
358                     </plugin>
359                 </plugins>
360             </build>
361         </profile>
362         <profile>
363             <id>docker</id>
364             <activation>
365                 <property>
366                     <name>!skipDocker</name>
367                 </property>
368             </activation>
369             <properties>
370                 <os.detected.name>linux</os.detected.name>
371                 <os.detected.arch>x86_64</os.detected.arch>
372                 <os.detected.classifier>${os.detected.name}-${os.detected.arch}</os.detected.classifier>
373             </properties>
374             <build>
375                 <pluginManagement>
376                     <plugins>
377                         <plugin>
378                             <groupId>io.fabric8</groupId>
379                             <artifactId>docker-maven-plugin</artifactId>
380                             <version>0.26.0</version>
381                             <executions>
382                                 <execution>
383                                     <id>build-docker-image</id>
384                                     <phase>pre-integration-test</phase>
385                                     <goals>
386                                         <goal>build</goal>
387                                     </goals>
388                                 </execution>
389                                 <execution>
390                                     <id>push-docker-image</id>
391                                     <phase>deploy</phase>
392                                     <goals>
393                                         <goal>push</goal>
394                                     </goals>
395                                 </execution>
396                             </executions>
397                             <configuration>
398                                 <verbose>true</verbose>
399                                 <imagePullPolicy>IfNotPresent</imagePullPolicy>
400                                 <images>
401                                     <image>
402                                         <alias>${project.artifactId}</alias>
403                                         <name>${docker-image.namespace}/${docker-image.name}</name>
404                                         <build>
405                                             <dockerFileDir>${project.basedir}</dockerFileDir>
406                                         </build>
407                                     </image>
408                                 </images>
409                             </configuration>
410                         </plugin>
411                         <plugin>
412                             <groupId>org.apache.maven.plugins</groupId>
413                             <artifactId>maven-dependency-plugin</artifactId>
414                             <version>3.1.1</version>
415                             <executions>
416                                 <execution>
417                                     <id>copy-internal-deps</id>
418                                     <phase>package</phase>
419                                     <goals>
420                                         <goal>copy-dependencies</goal>
421                                     </goals>
422                                     <configuration>
423                                         <outputDirectory>${project.build.directory}/libs/internal</outputDirectory>
424                                         <includeGroupIds>${project.parent.groupId}</includeGroupIds>
425                                         <includeScope>runtime</includeScope>
426                                     </configuration>
427                                 </execution>
428                                 <execution>
429                                     <id>copy-external-deps</id>
430                                     <phase>package</phase>
431                                     <goals>
432                                         <goal>copy-dependencies</goal>
433                                     </goals>
434                                     <configuration>
435                                         <outputDirectory>${project.build.directory}/libs/external</outputDirectory>
436                                         <excludeGroupIds>${project.parent.groupId}</excludeGroupIds>
437                                         <includeScope>runtime</includeScope>
438                                     </configuration>
439                                 </execution>
440                             </executions>
441                         </plugin>
442                     </plugins>
443                 </pluginManagement>
444             </build>
445         </profile>
446     </profiles>
447
448     <reporting>
449         <plugins>
450             <plugin>
451                 <groupId>org.jacoco</groupId>
452                 <artifactId>jacoco-maven-plugin</artifactId>
453                 <reportSets>
454                     <reportSet>
455                         <reports>
456                             <report>report</report>
457                         </reports>
458                     </reportSet>
459                 </reportSets>
460             </plugin>
461         </plugins>
462     </reporting>
463
464     <pluginRepositories>
465         <pluginRepository>
466             <id>40_openecomp-release</id>
467             <name>40_openecomp-release</name>
468             <url>https://nexus.onap.org/content/repositories/releases/</url>
469             <releases>
470                 <enabled>true</enabled>
471                 <updatePolicy>daily</updatePolicy>
472             </releases>
473             <snapshots>
474                 <enabled>false</enabled>
475             </snapshots>
476         </pluginRepository>
477
478         <pluginRepository>
479             <id>arturbosch-code-analysis</id>
480             <name>arturbosch-code-analysis (for detekt)</name>
481             <url>https://dl.bintray.com/arturbosch/code-analysis/</url>
482             <layout>default</layout>
483             <releases>
484                 <enabled>true</enabled>
485                 <updatePolicy>never</updatePolicy>
486             </releases>
487             <snapshots>
488                 <enabled>false</enabled>
489                 <updatePolicy>never</updatePolicy>
490             </snapshots>
491         </pluginRepository>
492     </pluginRepositories>
493
494     <repositories>
495         <repository>
496             <id>40_openecomp-release</id>
497             <name>40_openecomp-release</name>
498             <url>https://nexus.onap.org/content/repositories/releases/</url>
499             <releases>
500                 <enabled>true</enabled>
501                 <updatePolicy>daily</updatePolicy>
502             </releases>
503             <snapshots>
504                 <enabled>false</enabled>
505             </snapshots>
506         </repository>
507     </repositories>
508
509     <dependencyManagement>
510         <dependencies>
511             <dependency>
512                 <groupId>com.google.guava</groupId>
513                 <artifactId>guava</artifactId>
514                 <version>25.0-jre</version>
515                 <exclusions>
516                     <exclusion>
517                         <groupId>com.google.code.findbugs</groupId>
518                         <artifactId>jsr305</artifactId>
519                     </exclusion>
520                 </exclusions>
521             </dependency>
522             <dependency>
523                 <groupId>org.jetbrains.kotlin</groupId>
524                 <artifactId>kotlin-stdlib-jdk8</artifactId>
525                 <version>${kotlin.version}</version>
526             </dependency>
527             <dependency>
528                 <groupId>org.jetbrains.kotlin</groupId>
529                 <artifactId>kotlin-reflect</artifactId>
530                 <version>${kotlin.version}</version>
531             </dependency>
532             <dependency>
533                 <groupId>io.arrow-kt</groupId>
534                 <artifactId>arrow-core</artifactId>
535                 <version>${arrow.version}</version>
536                 <exclusions>
537                     <exclusion>
538                         <groupId>org.jetbrains.kotlin</groupId>
539                         <artifactId>kotlin-stdlib</artifactId>
540                     </exclusion>
541                     <exclusion>
542                         <groupId>org.jetbrains.kotlin</groupId>
543                         <artifactId>kotlin-stdlib-jdk7</artifactId>
544                     </exclusion>
545                 </exclusions>
546             </dependency>
547             <dependency>
548                 <groupId>io.arrow-kt</groupId>
549                 <artifactId>arrow-syntax</artifactId>
550                 <version>${arrow.version}</version>
551             </dependency>
552             <dependency>
553                 <groupId>io.arrow-kt</groupId>
554                 <artifactId>arrow-instances-core</artifactId>
555                 <version>${arrow.version}</version>
556             </dependency>
557             <dependency>
558                 <groupId>io.arrow-kt</groupId>
559                 <artifactId>arrow-instances-data</artifactId>
560                 <version>${arrow.version}</version>
561             </dependency>
562             <dependency>
563                 <groupId>io.arrow-kt</groupId>
564                 <artifactId>arrow-effects</artifactId>
565                 <version>${arrow.version}</version>
566             </dependency>
567             <dependency>
568                 <groupId>ch.qos.logback</groupId>
569                 <artifactId>logback-classic</artifactId>
570                 <version>1.3.0-alpha4</version>
571                 <scope>runtime</scope>
572             </dependency>
573             <dependency>
574                 <groupId>org.slf4j</groupId>
575                 <artifactId>slf4j-api</artifactId>
576                 <version>1.8.0-beta1</version>
577             </dependency>
578             <dependency>
579                 <groupId>io.projectreactor</groupId>
580                 <artifactId>reactor-bom</artifactId>
581                 <version>Bismuth-SR8</version>
582                 <type>pom</type>
583                 <scope>import</scope>
584             </dependency>
585             <dependency>
586                 <groupId>io.netty</groupId>
587                 <artifactId>netty-tcnative-boringssl-static</artifactId>
588                 <version>2.0.8.Final</version>
589                 <classifier>${os.detected.classifier}</classifier>
590             </dependency>
591             <dependency>
592                 <groupId>com.google.protobuf</groupId>
593                 <artifactId>protobuf-java</artifactId>
594                 <version>${protobuf.version}</version>
595             </dependency>
596             <dependency>
597                 <groupId>com.google.protobuf</groupId>
598                 <artifactId>protobuf-java-util</artifactId>
599                 <version>${protobuf.version}</version>
600             </dependency>
601             <dependency>
602                 <groupId>commons-cli</groupId>
603                 <artifactId>commons-cli</artifactId>
604                 <version>1.4</version>
605             </dependency>
606             <dependency>
607                 <groupId>javax.json</groupId>
608                 <artifactId>javax.json-api</artifactId>
609                 <version>1.1.2</version>
610             </dependency>
611             <dependency>
612                 <groupId>org.glassfish</groupId>
613                 <artifactId>javax.json</artifactId>
614                 <version>1.1.2</version>
615             </dependency>
616             <dependency>
617                 <groupId>io.ratpack</groupId>
618                 <artifactId>ratpack-core</artifactId>
619                 <version>1.5.4</version>
620             </dependency>
621             <dependency>
622                 <groupId>io.micrometer</groupId>
623                 <artifactId>micrometer-registry-jmx</artifactId>
624                 <version>1.0.5</version>
625             </dependency>
626
627             <!-- Test dependencies -->
628
629             <dependency>
630                 <groupId>org.jetbrains.spek</groupId>
631                 <artifactId>spek-api</artifactId>
632                 <version>${spek.version}</version>
633                 <scope>test</scope>
634             </dependency>
635             <dependency>
636                 <groupId>org.jetbrains.spek</groupId>
637                 <artifactId>spek-junit-platform-engine</artifactId>
638                 <version>${spek.version}</version>
639                 <scope>test</scope>
640             </dependency>
641
642             <dependency>
643                 <groupId>org.assertj</groupId>
644                 <artifactId>assertj-core</artifactId>
645                 <version>3.9.1</version>
646                 <scope>test</scope>
647             </dependency>
648             <dependency>
649                 <groupId>com.nhaarman</groupId>
650                 <artifactId>mockito-kotlin</artifactId>
651                 <version>1.5.0</version>
652                 <scope>test</scope>
653                 <exclusions>
654                     <exclusion>
655                         <groupId>org.mockito</groupId>
656                         <artifactId>mockito-core</artifactId>
657                     </exclusion>
658                 </exclusions>
659             </dependency>
660             <dependency>
661                 <groupId>org.mockito</groupId>
662                 <artifactId>mockito-core</artifactId>
663                 <version>2.18.3</version>
664                 <scope>test</scope>
665             </dependency>
666             <dependency>
667                 <groupId>org.jetbrains.kotlin</groupId>
668                 <artifactId>kotlin-test</artifactId>
669                 <version>${kotlin.version}</version>
670                 <scope>test</scope>
671             </dependency>
672             <dependency>
673                 <groupId>io.projectreactor</groupId>
674                 <artifactId>reactor-test</artifactId>
675                 <version>3.1.7.RELEASE</version>
676                 <scope>test</scope>
677             </dependency>
678         </dependencies>
679     </dependencyManagement>
680 </project>
681
682