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