1 <?xml version="1.0" encoding="UTF-8"?>
3 ~ ================================================================================
4 ~ Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
5 ~ ================================================================================
6 ~ Licensed under the Apache License, Version 2.0 (the "License");
7 ~ you may not use this file except in compliance with the License.
8 ~ You may obtain a copy of the License at
10 ~ http://www.apache.org/licenses/LICENSE-2.0
12 ~ Unless required by applicable law or agreed to in writing, software
13 ~ distributed under the License is distributed on an "AS IS" BASIS,
14 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 ~ See the License for the specific language governing permissions and
16 ~ limitations under the License.
17 ~ ============LICENSE_END=========================================================
21 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
22 xmlns="http://maven.apache.org/POM/4.0.0"
23 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
25 <modelVersion>4.0.0</modelVersion>
28 <groupId>org.onap.dcaegen2</groupId>
29 <artifactId>tca-gen2</artifactId>
30 <version>3.0.0-SNAPSHOT</version>
33 <groupId>org.onap.dcaegen2.analytics</groupId>
34 <artifactId>dcae-analytics</artifactId>
35 <version>3.0.0-SNAPSHOT</version>
36 <packaging>pom</packaging>
38 <name>DCAE Analytics Parent</name>
39 <description>Parent project for all DCAE Analytics Applications</description>
43 <module>dcae-analytics-test</module>
44 <module>dcae-analytics-model</module>
45 <module>dcae-analytics-tca-model</module>
46 <module>dcae-analytics-tca-core</module>
47 <module>dcae-analytics-web</module>
48 <module>dcae-analytics-tca-web</module>
53 <!-- PROJECT SETTINGS-->
54 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
55 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
56 <main.basedir>${project.basedir}</main.basedir>
58 <!-- DEPENDENCIES VERSION -->
59 <eelf.logger.version>3.0.0-SNAPSHOT</eelf.logger.version>
60 <spring.boot.version>2.0.1.RELEASE</spring.boot.version>
61 <spring.cloud.version>Finchley.RC2</spring.cloud.version>
62 <commons.text.version>1.4</commons.text.version>
63 <springfox-swagger2.version>2.9.2</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.0.2</junit-jupiter.version>
69 <junit-platform.version>1.0.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.7.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-M1</maven-javadoc-plugin.version>
79 <maven-surefire-plugin.version>2.19</maven-surefire-plugin.version>
80 <maven-failsafe-plugin.version>2.19.1</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 <findbugs.plugin.version>3.0.5</findbugs.plugin.version>
85 <pmd.plugin.version>3.8</pmd.plugin.version>
86 <checkstyle.plugin.version>2.17</checkstyle.plugin.version>
87 <lombok.plugin.version>1.16.18.1</lombok.plugin.version>
88 <gitcommitid.plugin.version>2.2.3</gitcommitid.plugin.version>
89 <maven.build.helper.plugin.version>3.0.0</maven.build.helper.plugin.version>
90 <dockerfile-maven-version>1.4.3</dockerfile-maven-version>
92 <!--PLUGIN SETTINGS -->
93 <compiler.source.version>1.8</compiler.source.version>
94 <compiler.target.version>1.8</compiler.target.version>
95 <unit.test.pattern>**/*Test.java</unit.test.pattern>
96 <skip.unit.tests>false</skip.unit.tests>
97 <integration.test.pattern>**/*IT.java</integration.test.pattern>
98 <skip.integration.tests>false</skip.integration.tests>
99 <pmd.violation.buildfail>true</pmd.violation.buildfail>
100 <findbugs.failOnError>true</findbugs.failOnError>
101 <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
102 <checkstyle.file.name>checkstyle.xml</checkstyle.file.name>
103 <checkstyle.suppression.file.name>checkstyle-suppressions.xml</checkstyle.suppression.file.name>
106 <dependency.locations.enabled>false</dependency.locations.enabled>
107 <nexusproxy>https://nexus.onap.org</nexusproxy>
108 <snapshots.path>content/repositories/snapshots/</snapshots.path>
109 <releases.path>content/repositories/releases/</releases.path>
110 <docker.repository>nexus3.onap.org:10003</docker.repository>
116 <dependencyManagement>
120 <!-- PROJECT DEPENDENCIES -->
122 <groupId>org.onap.dcaegen2.analytics</groupId>
123 <artifactId>dcae-analytics-test</artifactId>
124 <version>${project.version}</version>
129 <groupId>org.onap.dcaegen2.analytics</groupId>
130 <artifactId>dcae-analytics-model</artifactId>
131 <version>${project.version}</version>
135 <groupId>org.onap.dcaegen2.analytics</groupId>
136 <artifactId>dcae-analytics-web</artifactId>
137 <version>${project.version}</version>
141 <groupId>org.onap.dcaegen2.analytics</groupId>
142 <artifactId>dcae-analytics-tca-model</artifactId>
143 <version>${project.version}</version>
147 <groupId>org.onap.dcaegen2.analytics</groupId>
148 <artifactId>dcae-analytics-tca-core</artifactId>
149 <version>${project.version}</version>
155 <groupId>org.onap.dcaegen2.analytics</groupId>
156 <artifactId>eelf-logger-logback-impl</artifactId>
157 <version>${eelf.logger.version}</version>
162 <groupId>org.apache.commons</groupId>
163 <artifactId>commons-text</artifactId>
164 <version>${commons.text.version}</version>
167 <!-- REST API SWAGGER -->
169 <groupId>io.springfox</groupId>
170 <artifactId>springfox-swagger2</artifactId>
171 <version>${springfox-swagger2.version}</version>
174 <groupId>io.springfox</groupId>
175 <artifactId>springfox-swagger-ui</artifactId>
176 <version>${springfox-swagger2.version}</version>
181 <groupId>com.google.code.findbugs</groupId>
182 <artifactId>jsr305</artifactId>
183 <version>${findbugs.jsr305.version}</version>
184 <scope>provided</scope>
187 <groupId>com.google.code.findbugs</groupId>
188 <artifactId>annotations</artifactId>
189 <version>${findbugs.annotations.version}</version>
190 <scope>provided</scope>
193 <!-- JUNIT 5 DEPENDENCIES -->
195 <groupId>org.junit.jupiter</groupId>
196 <artifactId>junit-jupiter-api</artifactId>
197 <version>${junit-jupiter.version}</version>
201 <groupId>org.junit.jupiter</groupId>
202 <artifactId>junit-jupiter-engine</artifactId>
203 <version>${junit-jupiter.version}</version>
207 <groupId>org.junit.jupiter</groupId>
208 <artifactId>junit-jupiter-params</artifactId>
209 <version>${junit-jupiter.version}</version>
213 <groupId>org.junit.platform</groupId>
214 <artifactId>junit-platform-engine</artifactId>
215 <version>${junit-platform.version}</version>
219 <groupId>org.junit.platform</groupId>
220 <artifactId>junit-platform-launcher</artifactId>
221 <version>${junit-platform.version}</version>
225 <groupId>org.apiguardian</groupId>
226 <artifactId>apiguardian-api</artifactId>
227 <version>${apiguardian-api.version}</version>
231 <!-- IMPORT DEPENDENCY MANAGEMENT FROM SPRING BOOT -->
233 <groupId>org.springframework.boot</groupId>
234 <artifactId>spring-boot-dependencies</artifactId>
235 <version>${spring.boot.version}</version>
237 <scope>import</scope>
239 <!-- IMPORT DEPENDENCY MANAGEMENT FROM SPRING CLOUD -->
241 <groupId>org.springframework.cloud</groupId>
242 <artifactId>spring-cloud-dependencies</artifactId>
243 <version>${spring.cloud.version}</version>
245 <scope>import</scope>
249 </dependencyManagement>
257 <!-- COMPILER PLUGIN -->
259 <groupId>org.apache.maven.plugins</groupId>
260 <artifactId>maven-compiler-plugin</artifactId>
261 <version>${maven-compiler-plugin.version}</version>
265 <meminitial>256m</meminitial>
266 <maxmem>1024m</maxmem>
267 <source>${compiler.target.version}</source>
268 <target>${compiler.source.version}</target>
269 <showWarnings>true</showWarnings>
270 <showDeprecation>true</showDeprecation>
274 <!-- MAVEN SOURCE PLUGIN -->
276 <groupId>org.apache.maven.plugins</groupId>
277 <artifactId>maven-source-plugin</artifactId>
278 <version>${maven-source-plugin.version}</version>
280 <excludeResources>true</excludeResources>
284 <id>attach-sources</id>
285 <phase>verify</phase>
287 <goal>jar-no-fork</goal>
293 <!-- MAVEN JAVADOC PLUGIN -->
295 <groupId>org.apache.maven.plugins</groupId>
296 <artifactId>maven-javadoc-plugin</artifactId>
297 <version>${maven-javadoc-plugin.version}</version>
299 <!-- minimize console output messages -->
301 <verbose>false</verbose>
302 <useStandardDocletOptions>false</useStandardDocletOptions>
309 <goal>aggregate</goal>
313 <id>attach-javadoc</id>
321 <!-- MAVEN DEPLOY PLUGIN -->
323 <artifactId>maven-deploy-plugin</artifactId>
324 <version>${maven-deploy-plugin.version}</version>
326 <deployAtEnd>true</deployAtEnd>
330 <!-- SUREFIRE TEST PLUGIN -->
332 <groupId>org.apache.maven.plugins</groupId>
333 <artifactId>maven-surefire-plugin</artifactId>
334 <version>${maven-surefire-plugin.version}</version>
336 <skipTests>${skip.unit.tests}</skipTests>
337 <argLine>-Xmx2048m -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
338 -XX:OnOutOfMemoryError="kill -9 %p" -XX:+HeapDumpOnOutOfMemoryError ${surefireArgLine}
340 <redirectTestOutputToFile>${surefire.redirectTestOutputToFile}</redirectTestOutputToFile>
341 <parallel>classesAndMethods</parallel>
342 <threadCount>4</threadCount>
343 <forkCount>4</forkCount>
344 <reuseForks>false</reuseForks>
345 <reportFormat>xml</reportFormat>
346 <trimStackTrace>false</trimStackTrace>
347 <systemPropertyVariables>
348 <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
349 <logback.configurationFile>
350 ${basedir}/src/test/resources/logback-test.xml
351 </logback.configurationFile>
352 <logging.config>classpath:logback-test.xml</logging.config>
353 </systemPropertyVariables>
355 <include>${unit.test.pattern}</include>
358 <exclude>${integration.test.pattern}</exclude>
363 <groupId>org.junit.platform</groupId>
364 <artifactId>junit-platform-surefire-provider</artifactId>
365 <version>${junit-platform.version}</version>
370 <!-- FAIL SAFE PLUGIN FOR INTEGRATION TEST -->
372 <groupId>org.apache.maven.plugins</groupId>
373 <artifactId>maven-failsafe-plugin</artifactId>
374 <version>${maven-failsafe-plugin.version}</version>
377 <groupId>org.junit.platform</groupId>
378 <artifactId>junit-platform-surefire-provider</artifactId>
379 <version>${junit-platform.version}</version>
384 <id>integration-tests</id>
386 <goal>integration-test</goal>
390 <argLine>${failsafeArgLine}</argLine>
391 <redirectTestOutputToFile>true</redirectTestOutputToFile>
392 <skipTests>${skip.integration.tests}</skipTests>
394 <include>${integration.test.pattern}</include>
397 <exclude>${unit.test.pattern}</exclude>
399 <systemPropertyVariables>
400 <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
401 <logging.config>classpath:logback-test.xml</logging.config>
402 </systemPropertyVariables>
410 <groupId>org.jacoco</groupId>
411 <artifactId>jacoco-maven-plugin</artifactId>
412 <version>${jacoco.plugin.version}</version>
415 <exclude>**/generated/**</exclude>
416 <exclude>**/generated-sources/**</exclude>
421 <id>pre-unit-test</id>
423 <goal>prepare-agent</goal>
426 <!-- Sets the path to the file which contains the execution data. -->
427 <destFile>${project.build.directory}/jacoco/jacoco-ut.exec</destFile>
428 <propertyName>surefireArgLine</propertyName>
432 <id>post-unit-test</id>
438 <!-- Sets the path to the file which contains the execution data. -->
439 <dataFile>${project.build.directory}/jacoco/jacoco-ut.exec</dataFile>
440 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
444 <id>pre-integration-test</id>
445 <phase>pre-integration-test</phase>
447 <goal>prepare-agent</goal>
450 <!-- Sets the path to the file which contains the execution data. -->
451 <destFile>${project.build.directory}/jacoco/jacoco-it.exec</destFile>
452 <propertyName>failsafeArgLine</propertyName>
456 <id>post-integration-test</id>
457 <phase>post-integration-test</phase>
462 <!-- Sets the path to the file which contains the execution data. -->
463 <dataFile>${project.build.directory}/jacoco/jacoco-it.exec</dataFile>
464 <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
471 <!-- FIND BUGS (STATIC CODE ANALYSIS) PLUGIN -->
473 <groupId>org.codehaus.mojo</groupId>
474 <artifactId>findbugs-maven-plugin</artifactId>
475 <version>${findbugs.plugin.version}</version>
478 <threshold>Low</threshold>
479 <xmlOutput>true</xmlOutput>
480 <!-- BUILD FAIL ON FINDBUGS ERRORS -->
481 <failOnError>${findbugs.failOnError}</failOnError>
482 <excludeFilterFile>${main.basedir}/findbugs-exclude.xml</excludeFilterFile>
483 <outputDirectory>${project.reporting.outputDirectory}/findbugs</outputDirectory>
484 <findbugsXmlOutputDirectory>${project.reporting.outputDirectory}/findbugs
485 </findbugsXmlOutputDirectory>
489 <id>analyze-compile</id>
490 <phase>compile</phase>
498 <!-- PMD PLUGIN SETUP -->
500 <groupId>org.apache.maven.plugins</groupId>
501 <artifactId>maven-pmd-plugin</artifactId>
502 <version>${pmd.plugin.version}</version>
504 <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
505 <targetJdk>${compiler.target.version}</targetJdk>
506 <linkXRef>false</linkXRef>
508 <exclude>**/*Mixin.java</exclude>
510 <!-- BUILD FAIL ON PMD VIOLATION -->
511 <failOnViolation>${pmd.violation.buildfail}</failOnViolation>
512 <targetDirectory>${project.reporting.outputDirectory}/pmd</targetDirectory>
521 <printFailingErrors>true</printFailingErrors>
522 <excludeFromFailureFile>${main.basedir}/pmd-exclude.properties</excludeFromFailureFile>
528 <goal>cpd-check</goal>
531 <printFailingErrors>true</printFailingErrors>
532 <excludeFromFailureFile>${main.basedir}/cpd-exclude.properties</excludeFromFailureFile>
538 <!-- CHECKSTYLE PLUGIN -->
540 <groupId>org.apache.maven.plugins</groupId>
541 <artifactId>maven-checkstyle-plugin</artifactId>
542 <version>${checkstyle.plugin.version}</version>
546 <phase>validate</phase>
548 <configLocation>${checkstyle.file.name}</configLocation>
549 <suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
550 <encoding>UTF-8</encoding>
551 <consoleOutput>true</consoleOutput>
552 <!-- BUILD FAIL ON CHECKSTYLE VIOLATION -->
553 <failOnViolation>${checkstyle.failOnViolation}</failOnViolation>
554 <includeTestSourceDirectory>true</includeTestSourceDirectory>
555 <outputFile>${project.reporting.outputDirectory}/checkstyle</outputFile>
564 <groupId>com.puppycrawl.tools</groupId>
565 <artifactId>checkstyle</artifactId>
566 <version>6.19</version>
571 <!-- LOMBOK PLUGIN -->
573 <groupId>org.projectlombok</groupId>
574 <artifactId>lombok-maven-plugin</artifactId>
575 <version>${lombok.plugin.version}</version>
579 <phase>generate-sources</phase>
581 <goal>delombok</goal>
584 <addOutputDirectory>false</addOutputDirectory>
585 <sourceDirectory>src/main/java</sourceDirectory>
591 <!-- GIT COMMIT ID PLUGIN -->
593 <groupId>pl.project13.maven</groupId>
594 <artifactId>git-commit-id-plugin</artifactId>
595 <version>${gitcommitid.plugin.version}</version>
598 <id>generate-git-properties</id>
599 <phase>generate-resources</phase>
601 <goal>revision</goal>
604 <failOnNoGitDirectory>false</failOnNoGitDirectory>
605 <generateGitPropertiesFile>true</generateGitPropertiesFile>
606 <generateGitPropertiesFilename>
607 ${project.build.directory}/git/git.properties
608 </generateGitPropertiesFilename>
616 <groupId>org.apache.maven.plugins</groupId>
617 <artifactId>maven-jar-plugin</artifactId>
618 <version>${maven-jar-plugin.version}</version>
622 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
625 <Implementation-Build-Version>${project.version}</Implementation-Build-Version>
632 <!-- ASSEMBLY PLUGIN -->
634 <groupId>org.apache.maven.plugins</groupId>
635 <artifactId>maven-assembly-plugin</artifactId>
636 <version>${maven-assembly-plugin.version}</version>
639 <descriptor>${main.basedir}/assembly/cdp-assembly-descriptor.xml</descriptor>
644 <id>cdp-assembly</id>
645 <phase>package</phase>
653 <!-- BUILD HELPER PLUGIN -->
655 <groupId>org.codehaus.mojo</groupId>
656 <artifactId>build-helper-maven-plugin</artifactId>
657 <version>${maven.build.helper.plugin.version}</version>
660 <!-- SPRING BOOT PLUGIN -->
662 <groupId>org.springframework.boot</groupId>
663 <artifactId>spring-boot-maven-plugin</artifactId>
664 <version>${spring.boot.version}</version>
669 <goal>build-info</goal>
673 <id>spring-boot-uber-jar</id>
675 <goal>repackage</goal>
681 <!-- DOCKER PLUGIN -->
683 <groupId>com.spotify</groupId>
684 <artifactId>dockerfile-maven-plugin</artifactId>
685 <version>${dockerfile-maven-version}</version>
687 <repository>${docker.repository}/${project.artifactId}</repository>
688 <tag>${project.version}</tag>
700 <groupId>org.apache.maven.plugins</groupId>
701 <artifactId>maven-compiler-plugin</artifactId>
705 <groupId>org.apache.maven.plugins</groupId>
706 <artifactId>maven-jar-plugin</artifactId>
710 <groupId>org.apache.maven.plugins</groupId>
711 <artifactId>maven-surefire-plugin</artifactId>
715 <groupId>org.apache.maven.plugins</groupId>
716 <artifactId>maven-failsafe-plugin</artifactId>
720 <groupId>org.apache.maven.plugins</groupId>
721 <artifactId>maven-source-plugin</artifactId>
725 <groupId>org.apache.maven.plugins</groupId>
726 <artifactId>maven-javadoc-plugin</artifactId>
730 <groupId>org.apache.maven.plugins</groupId>
731 <artifactId>maven-deploy-plugin</artifactId>
735 <groupId>org.apache.maven.plugins</groupId>
736 <artifactId>maven-pmd-plugin</artifactId>
740 <groupId>org.codehaus.mojo</groupId>
741 <artifactId>findbugs-maven-plugin</artifactId>
745 <groupId>org.apache.maven.plugins</groupId>
746 <artifactId>maven-checkstyle-plugin</artifactId>
750 <groupId>org.jacoco</groupId>
751 <artifactId>jacoco-maven-plugin</artifactId>