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