1 <?xml version="1.0" encoding="UTF-8"?>
3 ~ ============LICENSE_START=======================================================
5 ~ ================================================================================
6 ~ Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved.
7 ~ Copyright (c) 2021 Samsung Electronics. All rights reserved.
8 ~ Copyright (c) 2021 China Mobile Property. All rights reserved.
9 ~ Copyright (c) 2022 Wipro Limited.
10 ~ ================================================================================
11 ~ Licensed under the Apache License, Version 2.0 (the "License");
12 ~ you may not use this file except in compliance with the License.
13 ~ You may obtain a copy of the License at
15 ~ http://www.apache.org/licenses/LICENSE-2.0
17 ~ Unless required by applicable law or agreed to in writing, software
18 ~ distributed under the License is distributed on an "AS IS" BASIS,
19 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20 ~ See the License for the specific language governing permissions and
21 ~ limitations under the License.
22 ~ ============LICENSE_END=========================================================
26 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
27 xmlns="http://maven.apache.org/POM/4.0.0"
28 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
30 <modelVersion>4.0.0</modelVersion>
33 <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
34 <artifactId>tca-gen2-parent</artifactId>
35 <version>${revision}</version>
38 <artifactId>dcae-analytics</artifactId>
39 <packaging>pom</packaging>
41 <name>DCAE Analytics Parent</name>
42 <description>Parent project for all DCAE Analytics Applications</description>
46 <module>dcae-analytics-test</module>
47 <module>dcae-analytics-model</module>
48 <module>dcae-analytics-tca-model</module>
49 <module>dcae-analytics-tca-core</module>
50 <module>dcae-analytics-web</module>
51 <module>dcae-analytics-tca-web</module>
56 <!-- PROJECT SETTINGS -->
57 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
58 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
59 <main.basedir>${project.basedir}</main.basedir>
61 <!-- DEPENDENCIES VERSION -->
62 <eelf.logger.version>1.0.1-SNAPSHOT</eelf.logger.version>
63 <spring.boot.version>2.4.4</spring.boot.version>
64 <spring.cloud.version>Finchley.RC2</spring.cloud.version>
65 <commons.text.version>1.4</commons.text.version>
66 <springfox-swagger2.version>3.0.0</springfox-swagger2.version>
67 <findbugs.jsr305.version>3.0.2</findbugs.jsr305.version>
68 <findbugs.annotations.version>3.0.1</findbugs.annotations.version>
70 <!-- TEST DEPENDENCIES -->
71 <junit-jupiter.version>5.6.2</junit-jupiter.version>
72 <junit-platform.version>1.6.2</junit-platform.version>
73 <apiguardian-api.version>1.0.0</apiguardian-api.version>
76 <surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile>
77 <!-- PLUGINS VERSIONS -->
78 <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
79 <maven-jar-plugin.version>3.0.2</maven-jar-plugin.version>
80 <maven-assembly-plugin.version>3.1.0</maven-assembly-plugin.version>
81 <maven-javadoc-plugin.version>3.0.0</maven-javadoc-plugin.version>
82 <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
83 <maven-failsafe-plugin.version>2.22.2</maven-failsafe-plugin.version>
84 <maven-source-plugin.version>3.0.1</maven-source-plugin.version>
85 <maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
86 <jacoco.plugin.version>0.8.1</jacoco.plugin.version>
87 <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml
88 </sonar.coverage.jacoco.xmlReportPaths>
89 <pmd.plugin.version>3.11.0</pmd.plugin.version>
90 <checkstyle.plugin.version>2.17</checkstyle.plugin.version>
91 <lombok.plugin.version>1.18.0.0</lombok.plugin.version>
92 <gitcommitid.plugin.version>2.2.3</gitcommitid.plugin.version>
93 <maven.build.helper.plugin.version>3.0.0</maven.build.helper.plugin.version>
94 <docker-maven-version>1.0.0</docker-maven-version>
96 <!--PLUGIN SETTINGS -->
97 <compiler.source.version>11</compiler.source.version>
98 <compiler.target.version>11</compiler.target.version>
99 <unit.test.pattern>**/*Test.java</unit.test.pattern>
100 <skip.unit.tests>false</skip.unit.tests>
101 <integration.test.pattern>**/*IT.java</integration.test.pattern>
102 <skip.integration.tests>false</skip.integration.tests>
103 <pmd.violation.buildfail>true</pmd.violation.buildfail>
104 <findbugs.failOnError>true</findbugs.failOnError>
105 <checkstyle.failOnViolation>false</checkstyle.failOnViolation>
106 <checkstyle.file.name>checkstyle.xml</checkstyle.file.name>
107 <checkstyle.suppression.file.name>checkstyle-suppressions.xml</checkstyle.suppression.file.name>
110 <dependency.locations.enabled>false</dependency.locations.enabled>
111 <nexusproxy>https://nexus.onap.org</nexusproxy>
112 <snapshots.path>content/repositories/snapshots/</snapshots.path>
113 <releases.path>content/repositories/releases/</releases.path>
114 <docker.repository>nexus3.onap.org:10003</docker.repository>
115 <spring-swagger-ui.version>2.10.5</spring-swagger-ui.version>
117 <!-- SONAR EXCLUSIONS -->
118 <!-- EXCLUDE TEST COVERAGE ON
119 TEST PACKAGES - USED FOR TESTING - NOT FOR DEPLOYMENT
120 MODEL PACKAGES - MODELS ONLY CONTAINS POJOs AND NO BUSINESS LOGIC,
121 CONFIG PACKAGE - CONTAINS WIRINGS OF SPRING BEANS,
122 EXCEPTIONS PACKAGE - CONTAINS CUSTOM EXCEPTIONS - NO BUSINESS LOGIC,
123 PREFERENCES CLASSES - JUST POJOS
124 CONTEXTS CLASSES - JUST POJOS
125 ENTITY CLASSES - JUST POJOS
127 <sonar.coverage.exclusions>**/test/**,**/model/**,**/config/**,**/exception/**,**/*Preferences.java,**/*Context*.java,**/*Entity.java</sonar.coverage.exclusions>
133 <dependencyManagement>
137 <!-- PROJECT DEPENDENCIES -->
139 <groupId>${project.groupId}</groupId>
140 <artifactId>dcae-analytics-test</artifactId>
141 <version>${project.version}</version>
146 <groupId>${project.groupId}</groupId>
147 <artifactId>dcae-analytics-model</artifactId>
148 <version>${project.version}</version>
152 <groupId>${project.groupId}</groupId>
153 <artifactId>dcae-analytics-web</artifactId>
154 <version>${project.version}</version>
158 <groupId>${project.groupId}</groupId>
159 <artifactId>dcae-analytics-tca-model</artifactId>
160 <version>${project.version}</version>
164 <groupId>${project.groupId}</groupId>
165 <artifactId>dcae-analytics-tca-core</artifactId>
166 <version>${project.version}</version>
171 <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
172 <artifactId>eelf-logger-logback-impl</artifactId>
173 <version>${project.version}</version>
178 <groupId>org.apache.commons</groupId>
179 <artifactId>commons-text</artifactId>
180 <version>${commons.text.version}</version>
183 <!-- REST API SWAGGER -->
185 <groupId>io.springfox</groupId>
186 <artifactId>springfox-swagger2</artifactId>
187 <version>${springfox-swagger2.version}</version>
190 <groupId>org.springframework.plugin</groupId>
191 <artifactId>spring-plugin-core</artifactId>
196 <groupId>org.springframework.plugin</groupId>
197 <artifactId>spring-plugin-core</artifactId>
198 <version>2.0.0.RELEASE</version>
201 <groupId>io.springfox</groupId>
202 <artifactId>springfox-swagger-ui</artifactId>
203 <version>${spring-swagger-ui.version}</version>
208 <groupId>com.google.code.findbugs</groupId>
209 <artifactId>jsr305</artifactId>
210 <version>${findbugs.jsr305.version}</version>
211 <scope>provided</scope>
214 <groupId>com.google.code.findbugs</groupId>
215 <artifactId>annotations</artifactId>
216 <version>${findbugs.annotations.version}</version>
217 <scope>provided</scope>
220 <!-- JUNIT 5 DEPENDENCIES -->
222 <groupId>org.junit.jupiter</groupId>
223 <artifactId>junit-jupiter-api</artifactId>
224 <version>${junit-jupiter.version}</version>
228 <groupId>org.junit.jupiter</groupId>
229 <artifactId>junit-jupiter-engine</artifactId>
230 <version>${junit-jupiter.version}</version>
234 <groupId>org.junit.jupiter</groupId>
235 <artifactId>junit-jupiter-params</artifactId>
236 <version>${junit-jupiter.version}</version>
240 <groupId>junit</groupId>
241 <artifactId>junit</artifactId>
242 <version>4.13</version>
246 <groupId>org.junit.vintage</groupId>
247 <artifactId>junit-vintage-engine</artifactId>
248 <version>5.6.2</version>
252 <groupId>org.junit.platform</groupId>
253 <artifactId>junit-platform-engine</artifactId>
254 <version>1.6.2</version>
258 <groupId>org.junit.platform</groupId>
259 <artifactId>junit-platform-launcher</artifactId>
260 <version>1.6.2</version>
264 <groupId>org.apiguardian</groupId>
265 <artifactId>apiguardian-api</artifactId>
266 <version>${apiguardian-api.version}</version>
270 <!-- IMPORT DEPENDENCY MANAGEMENT FROM SPRING BOOT -->
272 <groupId>org.springframework.boot</groupId>
273 <artifactId>spring-boot-dependencies</artifactId>
274 <version>${spring.boot.version}</version>
276 <scope>import</scope>
278 <!-- IMPORT DEPENDENCY MANAGEMENT FROM SPRING CLOUD -->
280 <groupId>org.springframework.cloud</groupId>
281 <artifactId>spring-cloud-dependencies</artifactId>
282 <version>${spring.cloud.version}</version>
284 <scope>import</scope>
288 </dependencyManagement>
296 <!-- COMPILER PLUGIN -->
298 <groupId>org.apache.maven.plugins</groupId>
299 <artifactId>maven-compiler-plugin</artifactId>
300 <version>${maven-compiler-plugin.version}</version>
304 <meminitial>256m</meminitial>
305 <maxmem>1024m</maxmem>
306 <source>${compiler.target.version}</source>
307 <target>${compiler.source.version}</target>
308 <showWarnings>true</showWarnings>
309 <showDeprecation>true</showDeprecation>
313 <!-- MAVEN SOURCE PLUGIN -->
315 <groupId>org.apache.maven.plugins</groupId>
316 <artifactId>maven-source-plugin</artifactId>
317 <version>${maven-source-plugin.version}</version>
319 <excludeResources>true</excludeResources>
323 <id>attach-sources</id>
324 <phase>verify</phase>
326 <goal>jar-no-fork</goal>
332 <!-- MAVEN JAVADOC PLUGIN -->
334 <groupId>org.apache.maven.plugins</groupId>
335 <artifactId>maven-javadoc-plugin</artifactId>
336 <version>${maven-javadoc-plugin.version}</version>
338 <!-- minimize console output messages -->
340 <verbose>false</verbose>
341 <useStandardDocletOptions>false</useStandardDocletOptions>
348 <goal>aggregate</goal>
352 <id>attach-javadoc</id>
360 <!-- MAVEN DEPLOY PLUGIN -->
362 <artifactId>maven-deploy-plugin</artifactId>
363 <version>${maven-deploy-plugin.version}</version>
365 <deployAtEnd>true</deployAtEnd>
369 <!-- SUREFIRE TEST PLUGIN -->
371 <groupId>org.apache.maven.plugins</groupId>
372 <artifactId>maven-surefire-plugin</artifactId>
373 <version>${maven-surefire-plugin.version}</version>
375 <skipTests>${skip.unit.tests}</skipTests>
376 <argLine>-Xmx2048m -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
377 -XX:OnOutOfMemoryError="kill -9 %p" -XX:+HeapDumpOnOutOfMemoryError ${surefireArgLine}
379 <redirectTestOutputToFile>${surefire.redirectTestOutputToFile}</redirectTestOutputToFile>
380 <parallel>classesAndMethods</parallel>
381 <threadCount>4</threadCount>
382 <forkCount>4</forkCount>
383 <reuseForks>false</reuseForks>
384 <reportFormat>xml</reportFormat>
385 <trimStackTrace>false</trimStackTrace>
386 <systemPropertyVariables>
387 <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
388 <logback.configurationFile>
389 ${basedir}/src/test/resources/logback-test.xml
390 </logback.configurationFile>
391 <logging.config>classpath:logback-test.xml</logging.config>
392 </systemPropertyVariables>
394 <include>${unit.test.pattern}</include>
397 <exclude>${integration.test.pattern}</exclude>
402 <!-- FAIL SAFE PLUGIN FOR INTEGRATION TEST -->
404 <groupId>org.apache.maven.plugins</groupId>
405 <artifactId>maven-failsafe-plugin</artifactId>
406 <version>${maven-failsafe-plugin.version}</version>
409 <id>integration-tests</id>
411 <goal>integration-test</goal>
415 <argLine>${failsafeArgLine}</argLine>
416 <redirectTestOutputToFile>true</redirectTestOutputToFile>
417 <skipTests>${skip.integration.tests}</skipTests>
419 <include>${integration.test.pattern}</include>
422 <exclude>${unit.test.pattern}</exclude>
424 <systemPropertyVariables>
425 <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
426 <logging.config>classpath:logback-test.xml</logging.config>
427 </systemPropertyVariables>
433 <!-- PMD PLUGIN SETUP -->
435 <groupId>org.apache.maven.plugins</groupId>
436 <artifactId>maven-pmd-plugin</artifactId>
437 <version>${pmd.plugin.version}</version>
439 <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
440 <targetJdk>${compiler.target.version}</targetJdk>
441 <linkXRef>false</linkXRef>
443 <exclude>**/*Mixin.java</exclude>
445 <!-- BUILD FAIL ON PMD VIOLATION -->
446 <failOnViolation>${pmd.violation.buildfail}</failOnViolation>
447 <targetDirectory>${project.reporting.outputDirectory}/pmd</targetDirectory>
456 <printFailingErrors>true</printFailingErrors>
457 <excludeFromFailureFile>${main.basedir}/pmd-exclude.properties</excludeFromFailureFile>
463 <goal>cpd-check</goal>
466 <printFailingErrors>true</printFailingErrors>
467 <excludeFromFailureFile>${main.basedir}/cpd-exclude.properties</excludeFromFailureFile>
473 <!-- CHECKSTYLE PLUGIN -->
475 <groupId>org.apache.maven.plugins</groupId>
476 <artifactId>maven-checkstyle-plugin</artifactId>
477 <version>${checkstyle.plugin.version}</version>
481 <phase>validate</phase>
484 <configLocation>${checkstyle.file.name}</configLocation>
485 <suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
486 <encoding>UTF-8</encoding>
487 <consoleOutput>true</consoleOutput>
488 <!-- BUILD FAIL ON CHECKSTYLE VIOLATION -->
489 <failOnViolation>${checkstyle.failOnViolation}</failOnViolation>
490 <includeTestSourceDirectory>true</includeTestSourceDirectory>
491 <outputFile>${project.reporting.outputDirectory}/checkstyle</outputFile>
500 <groupId>com.puppycrawl.tools</groupId>
501 <artifactId>checkstyle</artifactId>
502 <version>6.19</version>
507 <!-- LOMBOK PLUGIN -->
509 <groupId>org.projectlombok</groupId>
510 <artifactId>lombok-maven-plugin</artifactId>
511 <version>${lombok.plugin.version}</version>
515 <phase>generate-sources</phase>
517 <goal>delombok</goal>
520 <addOutputDirectory>false</addOutputDirectory>
521 <sourceDirectory>src/main/java</sourceDirectory>
527 <!-- GIT COMMIT ID PLUGIN -->
529 <groupId>pl.project13.maven</groupId>
530 <artifactId>git-commit-id-plugin</artifactId>
531 <version>${gitcommitid.plugin.version}</version>
534 <id>generate-git-properties</id>
535 <phase>generate-resources</phase>
537 <goal>revision</goal>
540 <failOnNoGitDirectory>false</failOnNoGitDirectory>
541 <generateGitPropertiesFile>true</generateGitPropertiesFile>
542 <generateGitPropertiesFilename>
543 ${project.build.directory}/git/git.properties
544 </generateGitPropertiesFilename>
552 <groupId>org.apache.maven.plugins</groupId>
553 <artifactId>maven-jar-plugin</artifactId>
554 <version>${maven-jar-plugin.version}</version>
558 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
561 <Implementation-Build-Version>${project.version}</Implementation-Build-Version>
568 <!-- ASSEMBLY PLUGIN -->
570 <groupId>org.apache.maven.plugins</groupId>
571 <artifactId>maven-assembly-plugin</artifactId>
572 <version>${maven-assembly-plugin.version}</version>
575 <descriptor>${main.basedir}/assembly/cdp-assembly-descriptor.xml</descriptor>
580 <id>cdp-assembly</id>
581 <phase>package</phase>
589 <!-- BUILD HELPER PLUGIN -->
591 <groupId>org.codehaus.mojo</groupId>
592 <artifactId>build-helper-maven-plugin</artifactId>
593 <version>${maven.build.helper.plugin.version}</version>
596 <!-- SPRING BOOT PLUGIN -->
598 <groupId>org.springframework.boot</groupId>
599 <artifactId>spring-boot-maven-plugin</artifactId>
600 <version>${spring.boot.version}</version>
605 <goal>build-info</goal>
609 <id>spring-boot-uber-jar</id>
611 <goal>repackage</goal>
624 <groupId>org.apache.maven.plugins</groupId>
625 <artifactId>maven-compiler-plugin</artifactId>
629 <groupId>org.apache.maven.plugins</groupId>
630 <artifactId>maven-jar-plugin</artifactId>
634 <groupId>org.apache.maven.plugins</groupId>
635 <artifactId>maven-surefire-plugin</artifactId>
639 <groupId>org.apache.maven.plugins</groupId>
640 <artifactId>maven-failsafe-plugin</artifactId>
644 <groupId>org.apache.maven.plugins</groupId>
645 <artifactId>maven-source-plugin</artifactId>
649 <groupId>org.apache.maven.plugins</groupId>
650 <artifactId>maven-javadoc-plugin</artifactId>
654 <groupId>org.apache.maven.plugins</groupId>
655 <artifactId>maven-deploy-plugin</artifactId>
659 <groupId>org.apache.maven.plugins</groupId>
660 <artifactId>maven-pmd-plugin</artifactId>
664 <groupId>org.apache.maven.plugins</groupId>
665 <artifactId>maven-checkstyle-plugin</artifactId>
669 <groupId>org.jacoco</groupId>
670 <artifactId>jacoco-maven-plugin</artifactId>