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