blob: 5b45515c3c22ff2b1536f82a0e6b01dcd5a82606 [file] [log] [blame]
Dan Timoneybc67c402021-08-05 10:46:18 -04001<?xml version="1.0" encoding="UTF-8"?>
2<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">
3 <modelVersion>4.0.0</modelVersion>
4
5 <!-- PLEASE READ !!!!! This file is generated from ccsdk/parent/springboot/spring-boot-setup/src/main/template/pom-template.xml
6 Any updates needed should be made to that template and not to the generated
7 pom.xml file -->
8 <parent>
9 <groupId>org.springframework.boot</groupId>
10 <artifactId>spring-boot-starter-parent</artifactId>
11 <version>2.5.3</version>
12 <relativePath/>
13 </parent>
14
15 <groupId>org.onap.ccsdk.parent</groupId>
16 <artifactId>spring-boot-25-starter-parent</artifactId>
Dan Timoney3e0f5ef2021-11-11 10:03:28 -050017 <version>2.3.2-SNAPSHOT</version>
Dan Timoneybc67c402021-08-05 10:46:18 -040018 <packaging>pom</packaging>
19
20 <name>ONAP :: ${project.groupId} :: ${project.artifactId}</name>
21 <description>Root POM to be used in place of spring-boot parent for CCSDK based projects</description>
22 <url>http://wiki.onap.org</url>
23 <organization>
24 <name>ONAP</name>
25 </organization>
26
27 <issueManagement>
28 <system>JIRA</system>
29 <url>https://jira.onap.org/</url>
30 </issueManagement>
31
32 <distributionManagement>
33 <repository>
34 <id>ecomp-releases</id>
35 <url>${onap.nexus.release-url}</url>
36 </repository>
37 <snapshotRepository>
38 <id>ecomp-snapshots</id>
39 <url>${onap.nexus.snapshot-url}</url>
40 </snapshotRepository>
41 </distributionManagement>
42
43 <properties>
44 <!-- Sonar properties -->
45 <sonar.scanner.version>3.7.0.1746</sonar.scanner.version>
46 <sonar-jacoco-listeners.version>3.2</sonar-jacoco-listeners.version>
47 <sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
48 <!-- Default Sonar configuration -->
49 <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml,${project.reporting.outputDirectory}/jacoco-it/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
50 <!-- Note: This list should match jacoco-maven-plugin's exclusion list below -->
51 <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**,**/pax/**</sonar.exclusions>
52
53 <!-- Jacoco properties -->
54 <jacoco.version>0.8.5</jacoco.version>
55 <!-- properties from oparent -->
56
Dan Timoneybc67c402021-08-05 10:46:18 -040057 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
58 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
59 <!-- sitePath may be overridden in the inheriting POM if desired -->
60 <sitePath>/content/sites/site/${project.groupId}/${project.artifactId}/${project.version}</sitePath>
61
62 <!-- If following file exist, auto-generation of swagger.json will be done -->
63 <swagger-properties>${basedir}/src/main/resources/swagger.properties</swagger-properties>
64 <!-- If following file exist, auto-generation of sdk will be done -->
65 <swagger-json>${basedir}/src/main/resources/swagger.json</swagger-json>
66 <!-- end of properties from oparent -->
67
68 <!-- ONAP repositories -->
69 <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
70 <onap.nexus.host>nexus.onap.org</onap.nexus.host>
71 <onap.nexus.port>443</onap.nexus.port>
72 <onap.nexus.protocol>https</onap.nexus.protocol>
73 <onap.nexus.public-url>https://nexus.onap.org/content/groups/public</onap.nexus.public-url>
74 <onap.nexus.staging-url>https://nexus.onap.org/content/groups/staging</onap.nexus.staging-url>
75 <onap.nexus.release-url>https://nexus.onap.org/content/repositories/releases</onap.nexus.release-url>
76 <onap.nexus.snapshot-url>https://nexus.onap.org/content/repositories/snapshots</onap.nexus.snapshot-url>
77 <onap.nexus.staging.server-id>ecomp-staging</onap.nexus.staging.server-id>
78 <onap.nexus.staging.profile-id>176c31dfe190a</onap.nexus.staging.profile-id>
79
Dan Timoneya31feef2021-08-17 11:59:38 -040080 <java.version>11</java.version>
Dan Timoneybc67c402021-08-05 10:46:18 -040081 <bundle.plugin.version>2.5.0</bundle.plugin.version>
Dan Timoneya31feef2021-08-17 11:59:38 -040082 <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
Dan Timoneybc67c402021-08-05 10:46:18 -040083 <features.file>features.xml</features.file>
84 <jmxGeneratorPath>src/main/yang-gen-config</jmxGeneratorPath>
85 <salGeneratorPath>src/main/yang-gen-sal</salGeneratorPath>
86 <checkstyle.skip>true</checkstyle.skip>
87
88 <!-- logging-analytics versions -->
89 <logging-analytics.version>1.6.9</logging-analytics.version>
90
91 <!-- CCSDK component versions -->
92 <ccsdk.cds.version>(1.1.99999,1.2.99999-SNAPSHOT)</ccsdk.cds.version>
93 <ccsdk.features.version>(1.1.99999, 1.2.99999-SNAPSHOT)</ccsdk.features.version>
94 <ccsdk.distribution.version>(1.1.99999, 1.2.99999-SNAPSHOT)</ccsdk.distribution.version>
Dan Timoney93807012021-09-14 11:49:59 -040095 <ccsdk.sli.version>1.3.1</ccsdk.sli.version>
Dan Timoneybc67c402021-08-05 10:46:18 -040096 <ccsdk.sli.core.version>${ccsdk.sli.version}</ccsdk.sli.core.version>
97 <ccsdk.sli.adaptors.version>${ccsdk.sli.version}</ccsdk.sli.adaptors.version>
98 <ccsdk.sli.northbound.version>${ccsdk.sli.version}</ccsdk.sli.northbound.version>
99 <ccsdk.sli.plugins.version>${ccsdk.sli.version}</ccsdk.sli.plugins.version>
100
101 <!-- Spring versions -->
102 <spring.boot.version>2.5.3</spring.boot.version>
103 <spring.version>5.3.9</spring.version>
104
105 <!-- Kotlin versions -->
106 <kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>
107 <kotlin.version>1.3.61</kotlin.version>
108 <kotlin.maven.version>1.3.61</kotlin.maven.version>
109 <kotlin.couroutines.version>1.3.3</kotlin.couroutines.version>
110 <kotlinpoet.version>1.5.0</kotlinpoet.version>
111 <kroto-plus.version>0.5.0</kroto-plus.version>
112 <nats.version>2.6.6</nats.version>
113 <nats.streaming.version>2.2.3</nats.streaming.version>
114 <mockk.version>1.9.3</mockk.version>
115
116 <!-- Managed dependency versions -->
117 <antlr.version>4.8-1</antlr.version>
118 <commons.lang.version>2.6</commons.lang.version>
119 <apache.httpcomponents.core.version>4.4.14</apache.httpcomponents.core.version>
120 <apache.httpcomponents.client.version>4.5.13</apache.httpcomponents.client.version>
121 <derby.version>10.14.2.0</derby.version>
122 <eelf.version>1.0.0</eelf.version>
123 <grpc.version>1.25.0</grpc.version>
124 <netty-ssl>2.0.40.Final</netty-ssl>
125 <protobuff.java.version>3.10.0</protobuff.java.version>
126 <protobuff.java.utils.version>3.10.0</protobuff.java.utils.version>
127 <jersey.version>2.33</jersey.version>
128 <jersey.client.version>2.33</jersey.client.version>
129 <jettison.version>1.3.8</jettison.version>
Dan Timoneya56665c2021-12-16 07:56:45 -0500130 <log4j.version>2.16.0</log4j.version>
131 <log4j2.version>2.16.0</log4j2.version>
Dan Timoneybc67c402021-08-05 10:46:18 -0400132 <logback.version>1.2.3</logback.version>
133 <mariadb.connector.version>2.7.3</mariadb.connector.version>
134 <mariadb4j.version>2.4.0</mariadb4j.version>
135 <slf4j.version>1.7.32</slf4j.version>
136 <springfox.version>3.0.0</springfox.version>
137 <testng.version>6.14.3</testng.version>
138 <tomcat-jdbc.version>9.0.50</tomcat-jdbc.version>
139 <dependency-list.file>direct-dependencies.txt</dependency-list.file>
140 </properties>
141
142 <dependencyManagement>
143 <dependencies>
144 <!-- Note: If value in BOM conflicts with value inherited from
145 parent pom, inherited value takes precedence. This seems more like
146 a bug than a feature, but this is how maven 3.6 works -->
147 <dependency>
148 <groupId>org.onap.ccsdk.parent</groupId>
149 <artifactId>dependencies-bom</artifactId>
Dan Timoney3e0f5ef2021-11-11 10:03:28 -0500150 <version>2.3.2-SNAPSHOT</version>
Dan Timoneybc67c402021-08-05 10:46:18 -0400151 <type>pom</type>
152 <scope>import</scope>
153 </dependency>
154 <dependency>
155 <groupId>com.fasterxml.jackson</groupId>
156 <artifactId>jackson-bom</artifactId>
157 <version>2.12.4</version>
158 <type>pom</type>
159 <scope>import</scope>
160 </dependency>
161 <dependency>
162 <groupId>org.onap.ccsdk.sli.core</groupId>
163 <artifactId>sli-common</artifactId>
164 <version>${ccsdk.sli.core.version}</version>
165 </dependency>
166 <dependency>
167 <groupId>org.onap.ccsdk.sli.core</groupId>
168 <artifactId>sli-provider</artifactId>
169 <version>${ccsdk.sli.core.version}</version>
170 </dependency>
171 <dependency>
172 <groupId>org.onap.ccsdk.sli.core</groupId>
173 <artifactId>ccsdk-sli</artifactId>
174 <version>${ccsdk.sli.core.version}</version>
175 <type>xml</type>
176 <classifier>features</classifier>
177 </dependency>
178 <dependency>
179 <groupId>org.onap.ccsdk.sli.core</groupId>
180 <artifactId>dblib-provider</artifactId>
181 <version>${ccsdk.sli.core.version}</version>
182 </dependency>
183 <dependency>
184 <groupId>org.onap.ccsdk.sli.adaptors</groupId>
185 <artifactId>aai-service-provider</artifactId>
186 <version>${ccsdk.sli.adaptors.version}</version>
187 </dependency>
188 <dependency>
189 <groupId>org.onap.logging-analytics</groupId>
190 <artifactId>logging-slf4j</artifactId>
191 <version>${logging-analytics.version}</version>
192 </dependency>
193 <dependency>
194 <groupId>org.onap.logging-analytics</groupId>
195 <artifactId>logging-filter-base</artifactId>
196 <version>${logging-analytics.version}</version>
197 </dependency>
Dan Timoney95395e82021-08-17 11:24:26 -0400198 <dependency>
199 <groupId>org.liquibase</groupId>
200 <artifactId>liquibase-core</artifactId>
201 <version>4.4.2-nordix</version>
202 </dependency>
Dan Timoneybc67c402021-08-05 10:46:18 -0400203 </dependencies>
204 </dependencyManagement>
205
206 <repositories>
207 <repository>
208 <id>onap-public</id>
209 <url>${onap.nexus.public-url}</url>
210 <releases>
211 <enabled>true</enabled>
212 <updatePolicy>never</updatePolicy>
213 </releases>
214 <snapshots>
215 <enabled>true</enabled>
216 <updatePolicy>always</updatePolicy>
217 </snapshots>
218 </repository>
219 <repository>
220 <id>onap-staging</id>
221 <url>${onap.nexus.staging-url}</url>
222 <releases>
223 <enabled>true</enabled>
224 <updatePolicy>never</updatePolicy>
225 </releases>
226 <snapshots>
227 <enabled>true</enabled>
228 <updatePolicy>always</updatePolicy>
229 </snapshots>
230 </repository>
231 <repository>
232 <id>ecomp-release</id>
233 <name>onap-repository-releases</name>
234 <url>${onap.nexus.release-url}</url>
235 <releases>
236 <enabled>true</enabled>
237 <updatePolicy>never</updatePolicy>
238 </releases>
239 <snapshots>
240 <enabled>false</enabled>
241 </snapshots>
242 </repository>
243 <repository>
244 <id>ecomp-snapshot</id>
245 <name>onap-repository-snapshots</name>
246 <url>${onap.nexus.snapshot-url}</url>
247 <releases>
248 <enabled>false</enabled>
249 </releases>
250 <snapshots>
251 <enabled>true</enabled>
252 </snapshots>
253 </repository>
Dan Timoney95395e82021-08-17 11:24:26 -0400254 <repository>
255 <id>nordix-liquibase-repo</id>
256 <name>liquibase</name>
257 <url>https://artifactory.nordix.org/artifactory/liquibase</url>
258 </repository>
Dan Timoneybc67c402021-08-05 10:46:18 -0400259 </repositories>
260
261 <pluginRepositories>
262 <pluginRepository>
263 <id>onap-public</id>
264 <url>${onap.nexus.public-url}</url>
265 <releases>
266 <enabled>true</enabled>
267 </releases>
268 <snapshots>
269 <enabled>true</enabled>
270 </snapshots>
271 </pluginRepository>
272 <pluginRepository>
273 <id>onap-staging</id>
274 <url>${onap.nexus.staging-url}</url>
275 <releases>
276 <enabled>true</enabled>
277 </releases>
278 <snapshots>
279 <enabled>true</enabled>
280 </snapshots>
281 </pluginRepository>
282 <pluginRepository>
283 <id>onap-snapshot</id>
284 <url>${onap.nexus.snapshot-url}</url>
285 <releases>
286 <enabled>false</enabled>
287 </releases>
288 <snapshots>
289 <enabled>true</enabled>
290 </snapshots>
291 </pluginRepository>
292 <!-- Black Duck plugin dependencies -->
293 <pluginRepository>
294 <id>JCenter</id>
295 <name>JCenter Repository</name>
296 <url>http://jcenter.bintray.com</url>
297 </pluginRepository>
298
299 <pluginRepository>
300 <id>Restlet</id>
301 <name>Restlet Repository</name>
302 <url>http://maven.restlet.com</url>
303 </pluginRepository>
304 </pluginRepositories>
305
306 <build>
307 <pluginManagement>
308 <plugins>
309 <!-- Plugins from ONAP oparent -->
310 <plugin>
311 <groupId>org.apache.maven.plugins</groupId>
312 <artifactId>maven-deploy-plugin</artifactId>
313 <!-- This version supports the "deployAtEnd" parameter -->
314 <version>2.8</version>
315 <configuration>
316 <skip/>
317 <deployAtEnd>true</deployAtEnd>
318 </configuration>
319 </plugin>
320 <plugin>
321 <groupId>org.apache.maven.plugins</groupId>
322 <artifactId>maven-site-plugin</artifactId>
323 <version>3.6</version>
324 <dependencies>
325 <dependency>
326 <groupId>org.apache.maven.wagon</groupId>
327 <artifactId>wagon-webdav-jackrabbit</artifactId>
328 <version>2.10</version>
329 </dependency>
330 <dependency>
331 <groupId>org.apache.maven.doxia</groupId>
332 <artifactId>doxia-core</artifactId>
333 <version>1.7</version>
334 </dependency>
335 <dependency>
336 <groupId>org.apache.maven.doxia</groupId>
337 <artifactId>doxia-sink-api</artifactId>
338 <version>1.7</version>
339 </dependency>
340 <dependency>
341 <groupId>org.apache.maven.doxia</groupId>
342 <artifactId>doxia-logging-api</artifactId>
343 <version>1.7</version>
344 </dependency>
345 </dependencies>
346 <executions>
347 <execution>
348 <id>attach-descriptor</id>
349 <goals>
350 <goal>attach-descriptor</goal>
351 </goals>
352 </execution>
353 </executions>
354 </plugin>
355 <plugin>
356 <groupId>org.apache.maven.plugins</groupId>
357 <artifactId>maven-checkstyle-plugin</artifactId>
358 <version>2.17</version>
359 <dependencies>
360 <dependency>
361 <groupId>org.onap.oparent</groupId>
362 <artifactId>checkstyle</artifactId>
363 <version>1.1.1</version>
364 </dependency>
365 </dependencies>
366 <executions>
367 <execution>
368 <id>check-license</id>
369 <goals>
370 <goal>check</goal>
371 </goals>
372 <phase>process-sources</phase>
373 <configuration>
374 <configLocation>onap-checkstyle/check-license.xml</configLocation>
375 <headerLocation>onap-checkstyle/apache-license-2.regexp.txt</headerLocation>
376 <includeResources>false</includeResources>
377 <includeTestSourceDirectory>true</includeTestSourceDirectory>
378 <includeTestResources>false</includeTestResources>
379 <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
380 <excludes>
381 </excludes>
382 <failsOnError>false</failsOnError>
383 <consoleOutput>true</consoleOutput>
384 </configuration>
385 </execution>
386 <execution>
387 <id>check-style</id>
388 <goals>
389 <goal>check</goal>
390 </goals>
391 <phase>process-sources</phase>
392 <configuration>
393 <!-- Use Google Java Style Guide: https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
394 with minor changes -->
395 <configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
396 <!-- <sourceDirectory> is needed so that checkstyle ignores the generated sources directory -->
397 <sourceDirectory>${project.build.sourceDirectory}/src/main/java</sourceDirectory>
398 <includeResources>true</includeResources>
399 <includeTestSourceDirectory>true</includeTestSourceDirectory>
400 <includeTestResources>true</includeTestResources>
401 <excludes>
402 </excludes>
403 <failsOnError>false</failsOnError>
404 <consoleOutput>true</consoleOutput>
405 </configuration>
406 </execution>
407 </executions>
408 </plugin>
409
410 <plugin>
411 <groupId>org.apache.maven.plugins</groupId>
412 <artifactId>maven-surefire-plugin</artifactId>
413 <version>2.19.1</version>
414 <configuration>
415 <!-- Sets the VM argument line used when unit tests are run. -->
416 <argLine>${surefireArgLine}</argLine>
417 <!-- Excludes integration tests when unit tests are run. -->
418 <excludes>
419 <exclude>**/IT*.java</exclude>
420 </excludes>
421 </configuration>
422 </plugin>
423 <plugin>
424 <groupId>org.apache.maven.plugins</groupId>
425 <artifactId>maven-failsafe-plugin</artifactId>
426 <version>2.19.1</version>
427 <executions>
428 <!-- Ensures that both integration-test and verify goals of the Failsafe Maven plugin are executed. -->
429 <execution>
430 <id>integration-tests</id>
431 <goals>
432 <goal>integration-test</goal>
433 <goal>verify</goal>
434 </goals>
435 <configuration>
436 <!-- Sets the VM argument line used when integration tests are run. -->
437 <argLine>${failsafeArgLine}</argLine>
438 </configuration>
439 </execution>
440 </executions>
441 </plugin>
442 <plugin>
443 <groupId>org.apache.maven.plugins</groupId>
444 <artifactId>maven-compiler-plugin</artifactId>
Dan Timoneya31feef2021-08-17 11:59:38 -0400445 <version>${maven-compiler-plugin.version}</version>
Dan Timoneybc67c402021-08-05 10:46:18 -0400446 <configuration>
Dan Timoneya31feef2021-08-17 11:59:38 -0400447 <release>${java.version}</release>
448 <!--explicitly remove source and target-->
449 <source combine.self="override"/>
450 <target combine.self="override"/>
Dan Timoneybc67c402021-08-05 10:46:18 -0400451 </configuration>
452 </plugin>
453 <plugin>
454 <groupId>org.sonarsource.scanner.maven</groupId>
455 <artifactId>sonar-maven-plugin</artifactId>
456 <version>3.6.0.1398</version>
457 </plugin>
458
459 <!-- End of plugins from ONAP oparent -->
460
461 <plugin>
462 <groupId>org.apache.maven.plugins</groupId>
463 <artifactId>maven-javadoc-plugin</artifactId>
464 <version>3.2.0</version>
465 <configuration>
466 <additionalDependencies>
467 <additionalDependency>
468 <groupId>org.slf4j</groupId>
469 <artifactId>slf4j-api</artifactId>
470 <version>${slf4j.version}</version>
471 </additionalDependency>
472 <additionalDependency>
473 <groupId>org.antlr</groupId>
474 <artifactId>antlr4</artifactId>
475 <version>${antlr.version}</version>
476 </additionalDependency>
477 <additionalDependency>
478 <groupId>org.antlr</groupId>
479 <artifactId>antlr4-runtime</artifactId>
480 <version>${antlr.version}</version>
481 </additionalDependency>
482 <additionalDependency>
483 <groupId>com.sun.jersey</groupId>
484 <artifactId>jersey-client</artifactId>
485 <version>${jersey.client.version}</version>
486 </additionalDependency>
487 <additionalDependency>
488 <groupId>com.sun.jersey</groupId>
489 <artifactId>jersey-core</artifactId>
490 <version>${jersey.version}</version>
491 </additionalDependency>
492 <additionalDependency>
493 <groupId>org.apache.httpcomponents</groupId>
494 <artifactId>httpcore-osgi</artifactId>
495 <version>${apache.httpcomponents.core.version}</version>
496 </additionalDependency>
497 <additionalDependency>
498 <groupId>org.apache.httpcomponents</groupId>
499 <artifactId>httpclient-osgi</artifactId>
500 <version>${apache.httpcomponents.client.version}</version>
501 </additionalDependency>
502 <additionalDependency>
503 <groupId>commons-lang</groupId>
504 <artifactId>commons-lang</artifactId>
505 <version>${commons.lang.version}</version>
506 </additionalDependency>
507 </additionalDependencies>
508 <failOnError>false</failOnError>
509 </configuration>
510 <executions>
511 <execution>
512 <id>aggregate</id>
513 <goals>
514 <goal>aggregate</goal>
515 </goals>
516 <phase>site</phase>
517 </execution>
518 </executions>
519 </plugin>
520 <plugin>
521 <groupId>com.github.ferstl</groupId>
522 <artifactId>depgraph-maven-plugin</artifactId>
523 <version>3.3.0</version>
524 <configuration>
525 <graphFormat>text</graphFormat>
526 <outputFileName>${dependency-list.file}</outputFileName>
527 <outputDirectory>${project.basedir}</outputDirectory>
528 <transitiveExcludes>*</transitiveExcludes>
529 <showVersions>true</showVersions>
530 <showGroupIds>true</showGroupIds>
531 </configuration>
532 </plugin>
533 </plugins>
534 </pluginManagement>
535 <plugins>
536 <!-- Plugins from ONAP oparent -->
537 <!-- Jacoco / Sonar -->
538 <plugin>
539 <groupId>org.jacoco</groupId>
540 <artifactId>jacoco-maven-plugin</artifactId>
541 <version>${jacoco.version}</version>
542 <executions>
543 <execution>
544 <id>pre-unit-test</id>
545 <goals>
546 <goal>prepare-agent</goal>
547 </goals>
548 <configuration>
549 <!-- Sets the path to the file which contains the execution data. -->
550 <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
551 <!-- Sets the name of the property containing the settings for JaCoCo runtime agent. -->
552 <propertyName>surefireArgLine</propertyName>
553 </configuration>
554 </execution>
555 <!-- Ensures that the code coverage report for unit tests is created after unit tests have been run. -->
556 <execution>
557 <id>post-unit-test</id>
558 <phase>test</phase>
559 <goals>
560 <goal>report</goal>
561 </goals>
562 <configuration>
563 <!-- Sets the path to the file which contains the execution data. -->
564 <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
565 <!-- Sets the output directory for the code coverage report. -->
566 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
567 </configuration>
568 </execution>
569 <execution>
570 <id>pre-integration-test</id>
571 <phase>pre-integration-test</phase>
572 <goals>
573 <goal>prepare-agent</goal>
574 </goals>
575 <configuration>
576 <!-- Sets the path to the file which contains the execution data. -->
577 <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
578 <!-- Sets the name of the property containing the settings for JaCoCo runtime agent. -->
579 <propertyName>failsafeArgLine</propertyName>
580 </configuration>
581 </execution>
582 <!-- Ensures that the code coverage report for integration tests after integration tests have been run. -->
583 <execution>
584 <id>post-integration-test</id>
585 <phase>post-integration-test</phase>
586 <goals>
587 <goal>report</goal>
588 </goals>
589 <configuration>
590 <!-- Sets the path to the file which contains the execution data. -->
591 <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
592 <!-- Sets the output directory for the code coverage report. -->
593 <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
594 </configuration>
595 </execution>
596 <execution>
597 <id>default-prepare-agent</id>
598 <goals>
599 <goal>prepare-agent</goal>
600 </goals>
601 </execution>
602 <execution>
603 <id>default-report</id>
604 <phase>prepare-package</phase>
605 <goals>
606 <goal>report</goal>
607 </goals>
608 </execution>
609 <execution>
610 <id>default-check</id>
611 <goals>
612 <goal>check</goal>
613 </goals>
614 <configuration>
615 <rules>
616 <rule>
617 <element>PACKAGE</element>
618 <limits>
619 <limit>
620 <counter>COMPLEXITY</counter>
621 <value>COVEREDRATIO</value>
622 <minimum>0.0</minimum>
623 </limit>
624 </limits>
625 </rule>
626 </rules>
627 </configuration>
628 </execution>
629 </executions>
630 </plugin>
631 <plugin>
632 <groupId>org.apache.maven.plugins</groupId>
633 <artifactId>maven-deploy-plugin</artifactId>
634 </plugin>
635 <plugin>
636 <groupId>org.apache.maven.plugins</groupId>
637 <artifactId>maven-checkstyle-plugin</artifactId>
638 </plugin>
639 <plugin>
640 <groupId>org.codehaus.mojo</groupId>
641 <artifactId>build-helper-maven-plugin</artifactId>
642 <version>1.12</version>
643 </plugin>
644 <!-- Jacoco / Sonar -->
645 <plugin>
646 <groupId>org.apache.maven.plugins</groupId>
647 <artifactId>maven-surefire-plugin</artifactId>
648 </plugin>
649 <plugin>
650 <groupId>org.apache.maven.plugins</groupId>
651 <artifactId>maven-failsafe-plugin</artifactId>
652 </plugin>
653
654 <!-- End of plugins from ONAP oparent -->
655 <plugin>
656 <groupId>org.codehaus.mojo</groupId>
657 <artifactId>properties-maven-plugin</artifactId>
658 <version>1.0.0</version>
659 <executions>
660 <execution>
661 <goals>
662 <goal>set-system-properties</goal>
663 </goals>
664 <configuration>
665 <properties>
666 <property>
667 <name>maven.wagon.http.ssl.allowall</name>
668 <value>${ssl.allowall}</value>
669 </property>
670 <property>
671 <name>maven.wagon.http.ssl.insecure</name>
672 <value>${ssl.insecure}</value>
673 </property>
674 </properties>
675 </configuration>
676 </execution>
677 </executions>
678 </plugin>
679 <plugin>
680 <groupId>org.codehaus.mojo</groupId>
681 <artifactId>versions-maven-plugin</artifactId>
682 <version>2.5</version>
683 <configuration>
684 <processAllModules>true</processAllModules>
685 </configuration>
686 </plugin>
687 <plugin>
688 <artifactId>maven-scm-plugin</artifactId>
689 <version>1.8.1</version>
690 <configuration>
691 <tag>${project.artifactId}-${project.version}</tag>
692 </configuration>
693 </plugin>
694 <plugin>
695 <groupId>pl.project13.maven</groupId>
696 <artifactId>git-commit-id-plugin</artifactId>
697 <version>4.0.0</version>
698 <configuration>
699 <commitIdGenerationMode>full</commitIdGenerationMode>
700 <includeOnlyProperties>
701 <includeOnlyProperty>^git.build.(time|version)$</includeOnlyProperty>
702 <includeOnlyProperty>^git.commit.id.(abbrev|full)$</includeOnlyProperty>
703 </includeOnlyProperties>
704 </configuration>
705 </plugin>
706 </plugins>
707 </build>
708
709 <reporting>
710 <plugins>
711 <plugin>
712 <artifactId>maven-javadoc-plugin</artifactId>
713 <version>2.10.4</version>
714 <configuration>
715 <failOnError>false</failOnError>
716 <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
717 <docletArtifact>
718 <groupId>org.umlgraph</groupId>
719 <artifactId>umlgraph</artifactId>
720 <version>5.6</version>
721 </docletArtifact>
722 <additionalparam>-views</additionalparam>
723 <useStandardDocletOptions>true</useStandardDocletOptions>
724 <excludePackageNames>org.opendaylight.*</excludePackageNames>
725 </configuration>
726 <reportSets>
727 <reportSet>
728 <reports>
729 <report>javadoc-no-fork</report>
730 <report>test-javadoc-no-fork</report>
731 </reports>
732 </reportSet>
733 <reportSet>
734 <id>aggregate</id>
735 <reports>
736 <report>aggregate</report>
737 <report>test-aggregate</report>
738 </reports>
739 </reportSet>
740 </reportSets>
741 </plugin>
742 <plugin>
743 <groupId>org.apache.maven.plugins</groupId>
744 <artifactId>maven-jxr-plugin</artifactId>
745 <version>2.3</version>
746 <reportSets>
747 <reportSet>
748 <id>aggregate</id>
749 <reports>
750 <report>aggregate</report>
751 <report>test-aggregate</report>
752 </reports>
753 </reportSet>
754 </reportSets>
755 </plugin>
756 <plugin>
757 <artifactId>maven-surefire-plugin</artifactId>
758 <version>2.17</version>
759 </plugin>
760 <plugin>
761 <groupId>org.apache.maven.plugins</groupId>
762 <artifactId>maven-changelog-plugin</artifactId>
763 <version>2.3</version>
764 <reportSets>
765 <reportSet>
766 <id>dual-report</id>
767 <configuration>
768 <type>range</type>
769 <range>30</range>
770 </configuration>
771 <reports>
772 <report>changelog</report>
773 <report>file-activity</report>
774 </reports>
775 </reportSet>
776 </reportSets>
777 </plugin>
778 <plugin>
779 <groupId>org.codehaus.mojo</groupId>
780 <artifactId>taglist-maven-plugin</artifactId>
781 <version>2.4</version>
782 </plugin>
783 </plugins>
784 </reporting>
785
786 <profiles>
787 <!-- Profiles from ONAP oparent -->
788 <profile>
789 <id>generate-json</id>
790 <activation>
791 <file>
792 <exists>${swagger-properties}</exists>
793 </file>
794 <property>
795 <name>swagger-sdk.generate-json</name>
796 </property>
797 </activation>
798 <build>
799 <plugins>
800 <plugin>
801 <groupId>org.codehaus.mojo</groupId>
802 <artifactId>properties-maven-plugin</artifactId>
803 <version>1.0.0</version>
804 <executions>
805 <execution>
806 <phase>initialize</phase>
807 <goals>
808 <goal>read-project-properties</goal>
809 </goals>
810 <configuration>
811 <files>
812 <file>${basedir}/src/main/resources/swagger.properties</file>
813 </files>
814 </configuration>
815 </execution>
816 </executions>
817 </plugin>
818 <plugin>
819 <groupId>com.github.kongchen</groupId>
820 <artifactId>swagger-maven-plugin</artifactId>
821 <version>3.1.4</version>
822 <configuration>
823 <apiSources>
824 <apiSource>
825 <locations>${api-rest-package}</locations>
826 <schemes>http,https</schemes>
827 <host>${api-host-ip}:${api-host-port}</host>
828 <basePath>${api-base-path}</basePath>
829 <info>
830 <title>${api-title}</title>
831 <version>${api-version}</version>
832 <description>${api-description}</description>
833 <license>
834 <name>${api-license}</name>
835 </license>
836 </info>
837 <swaggerDirectory>${basedir}/src/main/resources</swaggerDirectory>
838 </apiSource>
839 </apiSources>
840 </configuration>
841 <executions>
842 <execution>
843 <phase>compile</phase>
844 <goals>
845 <goal>generate</goal>
846 </goals>
847 </execution>
848 </executions>
849 </plugin>
850 <plugin>
851 <groupId>org.apache.maven.plugins</groupId>
852 <artifactId>maven-install-plugin</artifactId>
853 <version>2.3.1</version>
854 <executions>
855 <execution>
856 <id>install-file-id</id>
857 <phase>install</phase>
858 <goals>
859 <goal>install-file</goal>
860 </goals>
861 <configuration>
862 <file>${basedir}/src/main/resources/swagger.json</file>
863 <groupId>${project.groupId}</groupId>
864 <artifactId>${project.artifactId}-swagger-schema</artifactId>
865 <version>${project.version}</version>
866 <packaging>json</packaging>
867 </configuration>
868 </execution>
869 </executions>
870 </plugin>
871 </plugins>
872 </build>
873 </profile>
874 <profile>
875 <id>generate-sdk</id>
876 <activation>
877 <file>
878 <exists>${swagger-json}</exists>
879 </file>
880 <property>
881 <name>swagger-sdk.generate-java-sdk</name>
882 </property>
883 </activation>
884 <build>
885 <plugins>
886 <plugin>
887 <groupId>org.apache.maven.plugins</groupId>
888 <artifactId>maven-antrun-plugin</artifactId>
889 <version>1.8</version>
890 <executions>
891 <execution>
892 <phase>initialize</phase>
893 <id>ant-create-script</id>
894 <configuration>
895 <exportAntProperties>true</exportAntProperties>
896 <tasks>
897 <taskdef resource="net/sf/antcontrib/antlib.xml" classpathref="maven.plugin.classpath"/>
898 <condition property="is_windows" value="true">
899 <os family="windows"/>
900 </condition>
901 <condition property="isLinux" value="true">
902 <os family="unix"/>
903 </condition>
904 <if>
905 <equals arg1="${is_windows}" arg2="true"/>
906 <then>
907 <property name="swagger.sdk.script.file" value="generated-source-script.bat"/>
908 <echo file="${project.build.directory}${file.separator}generated-source-script.bat" append="true" message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
909 <echo file="${project.build.directory}${file.separator}generated-source-script.bat" append="true" message="mvn clean install -Dmaven.test.skip=true${line.separator}"/>
910 </then>
911 <else>
912 <property name="swagger.sdk.script.file" value="generated-source-script.sh"/>
913 <echo file="${project.build.directory}${file.separator}generated-source-script.sh" append="true" message="cd ${project.build.directory}${file.separator}generated-sources${line.separator}"/>
914 <echo file="${project.build.directory}${file.separator}generated-source-script.sh" append="true" message="mvn clean install -Dmaven.test.skip=true${line.separator}"/>
915 <chmod file="${project.build.directory}${file.separator}generated-source-script.sh" perm="755"/>
916 </else>
917 </if>
918 </tasks>
919 </configuration>
920 <goals>
921 <goal>run</goal>
922 </goals>
923 </execution>
924 </executions>
925 <dependencies>
926 <dependency>
927 <groupId>ant-contrib</groupId>
928 <artifactId>ant-contrib</artifactId>
929 <version>1.0b3</version>
930 <exclusions>
931 <exclusion>
932 <groupId>ant</groupId>
933 <artifactId>ant</artifactId>
934 </exclusion>
935 </exclusions>
936 </dependency>
937 </dependencies>
938 </plugin>
939 <plugin>
940 <groupId>io.swagger</groupId>
941 <artifactId>swagger-codegen-maven-plugin</artifactId>
942 <version>2.2.1</version>
943 <executions>
944 <execution>
945 <goals>
946 <goal>generate</goal>
947 </goals>
948 <configuration>
949 <inputSpec>${basedir}/src/main/resources/swagger.json</inputSpec>
950 <output>${project.build.directory}/generated-sources</output>
951 <language>java</language>
952 <configOptions>
953 <dateLibrary>joda</dateLibrary>
954 </configOptions>
955 <library>jersey2</library>
956 <groupId>${project.groupId}</groupId>
957 <artifactId>${project.artifactId}-java-sdk</artifactId>
958 <artifactVersion>${project.version}</artifactVersion>
959 <modelPackage>${project.groupId}.${project.artifactId}.client.model</modelPackage>
960 <apiPackage>${project.groupId}.${project.artifactId}.client.api</apiPackage>
961 <invokerPackage>${project.groupId}.${project.artifactId}.client.invoker</invokerPackage>
962 </configuration>
963 </execution>
964 </executions>
965 </plugin>
966 <plugin>
967 <groupId>org.codehaus.mojo</groupId>
968 <artifactId>exec-maven-plugin</artifactId>
969 <version>1.5.0</version>
970 <executions>
971 <execution>
972 <id>swagger-generate-sources</id>
973 <phase>generate-sources</phase>
974 <goals>
975 <goal>exec</goal>
976 </goals>
977 <configuration>
978 <executable>${project.build.directory}${file.separator}${swagger.sdk.script.file}</executable>
979 </configuration>
980 </execution>
981 </executions>
982 </plugin>
983 <plugin>
984 <groupId>org.apache.maven.plugins</groupId>
985 <artifactId>maven-clean-plugin</artifactId>
986 <version>3.0.0</version>
987 <executions>
988 <execution>
989 <id>clean-generated-files</id>
990 <phase>generate-sources</phase>
991 <goals>
992 <goal>clean</goal>
993 </goals>
994 <configuration>
995 <filesets>
996 <fileset>
997 <directory>${project.build.directory}/generated-sources</directory>
998 </fileset>
999 </filesets>
1000 </configuration>
1001 </execution>
1002 </executions>
1003 </plugin>
1004 </plugins>
1005 </build>
1006 <dependencies>
1007 <dependency>
1008 <groupId>org.onap.msb.swagger-sdk</groupId>
1009 <artifactId>swagger-sdk</artifactId>
1010 <version>1.0.0</version>
1011 </dependency>
1012 </dependencies>
1013 </profile>
1014 <profile>
1015 <!-- http://blog2.vorburger.ch/2016/06/improve-maven-build-speed-with-q.html
1016 q = http://memory-alpha.wikia.com/wiki/Q ;)
1017
1018 The Quick profile is used during incremental local development, when you want to "just get that JAR built",
1019 which is very handy e.g. for fast hot reloading cycles in Karaf with bundle watch. It (intentionally!) skips
1020 tests, quality checks etc. which are great and useful to run before finally submitting changes to Gerrit, and
1021 which all must run on Gerrit, but which are overhead during ongoing fast iterative local development.
1022
1023 Note that the idea here is that your IDE will already have run quality checks such as e.g. Checkstyle
1024 while you typed the code anyway. Similarly, if you wrote a test, you'll probably already have compiled and run it
1025 from your IDE, so when you want the OSGi bundle JAR for Karaf, ASAP, you typically don't want all that to run again.
1026 -->
1027 <id>q</id>
1028 <properties>
1029 <skipTests>true</skipTests>
1030 <skipPush>true</skipPush>
1031 <docker.skip.push>true</docker.skip.push>
1032 <!-- But NOT <maven.test.skip>true, as that's for compiling, not running, tests;
1033 and that's usually quick. Skipping test compilation with -Pq with maven.test.skip would be
1034 particularly confusing when used in a project with maven-jar-plugin <goal>test-jar, so don't.) -->
1035 <skipIT>true</skipIT>
1036 <skipITs>true</skipITs>
1037 <skip.karaf.featureTest>true</skip.karaf.featureTest>
1038 <jacoco.skip>true</jacoco.skip>
1039 <maven.javadoc.skip>true</maven.javadoc.skip>
1040 <maven.source.skip>true</maven.source.skip>
1041 <checkstyle.skip>true</checkstyle.skip>
1042 <findbugs.skip>true</findbugs.skip>
1043 <spotbugs.skip>true</spotbugs.skip>
1044 <pmd.skip>true</pmd.skip>
1045 <cpd.skip>true</cpd.skip>
1046 <maven.site.skip>true</maven.site.skip>
1047 <invoker.skip>true</invoker.skip>
1048 <enforcer.skip>true</enforcer.skip>
1049 <duplicate-finder.skip>true</duplicate-finder.skip>
1050 <mdsal.skip.verbose>true</mdsal.skip.verbose> <!-- Bug 6236 -->
1051 <maven.gitcommitid.skip>true</maven.gitcommitid.skip>
1052 <modernizer.skip>true</modernizer.skip>
1053 <format.skipExecute>true</format.skipExecute>
1054 <format.skipValidate>true</format.skipValidate>
1055 </properties>
1056 </profile>
1057 <profile>
1058 <id>sonar-jacoco-aggregate</id>
1059 <activation>
1060 <property>
1061 <name>onap.jacoco.aggregateFile</name>
1062 </property>
1063 </activation>
1064 <build>
1065 <plugins>
1066 <plugin>
1067 <groupId>org.jacoco</groupId>
1068 <artifactId>jacoco-maven-plugin</artifactId>
1069 <executions>
1070 <execution>
1071 <id>merge</id>
1072 <goals>
1073 <goal>merge</goal>
1074 </goals>
1075 <phase>generate-resources</phase>
1076 <configuration>
1077 <destFile>${onap.jacoco.aggregateFile}</destFile>
1078 <fileSets>
1079 <fileSet>
1080 <directory>${project.basedir}</directory>
1081 <includes>
1082 <include>**/target/code-coverage/*.exec</include>
1083 </includes>
1084 </fileSet>
1085 </fileSets>
1086 </configuration>
1087 </execution>
1088 </executions>
1089 </plugin>
1090 </plugins>
1091 </build>
1092 </profile>
1093 <!-- End of profiles from ONAP oparent -->
1094 </profiles>
1095</project>