summaryrefslogtreecommitdiffstats
path: root/pom.xml
blob: 546d44a9d2c1c3d1ef328f826d31cd3cc77e670c (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
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
<?xml version="1.0" encoding="UTF-8"?>
<!--
  ============LICENSE_START=======================================================
  Simulator
  ================================================================================
  Copyright (C) 2019 Nokia. All rights reserved.
  ================================================================================
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
  ============LICENSE_END=========================================================
  -->


<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         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>

    <parent>
        <groupId>org.onap.oparent</groupId>
        <artifactId>oparent</artifactId>
        <version>2.1.0</version>
    </parent>

    <groupId>org.onap.integration.simulators.nf-simulator.ves-client</groupId>
    <artifactId>vesclient</artifactId>
    <version>1.0.0-SNAPSHOT</version>

    <name>vesclient</name>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
        <simulator.main.class>org.onap.pnfsimulator.Main</simulator.main.class>
        <docker.image.tag>latest</docker.image.tag>
        <dependency.directory.name>libs</dependency.directory.name>
        <dependency.directory.location>${project.build.directory}/${dependency.directory.name}
        </dependency.directory.location>
        <onap.nexus.dockerregistry.daily>nexus3.onap.org:10003</onap.nexus.dockerregistry.daily>
        <onap.nexus.url>http://nexus3.onap.org</onap.nexus.url>
        <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
        <maven-jar-plugin.version>3.0.2</maven-jar-plugin.version>
        <git-commit-id-plugin.version>2.2.4</git-commit-id-plugin.version>
        <maven-surefire-plugin.version>2.19</maven-surefire-plugin.version>
        <junit-platform-surefire-provider.version>1.1.1</junit-platform-surefire-provider.version>


        <nexusproxy>https://nexus.onap.org</nexusproxy>
        <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
        <releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
        <stagingNexusPath>/content/repositories/staging/</stagingNexusPath>
        <docker-image.namespace>onap</docker-image.namespace>
        <docker-image.name.prefix>org.onap.integration.nfsimulator</docker-image.name.prefix>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <docker-maven-plugin.version>0.31.0</docker-maven-plugin.version>
        <skipDockerPush>true</skipDockerPush>
        <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml
        </sonar.coverage.jacoco.xmlReportPaths>

        <!--  Compile DEPENDENCIES VERSION  -->

        <maven-checkstyle-plugin.version>2.17</maven-checkstyle-plugin.version>
        <docker-maven-plugin-io-fabric.version>0.31.0</docker-maven-plugin-io-fabric.version>
        <spring-boot-starter.version>2.1.6.RELEASE</spring-boot-starter.version>
        <spring-boot-starter-web.version>2.1.6.RELEASE</spring-boot-starter-web.version>
        <spring-boot-starter-websocket.version>2.1.6.RELEASE</spring-boot-starter-websocket.version>
        <spring-boot-starter-actuator.version>2.1.0.RELEASE</spring-boot-starter-actuator.version>
        <spring-boot-starter-data-mongodb.version>2.1.0.RELEASE</spring-boot-starter-data-mongodb.version>
        <spring-cloud-config-client.version>2.1.4.RELEASE</spring-cloud-config-client.version>
        <lombok.version>1.18.2</lombok.version>
        <jnc.version>1.0</jnc.version>
        <spring-kafka.version>2.2.7.RELEASE</spring-kafka.version>
        <commons-cli.version>1.4</commons-cli.version>
        <javax.websocket-api.version>1.1</javax.websocket-api.version>
        <apache.httpclient.version>4.5.6</apache.httpclient.version>
        <httpmime.version>4.5.6</httpmime.version>
        <springfox-swagger2.version>2.9.2</springfox-swagger2.version>
        <springfox-swagger-ui.version>2.9.2</springfox-swagger-ui.version>
        <logback-core.version>1.2.3</logback-core.version>
        <slf4j-api.version>1.7.25</slf4j-api.version>
        <commons-io.version>2.6</commons-io.version>
        <json.version>20180130</json.version>
        <gson.version>2.8.2</gson.version>
        <commons-lang3.version>3.7</commons-lang3.version>
        <jackson-datatype-jdk8.version>2.9.7</jackson-datatype-jdk8.version>
        <jackson-datatype-jsr310.version>2.9.7</jackson-datatype-jsr310.version>
        <vavr-match.version>0.9.2</vavr-match.version>
        <vavr.version>0.9.2</vavr.version>
        <quartz.version>2.2.1</quartz.version>
        <quartz-jobs.version>2.2.1</quartz-jobs.version>
        <guava.version>21.0</guava.version>
        <logback-classic.version>1.2.3</logback-classic.version>
        <sonar-maven-plugin.version>3.7.0.1746</sonar-maven-plugin.version>

        <!--  TEST DEPENDENCIES VERSION  -->

        <assertj-core.version>3.9.1</assertj-core.version>
        <mockito-core.version>2.18.3</mockito-core.version>
        <junit-jupiter-engine.version>5.3.1</junit-jupiter-engine.version>
        <junit-vintage-engine.version>5.3.1</junit-vintage-engine.version>
        <junit.version>4.12</junit.version>
        <spring.boot.version>2.1.6.RELEASE</spring.boot.version>
        <spring.kafka.version>2.2.7.RELEASE</spring.kafka.version>
        <before-after-spring-test-runner.version>0.1.0</before-after-spring-test-runner.version>
        <docker-compose-rule-junit4.version>0.34.0</docker-compose-rule-junit4.version>
        <spring-test.version>5.0.4.RELEASE</spring-test.version>
        <junit-jupiter-migrationsupport.version>5.1.0</junit-jupiter-migrationsupport.version>
        <jsonassert.version>1.5.0</jsonassert.version>

        <skip-integration-tests>true</skip-integration-tests>
        <skip-unit-tests>false</skip-unit-tests>

    </properties>

    <dependencies>

        <!--  Compile DEPENDENCIES  -->

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <version>${spring-boot-starter.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>${spring-boot-starter-web.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
            <version>${spring-boot-starter-data-mongodb.version}</version>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>org.springframework.boot</groupId>-->
<!--            <artifactId>spring-boot-starter-actuator</artifactId>-->
<!--            <version>${spring-boot-starter-actuator.version}</version>-->
<!--        </dependency>-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-client</artifactId>
            <version>${spring-cloud-config-client.version}</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>provided</scope>
            <version>${lombok.version}</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>${logback-classic.version}</version>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>ch.qos.logback</groupId>-->
<!--            <artifactId>logback-core</artifactId>-->
<!--            <version>${logback-classic.version}</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>org.slf4j</groupId>-->
<!--            <artifactId>slf4j-api</artifactId>-->
<!--            <version>${slf4j-api.version}</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>commons-io</groupId>-->
<!--            <artifactId>commons-io</artifactId>-->
<!--            <version>${commons-io.version}</version>-->
<!--        </dependency>-->
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>${json.version}</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>${gson.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>${apache.httpclient.version}</version>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>com.google.guava</groupId>-->
<!--            <artifactId>guava</artifactId>-->
<!--            <version>${guava.version}</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>commons-cli</groupId>-->
<!--            <artifactId>commons-cli</artifactId>-->
<!--            <version>${commons-cli.version}</version>-->
<!--        </dependency>-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>${commons-lang3.version}</version>
        </dependency>

<!--        <dependency>-->
<!--            <groupId>com.fasterxml.jackson.datatype</groupId>-->
<!--            <artifactId>jackson-datatype-jdk8</artifactId>-->
<!--            <version>${jackson-datatype-jdk8.version}</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>com.fasterxml.jackson.datatype</groupId>-->
<!--            <artifactId>jackson-datatype-jsr310</artifactId>-->
<!--            <version>${jackson-datatype-jsr310.version}</version>-->
<!--        </dependency>-->
        <dependency>
            <groupId>io.vavr</groupId>
            <artifactId>vavr-match</artifactId>
            <version>${vavr-match.version}</version>
        </dependency>
        <dependency>
            <groupId>io.vavr</groupId>
            <artifactId>vavr</artifactId>
            <version>${vavr.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>${springfox-swagger2.version}</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${springfox-swagger-ui.version}</version>
        </dependency>
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>${quartz.version}</version>
        </dependency>
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz-jobs</artifactId>
            <version>${quartz-jobs.version}</version>
        </dependency>

        <!--  TEST DEPENDENCIES  -->

        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <scope>test</scope>
            <version>${junit-jupiter-engine.version}</version>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>org.junit.jupiter</groupId>-->
<!--            <artifactId>junit-jupiter-migrationsupport</artifactId>-->
<!--            <scope>test</scope>-->
<!--            <version>${junit-jupiter-migrationsupport.version}</version>-->
<!--        </dependency>-->
<!--      <dependency>-->
<!--        <groupId>org.skyscreamer</groupId>-->
<!--        <artifactId>jsonassert</artifactId>-->
<!--        <scope>test</scope>-->
<!--          <version>${jsonassert.version}</version>-->
<!--      </dependency>-->
<!--      <dependency>-->
<!--            <groupId>org.assertj</groupId>-->
<!--            <artifactId>assertj-core</artifactId>-->
<!--            <scope>test</scope>-->
<!--          <version>${assertj-core.version}</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>org.mockito</groupId>-->
<!--            <artifactId>mockito-core</artifactId>-->
<!--            <scope>test</scope>-->
<!--            <version>${mockito-core.version}</version>-->
<!--        </dependency>-->
<!--        <dependency>-->
<!--            <groupId>org.springframework</groupId>-->
<!--            <artifactId>spring-test</artifactId>-->
<!--            <scope>test</scope>-->
<!--            <version>${spring-test.version}</version>-->
<!--        </dependency>-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <version>${spring.boot.version}</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <descriptor>src/assembly/resources.xml</descriptor>
                    <finalName>${project.artifactId}-${project.version}</finalName>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin.version}</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                    <showWarnings>true</showWarnings>
                    <showDeprecation>true</showDeprecation>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>${maven-jar-plugin.version}</version>
                <configuration>
                    <archive>
                        <manifestEntries>
                            <Main-Class>${simulator.main.class}</Main-Class>
                            <Build-Time>${maven.build.timestamp}</Build-Time>
                        </manifestEntries>
                    </archive>
                </configuration>
            </plugin>
            <plugin>
                <groupId>pl.project13.maven</groupId>
                <artifactId>git-commit-id-plugin</artifactId>
                <version>${git-commit-id-plugin.version}</version>
                <executions>
                    <execution>
                        <id>get-commit-info</id>
                        <goals>
                            <goal>revision</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
                    <generateGitPropertiesFile>true</generateGitPropertiesFile>
                    <includeOnlyProperties>git.commit.id.abbrev</includeOnlyProperties>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>${maven-surefire-plugin.version}</version>
                <dependencies>
                    <dependency>
                        <groupId>org.junit.platform</groupId>
                        <artifactId>junit-platform-surefire-provider</artifactId>
                        <version>${junit-platform-surefire-provider.version}</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <skipTests>${skip-unit-tests}</skipTests>
                    <detail>true</detail>
                    <printSummary>true</printSummary>
                    <useSystemClassLoader>false</useSystemClassLoader>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <configuration>
                    <outputDirectory>${dependency.directory.location}</outputDirectory>
                    <includeScope>runtime</includeScope>
                    <silent>true</silent>
                </configuration>
                <executions>
                    <execution>
                        <id>copy-external-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>prepare-agent</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>report</id>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <dataFile>${project.build.directory}/code-coverage/jacoco.exec</dataFile>
                            <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <profile>
            <id>docker</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <os.detected.name>linux</os.detected.name>
                <os.detected.arch>x86_64</os.detected.arch>
                <os.detected.classifier>${os.detected.name}-${os.detected.arch}</os.detected.classifier>
            </properties>
            <build>
                <plugins>
                    <plugin>
                        <groupId>io.fabric8</groupId>
                        <artifactId>docker-maven-plugin</artifactId>
                        <version>${docker-maven-plugin.version}</version>
                        <executions>
                            <execution>
                                <id>docker-build-image</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>build</goal>
                                </goals>
                            </execution>
                            <execution>
                                <id>docker-push-image</id>
                                <phase>deploy</phase>
                                <goals>
                                    <goal>push</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <skipPush>${skipDockerPush}</skipPush>
                            <verbose>true</verbose>
                            <imagePullPolicy>IfNotPresent</imagePullPolicy>
                            <images>
                                <image>
                                    <alias>${project.artifactId}</alias>
                                    <name>${docker-image.namespace}/${docker-image.name.prefix}.${artifactId}</name>
                                    <registry>${onap.nexus.dockerregistry.daily}</registry>
                                    <build>
                                        <dockerFileDir>${project.basedir}</dockerFileDir>
                                        <tags>
                                            <tag>${project.version}-STAGE-${maven.build.timestamp}Z</tag>
                                        </tags>
                                    </build>
                                </image>
                            </images>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <distributionManagement>
        <repository>
            <id>ecomp-releases</id>
            <name>Integration simulators Release Repository</name>
            <url>${nexusproxy}${releaseNexusPath}</url>
        </repository>
        <snapshotRepository>
            <id>ecomp-snapshots</id>
            <name>Integration simulators Snapshot Repository</name>
            <url>${nexusproxy}${snapshotNexusPath}</url>
        </snapshotRepository>
        <site>
            <id>ecomp-site</id>
            <url>dav:${nexusproxy}${sitePath}</url>
        </site>
    </distributionManagement>

</project>