1 <?xml version="1.0" encoding="UTF-8"?>
3 ~ ================================================================================
4 ~ Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved.
5 ~ Copyright (c) 2021 Samsung Electronics. All rights reserved.
6 ~ ================================================================================
7 ~ Licensed under the Apache License, Version 2.0 (the "License");
8 ~ you may not use this file except in compliance with the License.
9 ~ You may obtain a copy of the License at
11 ~ http://www.apache.org/licenses/LICENSE-2.0
13 ~ Unless required by applicable law or agreed to in writing, software
14 ~ distributed under the License is distributed on an "AS IS" BASIS,
15 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 ~ See the License for the specific language governing permissions and
17 ~ limitations under the License.
18 ~ ============LICENSE_END=========================================================
22 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23 xmlns="http://maven.apache.org/POM/4.0.0"
24 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
26 <modelVersion>4.0.0</modelVersion>
29 <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
30 <artifactId>tca-gen2-parent</artifactId>
31 <version>1.3.0-SNAPSHOT</version>
34 <artifactId>dcae-analytics</artifactId>
35 <packaging>pom</packaging>
37 <name>DCAE Analytics Parent</name>
38 <description>Parent project for all DCAE Analytics Applications</description>
42 <module>dcae-analytics-test</module>
43 <module>dcae-analytics-model</module>
44 <module>dcae-analytics-tca-model</module>
45 <module>dcae-analytics-tca-core</module>
46 <module>dcae-analytics-web</module>
47 <module>dcae-analytics-tca-web</module>
52 <!-- PROJECT SETTINGS -->
53 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
54 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
55 <main.basedir>${project.basedir}</main.basedir>
57 <!-- DEPENDENCIES VERSION -->
58 <eelf.logger.version>1.0.1-SNAPSHOT</eelf.logger.version>
59 <spring.boot.version>2.0.9.RELEASE</spring.boot.version>
60 <spring.cloud.version>Finchley.RC2</spring.cloud.version>
61 <spring.version>5.0.11.RELEASE</spring.version>
62 <commons.text.version>1.4</commons.text.version>
63 <springfox-swagger2.version>3.0.0</springfox-swagger2.version>
64 <findbugs.jsr305.version>3.0.2</findbugs.jsr305.version>
65 <findbugs.annotations.version>3.0.1</findbugs.annotations.version>
67 <!-- TEST DEPENDENCIES -->
68 <junit-jupiter.version>5.6.2</junit-jupiter.version>
69 <junit-platform.version>1.6.2</junit-platform.version>
70 <apiguardian-api.version>1.0.0</apiguardian-api.version>
73 <surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile>
74 <!-- PLUGINS VERSIONS -->
75 <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
76 <maven-jar-plugin.version>3.0.2</maven-jar-plugin.version>
77 <maven-assembly-plugin.version>3.1.0</maven-assembly-plugin.version>
78 <maven-javadoc-plugin.version>3.0.0</maven-javadoc-plugin.version>
79 <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
80 <maven-failsafe-plugin.version>2.22.2</maven-failsafe-plugin.version>
81 <maven-source-plugin.version>3.0.1</maven-source-plugin.version>
82 <maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
83 <jacoco.plugin.version>0.8.1</jacoco.plugin.version>
84 <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml
85 </sonar.coverage.jacoco.xmlReportPaths>
86 <pmd.plugin.version>3.11.0</pmd.plugin.version>
87 <checkstyle.plugin.version>2.17</checkstyle.plugin.version>
88 <lombok.plugin.version>1.18.0.0</lombok.plugin.version>
89 <gitcommitid.plugin.version>2.2.3</gitcommitid.plugin.version>
90 <maven.build.helper.plugin.version>3.0.0</maven.build.helper.plugin.version>
91 <docker-maven-version>1.0.0</docker-maven-version>
93 <!--PLUGIN SETTINGS -->
94 <compiler.source.version>11</compiler.source.version>
95 <compiler.target.version>11</compiler.target.version>
96 <unit.test.pattern>**/*Test.java</unit.test.pattern>
97 <skip.unit.tests>false</skip.unit.tests>
98 <integration.test.pattern>**/*IT.java</integration.test.pattern>
99 <skip.integration.tests>false</skip.integration.tests>
100 <pmd.violation.buildfail>true</pmd.violation.buildfail>
101 <findbugs.failOnError>true</findbugs.failOnError>
102 <checkstyle.failOnViolation>false</checkstyle.failOnViolation>
103 <checkstyle.file.name>checkstyle.xml</checkstyle.file.name>
104 <checkstyle.suppression.file.name>checkstyle-suppressions.xml</checkstyle.suppression.file.name>
107 <dependency.locations.enabled>false</dependency.locations.enabled>
108 <nexusproxy>https://nexus.onap.org</nexusproxy>
109 <snapshots.path>content/repositories/snapshots/</snapshots.path>
110 <releases.path>content/repositories/releases/</releases.path>
111 <docker.repository>nexus3.onap.org:10003</docker.repository>
112 <jackson.version>2.11.0</jackson.version>
113 <undertow.version>2.2.2.Final</undertow.version>
114 <spring-webflux.version>5.2.7.RELEASE</spring-webflux.version>
116 <!-- SONAR EXCLUSIONS -->
117 <!-- EXCLUDE TEST COVERAGE ON
118 TEST PACKAGES - USED FOR TESTING - NOT FOR DEPLOYMENT
119 MODEL PACKAGES - MODELS ONLY CONTAINS POJOs AND NO BUSINESS LOGIC,
120 CONFIG PACKAGE - CONTAINS WIRINGS OF SPRING BEANS,
121 EXCEPTIONS PACKAGE - CONTAINS CUSTOM EXCEPTIONS - NO BUSINESS LOGIC,
122 PREFERENCES CLASSES - JUST POJOS
123 CONTEXTS CLASSES - JUST POJOS
124 ENTITY CLASSES - JUST POJOS
126 <sonar.coverage.exclusions>**/test/**,**/model/**,**/config/**,**/exception/**,**/*Preferences.java,**/*Context*.java,**/*Entity.java</sonar.coverage.exclusions>
132 <dependencyManagement>
136 <!-- PROJECT DEPENDENCIES -->
138 <groupId>${project.groupId}</groupId>
139 <artifactId>dcae-analytics-test</artifactId>
140 <version>${project.version}</version>
145 <groupId>${project.groupId}</groupId>
146 <artifactId>dcae-analytics-model</artifactId>
147 <version>${project.version}</version>
151 <groupId>${project.groupId}</groupId>
152 <artifactId>dcae-analytics-web</artifactId>
153 <version>${project.version}</version>
157 <groupId>${project.groupId}</groupId>
158 <artifactId>dcae-analytics-tca-model</artifactId>
159 <version>${project.version}</version>
163 <groupId>${project.groupId}</groupId>
164 <artifactId>dcae-analytics-tca-core</artifactId>
165 <version>${project.version}</version>
170 <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
171 <artifactId>eelf-logger-logback-impl</artifactId>
172 <version>${project.version}</version>
177 <groupId>org.apache.commons</groupId>
178 <artifactId>commons-text</artifactId>
179 <version>${commons.text.version}</version>
182 <!-- REST API SWAGGER -->
184 <groupId>io.springfox</groupId>
185 <artifactId>springfox-swagger2</artifactId>
186 <version>${springfox-swagger2.version}</version>
189 <groupId>io.springfox</groupId>
190 <artifactId>springfox-swagger-ui</artifactId>
191 <version>${springfox-swagger2.version}</version>
194 <groupId>org.springframework.plugin</groupId>
195 <artifactId>spring-plugin-core</artifactId>
196 <version>2.0.0.RELEASE</version>
199 <groupId>org.springframework.plugin</groupId>
200 <artifactId>spring-plugin-metadata</artifactId>
201 <version>2.0.0.RELEASE</version>
206 <groupId>com.google.code.findbugs</groupId>
207 <artifactId>jsr305</artifactId>
208 <version>${findbugs.jsr305.version}</version>
209 <scope>provided</scope>
212 <groupId>com.google.code.findbugs</groupId>
213 <artifactId>annotations</artifactId>
214 <version>${findbugs.annotations.version}</version>
215 <scope>provided</scope>
218 <!-- JUNIT 5 DEPENDENCIES -->
220 <groupId>org.junit.jupiter</groupId>
221 <artifactId>junit-jupiter-api</artifactId>
222 <version>${junit-jupiter.version}</version>
226 <groupId>org.junit.jupiter</groupId>
227 <artifactId>junit-jupiter-engine</artifactId>
228 <version>${junit-jupiter.version}</version>
232 <groupId>org.junit.jupiter</groupId>
233 <artifactId>junit-jupiter-params</artifactId>
234 <version>${junit-jupiter.version}</version>
238 <groupId>junit</groupId>
239 <artifactId>junit</artifactId>
240 <version>4.13</version>
244 <groupId>org.junit.vintage</groupId>
245 <artifactId>junit-vintage-engine</artifactId>
246 <version>5.6.2</version>
250 <groupId>org.junit.platform</groupId>
251 <artifactId>junit-platform-engine</artifactId>
252 <version>1.6.2</version>
256 <groupId>org.junit.platform</groupId>
257 <artifactId>junit-platform-launcher</artifactId>
258 <version>1.6.2</version>
262 <groupId>org.apiguardian</groupId>
263 <artifactId>apiguardian-api</artifactId>
264 <version>${apiguardian-api.version}</version>
268 <!-- IMPORT DEPENDENCY MANAGEMENT FROM SPRING BOOT -->
270 <groupId>org.springframework.boot</groupId>
271 <artifactId>spring-boot-dependencies</artifactId>
272 <version>${spring.boot.version}</version>
275 <groupId>org.springframework</groupId>
276 <artifactId>spring-web</artifactId>
279 <groupId>org.springframework.boot</groupId>
280 <artifactId>spring-boot-starter-test</artifactId>
283 <groupId>org.mockito</groupId>
284 <artifactId>mockito-core</artifactId>
287 <groupId>io.undertow</groupId>
288 <artifactId>undertow-core</artifactId>
291 <groupId>org.springframework</groupId>
292 <artifactId>spring-webflux</artifactId>
295 <groupId>com.fasterxml.jackson.core</groupId>
296 <artifactId>jackson-databind</artifactId>
299 <groupId>com.fasterxml.jackson.core</groupId>
300 <artifactId>jackson-core</artifactId>
303 <groupId>com.fasterxml.jackson.dataformat</groupId>
304 <artifactId>jackson-dataformat-smile</artifactId>
308 <scope>import</scope>
310 <!-- IMPORT DEPENDENCY MANAGEMENT FROM SPRING CLOUD -->
312 <groupId>org.springframework.cloud</groupId>
313 <artifactId>spring-cloud-dependencies</artifactId>
314 <version>${spring.cloud.version}</version>
316 <scope>import</scope>
319 <groupId>org.springframework</groupId>
320 <artifactId>spring-webflux</artifactId>
321 <version>${spring-webflux.version}</version>
324 <groupId>org.springframework</groupId>
325 <artifactId>spring-web</artifactId>
326 <version>${spring.version}</version>
329 <groupId>org.springframework.boot</groupId>
330 <artifactId>spring-boot-starter-test</artifactId>
331 <version>2.2.0.RELEASE</version>
334 <groupId>org.mockito</groupId>
335 <artifactId>mockito-core</artifactId>
336 <version>2.23.4</version>
339 <groupId>io.undertow</groupId>
340 <artifactId>undertow-core</artifactId>
341 <version>${undertow.version}</version>
344 <groupId>com.fasterxml.jackson.core</groupId>
345 <artifactId>jackson-databind</artifactId>
346 <version>${jackson.version}</version>
349 <groupId>com.fasterxml.jackson.core</groupId>
350 <artifactId>jackson-core</artifactId>
351 <version>${jackson.version}</version>
354 <groupId>com.fasterxml.jackson.dataformat</groupId>
355 <artifactId>jackson-dataformat-smile</artifactId>
356 <version>${jackson.version}</version>
360 </dependencyManagement>
368 <!-- COMPILER PLUGIN -->
370 <groupId>org.apache.maven.plugins</groupId>
371 <artifactId>maven-compiler-plugin</artifactId>
372 <version>${maven-compiler-plugin.version}</version>
376 <meminitial>256m</meminitial>
377 <maxmem>1024m</maxmem>
378 <source>${compiler.target.version}</source>
379 <target>${compiler.source.version}</target>
380 <showWarnings>true</showWarnings>
381 <showDeprecation>true</showDeprecation>
385 <!-- MAVEN SOURCE PLUGIN -->
387 <groupId>org.apache.maven.plugins</groupId>
388 <artifactId>maven-source-plugin</artifactId>
389 <version>${maven-source-plugin.version}</version>
391 <excludeResources>true</excludeResources>
395 <id>attach-sources</id>
396 <phase>verify</phase>
398 <goal>jar-no-fork</goal>
404 <!-- MAVEN JAVADOC PLUGIN -->
406 <groupId>org.apache.maven.plugins</groupId>
407 <artifactId>maven-javadoc-plugin</artifactId>
408 <version>${maven-javadoc-plugin.version}</version>
410 <!-- minimize console output messages -->
412 <verbose>false</verbose>
413 <useStandardDocletOptions>false</useStandardDocletOptions>
420 <goal>aggregate</goal>
424 <id>attach-javadoc</id>
432 <!-- MAVEN DEPLOY PLUGIN -->
434 <artifactId>maven-deploy-plugin</artifactId>
435 <version>${maven-deploy-plugin.version}</version>
437 <deployAtEnd>true</deployAtEnd>
441 <!-- SUREFIRE TEST PLUGIN -->
443 <groupId>org.apache.maven.plugins</groupId>
444 <artifactId>maven-surefire-plugin</artifactId>
445 <version>${maven-surefire-plugin.version}</version>
447 <skipTests>${skip.unit.tests}</skipTests>
448 <argLine>-Xmx2048m -Djava.awt.headless=true
449 -XX:+UseConcMarkSweepGC
450 -XX:OnOutOfMemoryError="kill -9 %p" -XX:+HeapDumpOnOutOfMemoryError ${surefireArgLine}
452 <redirectTestOutputToFile>${surefire.redirectTestOutputToFile}</redirectTestOutputToFile>
453 <parallel>classesAndMethods</parallel>
454 <threadCount>4</threadCount>
455 <forkCount>4</forkCount>
456 <reuseForks>false</reuseForks>
457 <reportFormat>xml</reportFormat>
458 <trimStackTrace>false</trimStackTrace>
459 <systemPropertyVariables>
460 <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
461 <logback.configurationFile>
462 ${basedir}/src/test/resources/logback-test.xml
463 </logback.configurationFile>
464 <logging.config>classpath:logback-test.xml</logging.config>
465 </systemPropertyVariables>
467 <include>${unit.test.pattern}</include>
470 <exclude>${integration.test.pattern}</exclude>
475 <!-- FAIL SAFE PLUGIN FOR INTEGRATION TEST -->
477 <groupId>org.apache.maven.plugins</groupId>
478 <artifactId>maven-failsafe-plugin</artifactId>
479 <version>${maven-failsafe-plugin.version}</version>
482 <id>integration-tests</id>
484 <goal>integration-test</goal>
488 <argLine>${failsafeArgLine}</argLine>
489 <redirectTestOutputToFile>true</redirectTestOutputToFile>
490 <skipTests>${skip.integration.tests}</skipTests>
492 <include>${integration.test.pattern}</include>
495 <exclude>${unit.test.pattern}</exclude>
497 <systemPropertyVariables>
498 <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
499 <logging.config>classpath:logback-test.xml</logging.config>
500 </systemPropertyVariables>
506 <!-- PMD PLUGIN SETUP -->
508 <groupId>org.apache.maven.plugins</groupId>
509 <artifactId>maven-pmd-plugin</artifactId>
510 <version>${pmd.plugin.version}</version>
512 <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
513 <targetJdk>${compiler.target.version}</targetJdk>
514 <linkXRef>false</linkXRef>
516 <exclude>**/*Mixin.java</exclude>
518 <!-- BUILD FAIL ON PMD VIOLATION -->
519 <failOnViolation>${pmd.violation.buildfail}</failOnViolation>
520 <targetDirectory>${project.reporting.outputDirectory}/pmd</targetDirectory>
529 <printFailingErrors>true</printFailingErrors>
530 <excludeFromFailureFile>${main.basedir}/pmd-exclude.properties</excludeFromFailureFile>
536 <goal>cpd-check</goal>
539 <printFailingErrors>true</printFailingErrors>
540 <excludeFromFailureFile>${main.basedir}/cpd-exclude.properties</excludeFromFailureFile>
546 <!-- CHECKSTYLE PLUGIN -->
548 <groupId>org.apache.maven.plugins</groupId>
549 <artifactId>maven-checkstyle-plugin</artifactId>
550 <version>${checkstyle.plugin.version}</version>
554 <phase>validate</phase>
557 <configLocation>${checkstyle.file.name}</configLocation>
558 <suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
559 <encoding>UTF-8</encoding>
560 <consoleOutput>true</consoleOutput>
561 <!-- BUILD FAIL ON CHECKSTYLE VIOLATION -->
562 <failOnViolation>${checkstyle.failOnViolation}</failOnViolation>
563 <includeTestSourceDirectory>true</includeTestSourceDirectory>
564 <outputFile>${project.reporting.outputDirectory}/checkstyle</outputFile>
573 <groupId>com.puppycrawl.tools</groupId>
574 <artifactId>checkstyle</artifactId>
575 <version>6.19</version>
580 <!-- LOMBOK PLUGIN -->
582 <groupId>org.projectlombok</groupId>
583 <artifactId>lombok-maven-plugin</artifactId>
584 <version>${lombok.plugin.version}</version>
588 <phase>generate-sources</phase>
590 <goal>delombok</goal>
593 <addOutputDirectory>false</addOutputDirectory>
594 <sourceDirectory>src/main/java</sourceDirectory>
600 <!-- GIT COMMIT ID PLUGIN -->
602 <groupId>pl.project13.maven</groupId>
603 <artifactId>git-commit-id-plugin</artifactId>
604 <version>${gitcommitid.plugin.version}</version>
607 <id>generate-git-properties</id>
608 <phase>generate-resources</phase>
610 <goal>revision</goal>
613 <failOnNoGitDirectory>false</failOnNoGitDirectory>
614 <generateGitPropertiesFile>true</generateGitPropertiesFile>
615 <generateGitPropertiesFilename>
616 ${project.build.directory}/git/git.properties
617 </generateGitPropertiesFilename>
625 <groupId>org.apache.maven.plugins</groupId>
626 <artifactId>maven-jar-plugin</artifactId>
627 <version>${maven-jar-plugin.version}</version>
631 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
634 <Implementation-Build-Version>${project.version}</Implementation-Build-Version>
641 <!-- ASSEMBLY PLUGIN -->
643 <groupId>org.apache.maven.plugins</groupId>
644 <artifactId>maven-assembly-plugin</artifactId>
645 <version>${maven-assembly-plugin.version}</version>
648 <descriptor>${main.basedir}/assembly/cdp-assembly-descriptor.xml</descriptor>
653 <id>cdp-assembly</id>
654 <phase>package</phase>
662 <!-- BUILD HELPER PLUGIN -->
664 <groupId>org.codehaus.mojo</groupId>
665 <artifactId>build-helper-maven-plugin</artifactId>
666 <version>${maven.build.helper.plugin.version}</version>
669 <!-- SPRING BOOT PLUGIN -->
671 <groupId>org.springframework.boot</groupId>
672 <artifactId>spring-boot-maven-plugin</artifactId>
673 <version>${spring.boot.version}</version>
678 <goal>build-info</goal>
682 <id>spring-boot-uber-jar</id>
684 <goal>repackage</goal>
690 <!-- DOCKER PLUGIN -->
691 <!-- <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId>
692 <version>${docker-maven-version}</version> <configuration> <repository>${docker.repository}/onap/${project.groupId}.${project.artifactId}</repository>
693 <tag>${project.version}</tag> </configuration> </plugin> -->
703 <groupId>org.apache.maven.plugins</groupId>
704 <artifactId>maven-compiler-plugin</artifactId>
708 <groupId>org.apache.maven.plugins</groupId>
709 <artifactId>maven-jar-plugin</artifactId>
713 <groupId>org.apache.maven.plugins</groupId>
714 <artifactId>maven-surefire-plugin</artifactId>
718 <groupId>org.apache.maven.plugins</groupId>
719 <artifactId>maven-failsafe-plugin</artifactId>
723 <groupId>org.apache.maven.plugins</groupId>
724 <artifactId>maven-source-plugin</artifactId>
728 <groupId>org.apache.maven.plugins</groupId>
729 <artifactId>maven-javadoc-plugin</artifactId>
733 <groupId>org.apache.maven.plugins</groupId>
734 <artifactId>maven-deploy-plugin</artifactId>
738 <groupId>org.apache.maven.plugins</groupId>
739 <artifactId>maven-pmd-plugin</artifactId>
743 <groupId>org.apache.maven.plugins</groupId>
744 <artifactId>maven-checkstyle-plugin</artifactId>
748 <groupId>org.jacoco</groupId>
749 <artifactId>jacoco-maven-plugin</artifactId>