summaryrefslogtreecommitdiffstats
path: root/pom.xml
blob: 74b9b951272143b5343438e890d52dfec58ea887 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
<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">
	<modelVersion>4.0.0</modelVersion>
	<groupId>org.openecomp</groupId>
	<artifactId>mso</artifactId>
	<packaging>pom</packaging>
	<version>1.1.0-SNAPSHOT</version>
	<name>MSO main project</name>
	<description>This Maven project is responsible to build and package all child projects - contributions in the MSO project.
	This build can be configured to run Functional tests and to start/stop a jboss server + Mysql DB.
	"mvn clean install -P with-integration-tests -Dintegration-tests-user=root -Dintegration-tests-group=root -Dintegration-tests-db-type=MYSQL"
	</description>
	<organization>
		<name>OPENECOMP - MSO</name>
		<url>http://www.onap.org/</url>
	</organization>
	<modules>
		<module>common</module>
		<module>mso-api-handlers</module>
		<module>mso-catalog-db</module>
		<module>adapters</module>
		<module>asdc-controller</module>
		<module>status-control</module>
		<module>bpmn</module>
		<module>packages</module>
	</modules>
	<properties>
		<project.mso.base.folder>.</project.mso.base.folder>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<sonar.language>java</sonar.language>
		<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
		<sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
		<sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPath>
		<sonar.jacoco.itReportPath>${project.mso.base.folder}/packages/arquillian-unit-tests/target/mso-automated-tests/jacoco-it.exec</sonar.jacoco.itReportPath>
		<sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
		<sonar.projectVersion>${project.version}</sonar.projectVersion>
		<org.apache.maven.user-settings></org.apache.maven.user-settings>
		<!-- this is used for Chef mso-code cookbook -->
		<swm.version>2.19.3-1</swm.version>
		<openstack.version>1.1.0</openstack.version>
		<evosuiteVersion>1.0.4-alpha2</evosuiteVersion>
		<nexusproxy>https://nexus.onap.org</nexusproxy>
		<snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
		<releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
		<stagingNexusPath>/content/repositories/staging/</stagingNexusPath>
        <sitePath>/content/sites/site/org/openecomp/mso/${project.version}</sitePath>
		<maven.build.timestamp.format>yyyyMMdd'T'HHmm</maven.build.timestamp.format>
	</properties>
	<distributionManagement>
		<repository>
			<id>ecomp-releases</id>
			<name>MSO Release Repository</name>
			<url>${nexusproxy}/${releaseNexusPath}</url>
		</repository>
		<snapshotRepository>
			<id>ecomp-snapshots</id>
			<name>MSO Snapshot Repository</name>
			<url>${nexusproxy}/${snapshotNexusPath}</url>
		</snapshotRepository>
		<site>
			<id>ecomp-site</id>
			<url>dav:${nexusproxy}${sitePath}</url>
		</site>
	</distributionManagement>
	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.4</version>
				<configuration>
					<failOnError>false</failOnError>
					<doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
					<docletArtifact>
						<groupId>org.umlgraph</groupId>
						<artifactId>umlgraph</artifactId>
						<version>5.6</version>
					</docletArtifact>
					<additionalparam>-views</additionalparam>
					<useStandardDocletOptions>true</useStandardDocletOptions>
				</configuration>
			</plugin>
		</plugins>
	</reporting>
	<!-- configure build -->
	<!-- *********************************************************************************************************** -->
	<!-- Plugins and repositories -->
	<pluginRepositories>
		<pluginRepository>
			<id>central</id>
			<url>http://repo1.maven.org/maven2</url>
		</pluginRepository>
		<pluginRepository>
			<id>EvoSuite</id>
			<name>EvoSuite Repository</name>
			<url>http://www.evosuite.org/m2</url>
		</pluginRepository>
	</pluginRepositories>
	<repositories>
		<repository>
			<id>central</id>
			<name>Maven 2 repository 2</name>
			<url>http://repo2.maven.org/maven2/</url>
		</repository>
		<repository>
			<id>JBOSS</id>
			<name>JBoss Repository</name>
			<url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
		</repository>
		<repository>
			<id>jboss-deprecated-repository</id>
			<name>JBoss Deprecated Maven Repository</name>
			<url>https://repository.jboss.org/nexus/content/repositories/deprecated/</url>
		</repository>
		<repository>
			<id>ecomp-releases</id>
			<name>MSO Release Repository</name>
			<url>${nexusproxy}/${releaseNexusPath}</url>
		</repository>
		<repository>
			<id>ecomp-staging</id>
			<name>MSO Staging Repository</name>
			<url>${nexusproxy}/${stagingNexusPath}</url>
		</repository>
		<repository>
            <id>ecomp-snapshots</id>
            <name>MSO Snapshot Repository</name>
            <url>${nexusproxy}/${snapshotNexusPath}</url>
        </repository>
		<!-- Camunda Web Repository -->
		<repository>
			<id>CamundaWebRepo</id>
			<url>https://app.camunda.com/nexus/content/repositories/camunda-bpm/</url>
			<name>Camunda Web Repository</name>
		</repository>
		<repository>
			<id>CamundaPublicRepo</id>
			<url>https://app.camunda.com/nexus/content/groups/public</url>
			<name>Camunda Public repository</name>
		</repository>
		<repository>
			<id>soapUI</id>
			<url>http://www.soapui.org/repository/maven2/</url>
			<name>SoapUI plugin</name>
		</repository>
	</repositories>
	<!-- *********************************************************************************************************** -->
	<!-- Build -->
	<build>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
			</resource>
			<resource>
				<directory>target/generated-sources/license</directory>
				<includes>
					<include>third-party-licenses.txt</include>
				</includes>
			</resource>
			<resource>
				<directory>target/generated-resources/licenses</directory>
				<includes>
					<include>*.*</include>
				</includes>
				<targetPath>third-party-licenses</targetPath>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>1.6.7</version>
				<extensions>true</extensions>
				<configuration>
					<nexusUrl>${nexusproxy}</nexusUrl>
					<stagingProfileId>176c31dfe190a</stagingProfileId>
					<serverId>ecomp-staging</serverId>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-deploy-plugin</artifactId>
				<version>2.8</version> <!-- This version supports the "deployAtEnd" parameter -->
				<configuration>
					<skip />
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.17</version>
				<configuration>
					<!--		<forkCount>2C</forkCount>
					    <reuseForks>true</reuseForks> -->
					<properties>
						<property>
							<name>listener</name>
							<value>org.evosuite.runtime.InitializingListener</value>
						</property>
					</properties>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.6.1</version>
				<configuration>
					<debug>true</debug>
					<compilerArgument>-Xlint</compilerArgument>
					<verbose>true</verbose>
					<showDeprecation>true</showDeprecation>
					<showWarnings>true</showWarnings>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
			<!--			<plugin> -->
			<!--				<groupId>org.codehaus.mojo</groupId> -->
			<!--				<artifactId>sonar-maven-plugin</artifactId> -->
			<!--				<version>2.1</version> -->
			<!--			</plugin> -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-ejb-plugin</artifactId>
				<version>2.2.1</version>
				<configuration>
					<ejbVersion>3.0</ejbVersion>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
						</manifest>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
				<version>2.17</version>
				<configuration>
					<includes>**/org/openecomp/**/*.java</includes>
					<configLocation>/google_checks.xml</configLocation>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>findbugs-maven-plugin</artifactId>
				<version>2.5.2</version>
				<configuration>
					<includeFilterFile>project-configs/code-tools/findbugs_include_filter.xml</includeFilterFile>
					<nested>true</nested>
					<findbugsXmlOutput>true</findbugsXmlOutput>
					<findbugsXmlWithMessages>true</findbugsXmlWithMessages>
					<xmlOutput>true</xmlOutput>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>sonar-maven-plugin</artifactId>
				<version>3.2</version>
			</plugin>
			<plugin>
				<artifactId>maven-scm-plugin</artifactId>
				<version>1.8.1</version>
				<configuration>
					<tag>${project.artifactId}-${project.version}</tag>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.9</version>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-site-plugin</artifactId>
				<version>3.6</version>
				<dependencies>
					<dependency>
						<groupId>org.apache.maven.wagon</groupId>
						<artifactId>wagon-webdav-jackrabbit</artifactId>
						<version>2.10</version>
					</dependency>
				</dependencies>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>cobertura-maven-plugin</artifactId>
				<version>2.5.2</version>
				<configuration>
					<formats>
						<format>xml</format>
					</formats>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>versions-maven-plugin</artifactId>
				<version>1.3.1</version>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>jboss-packaging-maven-plugin</artifactId>
				<version>2.2</version>
				<!-- <configuration> <archive> <manifest> <addClasspath>true</addClasspath>
				     </manifest> </archive> </configuration> Enable 'jboss-sar', etc., as a recoginized
				     maven packaging type -->
				<extensions>true</extensions>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.7.201606060606</version>
				<configuration>
					<dumpOnExit>true</dumpOnExit>
					<includes>
						<include>org.openecomp.*</include>
					</includes>
				</configuration>
				<executions>
					<execution>
						<id>jacoco-initialize-unit-tests</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
							<!-- <append>true</append> -->
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>com.fortify.ps.maven.plugin</groupId>
				<artifactId>sca-maven-plugin</artifactId>
				<version>4.20</version>
				<configuration>
					<buildId>mso-${project.version}</buildId>
					<source>1.8</source>
				</configuration>
			</plugin>
			<!-- license plugin -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>license-maven-plugin</artifactId>
				<version>1.10</version>
				<configuration>
					<addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
					<processStartTag>============LICENSE_START=======================================================</processStartTag>
					<processEndTag>============LICENSE_END=========================================================</processEndTag>
					<sectionDelimiter>================================================================================</sectionDelimiter>
					<licenseName>apache_v2</licenseName>
					<inceptionYear>2017</inceptionYear>
					<organizationName>AT&amp;T Intellectual Property. All rights reserved.</organizationName>
					<projectName>ECOMP MSO</projectName>
					<canUpdateCopyright>true</canUpdateCopyright>
					<canUpdateDescription>true</canUpdateDescription>
					<canUpdateLicense>true</canUpdateLicense>
					<emptyLineAfterHeader>true</emptyLineAfterHeader>
				</configuration>
				<executions>
					<execution>
						<id>first</id>
						<goals>
							<goal>update-file-header</goal>
						</goals>
						<phase>process-sources</phase>
						<configuration>
							<licenseName>apache_v2</licenseName>
							<includes>
								<include>*.java</include>
								<include>*.groovy</include>
							</includes>
							<excludes>
								<exclude>*.json</exclude>
							</excludes>
						</configuration>
					</execution>
				</executions>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.evosuite.plugins</groupId>
					<artifactId>evosuite-maven-plugin</artifactId>
					<version>${evosuiteVersion}</version>
					<executions>
						<execution>
							<goals>
								<goal>prepare</goal>
							</goals>
							<phase>process-test-classes</phase>
						</execution>
					</executions>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
	<!-- *********************************************************************************************************** -->
	<!-- Dependencies -->
	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.12</version>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<dependencyManagement>
		<dependencies>
			<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient -->
			<!-- force use of version 4.5 everywhere in transient deps, aligned on WildFly 10 version -->
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpclient</artifactId>
				<version>4.5</version>
				<scope>compile</scope>
			</dependency>
			<dependency>
				<groupId>org.apache.httpcomponents</groupId>
				<artifactId>httpcore</artifactId>
				<version>4.4.1</version>
				<scope>compile</scope>
			</dependency>
			<dependency>
				<groupId>commons-codec</groupId>
				<artifactId>commons-codec</artifactId>
				<version>1.10</version>
				<scope>compile</scope>
			</dependency>
			<dependency>
				<groupId>commons-io</groupId>
				<artifactId>commons-io</artifactId>
				<version>2.5</version>
				<scope>compile</scope>
			</dependency>
			<dependency>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-core</artifactId>
				<version>1.3</version>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>log4j</groupId>
				<artifactId>log4j</artifactId>
				<version>1.2.17</version>
				<scope>compile</scope>
			</dependency>
			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>1.7.10</version>
				<scope>compile</scope>
			</dependency>
			<dependency>
				<groupId>com.sun.xml.fastinfoset</groupId>
				<artifactId>FastInfoset</artifactId>
				<version>1.2.13</version>
				<scope>compile</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
</project>
pan></version> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId> <artifactId>execution-service</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId> <artifactId>workflow-service</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId> <artifactId>resource-api</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId> <artifactId>selfservice-api</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor</groupId> <artifactId>application</artifactId> <version>${project.version}</version> </dependency> <!-- Functions --> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId> <artifactId>resource-resolution</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId> <artifactId>python-executor</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId> <artifactId>ansible-awx-executor</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId> <artifactId>netconf-executor</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId> <artifactId>restconf-executor</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.blueprintsprocessor.functions</groupId> <artifactId>cli-executor</artifactId> <version>${project.version}</version> </dependency> <!-- Controller Blueprints Application Dependency --> <dependency> <groupId>org.onap.ccsdk.cds.controllerblueprints</groupId> <artifactId>resource-dict</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.controllerblueprints</groupId> <artifactId>blueprint-core</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.controllerblueprints</groupId> <artifactId>blueprint-scripts</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.controllerblueprints</groupId> <artifactId>db-resources</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.onap.ccsdk.cds.controllerblueprints</groupId> <artifactId>blueprint-validation</artifactId> <version>${project.version}</version> </dependency> <!-- Database --> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>${h2database.version}</version> <scope>test</scope> </dependency> <!-- Test Dependency --> <dependency> <groupId>io.mockk</groupId> <artifactId>mockk</artifactId> <version>${mockk.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mock-server</groupId> <artifactId>mockserver-netty</artifactId> <version>${mockkserver.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito2</artifactId> <version>${powermock.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-test-junit</artifactId> <version>${kotlin.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-test</artifactId> <version>${kotlin.couroutines.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-testing</artifactId> <version>${grpc.version}</version> <scope>test</scope> </dependency> <!-- Spring Kafka --> <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka-test</artifactId> <version>${spring.kafka.version}</version> <scope>test</scope> </dependency> <!-- message-lib dependency --> <dependency> <groupId>${project.groupId}</groupId> <artifactId>message-lib</artifactId> <version>${project.version}</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> </dependency> <dependency> <groupId>com.jayway.jsonpath</groupId> <artifactId>json-path</artifactId> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-script-util</artifactId> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib-jdk8</artifactId> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-core</artifactId> </dependency> <dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-reactor</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>jackson-module-kotlin</artifactId> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-compiler-embeddable</artifactId> </dependency> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-scripting-jvm-host</artifactId> <!--Use kotlin-compiler-embeddable as koltin-compiler wrap--> <!--guava dependency creating classpath issues at runtime--> <exclusions> <exclusion> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-compiler</artifactId> </exclusion> </exclusions> </dependency> <!-- GRPC Dependencies --> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-netty</artifactId> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-protobuf</artifactId> </dependency> <dependency> <groupId>io.grpc</groupId> <artifactId>grpc-stub</artifactId> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java-util</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-plugin</artifactId> <version>${kotlin.maven.version}</version> <executions> <execution> <id>compile</id> <goals> <goal>compile</goal> </goals> <configuration> <sourceDirs> <sourceDir>${project.basedir}/src/main/kotlin</sourceDir> <sourceDir>${project.basedir}/src/main/java</sourceDir> </sourceDirs> </configuration> </execution> <execution> <id>test-compile</id> <goals> <goal>test-compile</goal> </goals> <configuration> <sourceDirs> <sourceDir>${project.basedir}/src/test/kotlin</sourceDir> <sourceDir>${project.basedir}/src/test/java</sourceDir> </sourceDirs> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>${maven.compiler.source}</source> <target>${maven.compiler.target}</target> </configuration> </plugin> </plugins> </build> </project>