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.analytics.tca-gen2</groupId>
29 <artifactId>tca-gen2-parent</artifactId>
30 <version>3.0.0-SNAPSHOT</version>
33 <artifactId>dcae-analytics</artifactId>
34 <version>3.0.0-SNAPSHOT</version>
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>3.0.0-SNAPSHOT</eelf.logger.version>
59 <spring.boot.version>2.0.1.RELEASE</spring.boot.version>
60 <spring.cloud.version>Finchley.RC2</spring.cloud.version>
61 <commons.text.version>1.4</commons.text.version>
62 <springfox-swagger2.version>2.9.2</springfox-swagger2.version>
63 <findbugs.jsr305.version>3.0.2</findbugs.jsr305.version>
64 <findbugs.annotations.version>3.0.1</findbugs.annotations.version>
66 <!-- TEST DEPENDENCIES -->
67 <junit-jupiter.version>5.0.2</junit-jupiter.version>
68 <junit-platform.version>1.0.2</junit-platform.version>
69 <apiguardian-api.version>1.0.0</apiguardian-api.version>
72 <surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile>
73 <!-- PLUGINS VERSIONS -->
74 <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
75 <maven-jar-plugin.version>3.0.2</maven-jar-plugin.version>
76 <maven-assembly-plugin.version>3.1.0</maven-assembly-plugin.version>
77 <maven-javadoc-plugin.version>3.0.0-M1</maven-javadoc-plugin.version>
78 <maven-surefire-plugin.version>2.19</maven-surefire-plugin.version>
79 <maven-failsafe-plugin.version>2.19.1</maven-failsafe-plugin.version>
80 <maven-source-plugin.version>3.0.1</maven-source-plugin.version>
81 <maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
82 <jacoco.plugin.version>0.8.1</jacoco.plugin.version>
83 <findbugs.plugin.version>3.0.5</findbugs.plugin.version>
84 <pmd.plugin.version>3.8</pmd.plugin.version>
85 <checkstyle.plugin.version>2.17</checkstyle.plugin.version>
86 <lombok.plugin.version>1.16.18.1</lombok.plugin.version>
87 <gitcommitid.plugin.version>2.2.3</gitcommitid.plugin.version>
88 <maven.build.helper.plugin.version>3.0.0</maven.build.helper.plugin.version>
89 <dockerfile-maven-version>1.4.3</dockerfile-maven-version>
91 <!--PLUGIN SETTINGS -->
92 <compiler.source.version>1.8</compiler.source.version>
93 <compiler.target.version>1.8</compiler.target.version>
94 <unit.test.pattern>**/*Test.java</unit.test.pattern>
95 <skip.unit.tests>false</skip.unit.tests>
96 <integration.test.pattern>**/*IT.java</integration.test.pattern>
97 <skip.integration.tests>false</skip.integration.tests>
98 <pmd.violation.buildfail>true</pmd.violation.buildfail>
99 <findbugs.failOnError>true</findbugs.failOnError>
100 <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
101 <checkstyle.file.name>checkstyle.xml</checkstyle.file.name>
102 <checkstyle.suppression.file.name>checkstyle-suppressions.xml</checkstyle.suppression.file.name>
105 <dependency.locations.enabled>false</dependency.locations.enabled>
106 <nexusproxy>https://nexus.onap.org</nexusproxy>
107 <snapshots.path>content/repositories/snapshots/</snapshots.path>
108 <releases.path>content/repositories/releases/</releases.path>
109 <docker.repository>nexus3.onap.org:10003</docker.repository>
115 <dependencyManagement>
119 <!-- PROJECT DEPENDENCIES -->
121 <groupId>${project.groupId}</groupId>
122 <artifactId>dcae-analytics-test</artifactId>
123 <version>${project.version}</version>
128 <groupId>${project.groupId}</groupId>
129 <artifactId>dcae-analytics-model</artifactId>
130 <version>${project.version}</version>
134 <groupId>${project.groupId}</groupId>
135 <artifactId>dcae-analytics-web</artifactId>
136 <version>${project.version}</version>
140 <groupId>${project.groupId}</groupId>
141 <artifactId>dcae-analytics-tca-model</artifactId>
142 <version>${project.version}</version>
146 <groupId>${project.groupId}</groupId>
147 <artifactId>dcae-analytics-tca-core</artifactId>
148 <version>${project.version}</version>
154 <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
155 <artifactId>eelf-logger-logback-impl</artifactId>
156 <version>${eelf.logger.version}</version>
161 <groupId>org.apache.commons</groupId>
162 <artifactId>commons-text</artifactId>
163 <version>${commons.text.version}</version>
166 <!-- REST API SWAGGER -->
168 <groupId>io.springfox</groupId>
169 <artifactId>springfox-swagger2</artifactId>
170 <version>${springfox-swagger2.version}</version>
173 <groupId>io.springfox</groupId>
174 <artifactId>springfox-swagger-ui</artifactId>
175 <version>${springfox-swagger2.version}</version>
180 <groupId>com.google.code.findbugs</groupId>
181 <artifactId>jsr305</artifactId>
182 <version>${findbugs.jsr305.version}</version>
183 <scope>provided</scope>
186 <groupId>com.google.code.findbugs</groupId>
187 <artifactId>annotations</artifactId>
188 <version>${findbugs.annotations.version}</version>
189 <scope>provided</scope>
192 <!-- JUNIT 5 DEPENDENCIES -->
194 <groupId>org.junit.jupiter</groupId>
195 <artifactId>junit-jupiter-api</artifactId>
196 <version>${junit-jupiter.version}</version>
200 <groupId>org.junit.jupiter</groupId>
201 <artifactId>junit-jupiter-engine</artifactId>
202 <version>${junit-jupiter.version}</version>
206 <groupId>org.junit.jupiter</groupId>
207 <artifactId>junit-jupiter-params</artifactId>
208 <version>${junit-jupiter.version}</version>
212 <groupId>org.junit.platform</groupId>
213 <artifactId>junit-platform-engine</artifactId>
214 <version>${junit-platform.version}</version>
218 <groupId>org.junit.platform</groupId>
219 <artifactId>junit-platform-launcher</artifactId>
220 <version>${junit-platform.version}</version>
224 <groupId>org.apiguardian</groupId>
225 <artifactId>apiguardian-api</artifactId>
226 <version>${apiguardian-api.version}</version>
230 <!-- IMPORT DEPENDENCY MANAGEMENT FROM SPRING BOOT -->
232 <groupId>org.springframework.boot</groupId>
233 <artifactId>spring-boot-dependencies</artifactId>
234 <version>${spring.boot.version}</version>
236 <scope>import</scope>
238 <!-- IMPORT DEPENDENCY MANAGEMENT FROM SPRING CLOUD -->
240 <groupId>org.springframework.cloud</groupId>
241 <artifactId>spring-cloud-dependencies</artifactId>
242 <version>${spring.cloud.version}</version>
244 <scope>import</scope>
248 </dependencyManagement>
256 <!-- COMPILER PLUGIN -->
258 <groupId>org.apache.maven.plugins</groupId>
259 <artifactId>maven-compiler-plugin</artifactId>
260 <version>${maven-compiler-plugin.version}</version>
264 <meminitial>256m</meminitial>
265 <maxmem>1024m</maxmem>
266 <source>${compiler.target.version}</source>
267 <target>${compiler.source.version}</target>
268 <showWarnings>true</showWarnings>
269 <showDeprecation>true</showDeprecation>
273 <!-- MAVEN SOURCE PLUGIN -->
275 <groupId>org.apache.maven.plugins</groupId>
276 <artifactId>maven-source-plugin</artifactId>
277 <version>${maven-source-plugin.version}</version>
279 <excludeResources>true</excludeResources>
283 <id>attach-sources</id>
284 <phase>verify</phase>
286 <goal>jar-no-fork</goal>
292 <!-- MAVEN JAVADOC PLUGIN -->
294 <groupId>org.apache.maven.plugins</groupId>
295 <artifactId>maven-javadoc-plugin</artifactId>
296 <version>${maven-javadoc-plugin.version}</version>
298 <!-- minimize console output messages -->
300 <verbose>false</verbose>
301 <useStandardDocletOptions>false</useStandardDocletOptions>
308 <goal>aggregate</goal>
312 <id>attach-javadoc</id>
320 <!-- MAVEN DEPLOY PLUGIN -->
322 <artifactId>maven-deploy-plugin</artifactId>
323 <version>${maven-deploy-plugin.version}</version>
325 <deployAtEnd>true</deployAtEnd>
329 <!-- SUREFIRE TEST PLUGIN -->
331 <groupId>org.apache.maven.plugins</groupId>
332 <artifactId>maven-surefire-plugin</artifactId>
333 <version>${maven-surefire-plugin.version}</version>
335 <skipTests>${skip.unit.tests}</skipTests>
336 <argLine>-Xmx2048m -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
337 -XX:OnOutOfMemoryError="kill -9 %p" -XX:+HeapDumpOnOutOfMemoryError ${surefireArgLine}
339 <redirectTestOutputToFile>${surefire.redirectTestOutputToFile}</redirectTestOutputToFile>
340 <parallel>classesAndMethods</parallel>
341 <threadCount>4</threadCount>
342 <forkCount>4</forkCount>
343 <reuseForks>false</reuseForks>
344 <reportFormat>xml</reportFormat>
345 <trimStackTrace>false</trimStackTrace>
346 <systemPropertyVariables>
347 <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
348 <logback.configurationFile>
349 ${basedir}/src/test/resources/logback-test.xml
350 </logback.configurationFile>
351 <logging.config>classpath:logback-test.xml</logging.config>
352 </systemPropertyVariables>
354 <include>${unit.test.pattern}</include>
357 <exclude>${integration.test.pattern}</exclude>
362 <groupId>org.junit.platform</groupId>
363 <artifactId>junit-platform-surefire-provider</artifactId>
364 <version>${junit-platform.version}</version>
369 <!-- FAIL SAFE PLUGIN FOR INTEGRATION TEST -->
371 <groupId>org.apache.maven.plugins</groupId>
372 <artifactId>maven-failsafe-plugin</artifactId>
373 <version>${maven-failsafe-plugin.version}</version>
376 <groupId>org.junit.platform</groupId>
377 <artifactId>junit-platform-surefire-provider</artifactId>
378 <version>${junit-platform.version}</version>
383 <id>integration-tests</id>
385 <goal>integration-test</goal>
389 <argLine>${failsafeArgLine}</argLine>
390 <redirectTestOutputToFile>true</redirectTestOutputToFile>
391 <skipTests>${skip.integration.tests}</skipTests>
393 <include>${integration.test.pattern}</include>
396 <exclude>${unit.test.pattern}</exclude>
398 <systemPropertyVariables>
399 <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
400 <logging.config>classpath:logback-test.xml</logging.config>
401 </systemPropertyVariables>
409 <groupId>org.jacoco</groupId>
410 <artifactId>jacoco-maven-plugin</artifactId>
411 <version>${jacoco.plugin.version}</version>
414 <exclude>**/generated/**</exclude>
415 <exclude>**/generated-sources/**</exclude>
420 <id>pre-unit-test</id>
422 <goal>prepare-agent</goal>
425 <!-- Sets the path to the file which contains the execution data. -->
426 <destFile>${project.build.directory}/jacoco/jacoco-ut.exec</destFile>
427 <propertyName>surefireArgLine</propertyName>
431 <id>post-unit-test</id>
437 <!-- Sets the path to the file which contains the execution data. -->
438 <dataFile>${project.build.directory}/jacoco/jacoco-ut.exec</dataFile>
439 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
443 <id>pre-integration-test</id>
444 <phase>pre-integration-test</phase>
446 <goal>prepare-agent</goal>
449 <!-- Sets the path to the file which contains the execution data. -->
450 <destFile>${project.build.directory}/jacoco/jacoco-it.exec</destFile>
451 <propertyName>failsafeArgLine</propertyName>
455 <id>post-integration-test</id>
456 <phase>post-integration-test</phase>
461 <!-- Sets the path to the file which contains the execution data. -->
462 <dataFile>${project.build.directory}/jacoco/jacoco-it.exec</dataFile>
463 <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
470 <!-- FIND BUGS (STATIC CODE ANALYSIS) PLUGIN -->
472 <groupId>org.codehaus.mojo</groupId>
473 <artifactId>findbugs-maven-plugin</artifactId>
474 <version>${findbugs.plugin.version}</version>
477 <threshold>Low</threshold>
478 <xmlOutput>true</xmlOutput>
479 <!-- BUILD FAIL ON FINDBUGS ERRORS -->
480 <failOnError>${findbugs.failOnError}</failOnError>
481 <excludeFilterFile>${main.basedir}/findbugs-exclude.xml</excludeFilterFile>
482 <outputDirectory>${project.reporting.outputDirectory}/findbugs</outputDirectory>
483 <findbugsXmlOutputDirectory>${project.reporting.outputDirectory}/findbugs
484 </findbugsXmlOutputDirectory>
488 <id>analyze-compile</id>
489 <phase>compile</phase>
497 <!-- PMD PLUGIN SETUP -->
499 <groupId>org.apache.maven.plugins</groupId>
500 <artifactId>maven-pmd-plugin</artifactId>
501 <version>${pmd.plugin.version}</version>
503 <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
504 <targetJdk>${compiler.target.version}</targetJdk>
505 <linkXRef>false</linkXRef>
507 <exclude>**/*Mixin.java</exclude>
509 <!-- BUILD FAIL ON PMD VIOLATION -->
510 <failOnViolation>${pmd.violation.buildfail}</failOnViolation>
511 <targetDirectory>${project.reporting.outputDirectory}/pmd</targetDirectory>
520 <printFailingErrors>true</printFailingErrors>
521 <excludeFromFailureFile>${main.basedir}/pmd-exclude.properties</excludeFromFailureFile>
527 <goal>cpd-check</goal>
530 <printFailingErrors>true</printFailingErrors>
531 <excludeFromFailureFile>${main.basedir}/cpd-exclude.properties</excludeFromFailureFile>
537 <!-- CHECKSTYLE PLUGIN -->
539 <groupId>org.apache.maven.plugins</groupId>
540 <artifactId>maven-checkstyle-plugin</artifactId>
541 <version>${checkstyle.plugin.version}</version>
545 <phase>validate</phase>
547 <configLocation>${checkstyle.file.name}</configLocation>
548 <suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
549 <encoding>UTF-8</encoding>
550 <consoleOutput>true</consoleOutput>
551 <!-- BUILD FAIL ON CHECKSTYLE VIOLATION -->
552 <failOnViolation>${checkstyle.failOnViolation}</failOnViolation>
553 <includeTestSourceDirectory>true</includeTestSourceDirectory>
554 <outputFile>${project.reporting.outputDirectory}/checkstyle</outputFile>
563 <groupId>com.puppycrawl.tools</groupId>
564 <artifactId>checkstyle</artifactId>
565 <version>6.19</version>
570 <!-- LOMBOK PLUGIN -->
572 <groupId>org.projectlombok</groupId>
573 <artifactId>lombok-maven-plugin</artifactId>
574 <version>${lombok.plugin.version}</version>
578 <phase>generate-sources</phase>
580 <goal>delombok</goal>
583 <addOutputDirectory>false</addOutputDirectory>
584 <sourceDirectory>src/main/java</sourceDirectory>
590 <!-- GIT COMMIT ID PLUGIN -->
592 <groupId>pl.project13.maven</groupId>
593 <artifactId>git-commit-id-plugin</artifactId>
594 <version>${gitcommitid.plugin.version}</version>
597 <id>generate-git-properties</id>
598 <phase>generate-resources</phase>
600 <goal>revision</goal>
603 <failOnNoGitDirectory>false</failOnNoGitDirectory>
604 <generateGitPropertiesFile>true</generateGitPropertiesFile>
605 <generateGitPropertiesFilename>
606 ${project.build.directory}/git/git.properties
607 </generateGitPropertiesFilename>
615 <groupId>org.apache.maven.plugins</groupId>
616 <artifactId>maven-jar-plugin</artifactId>
617 <version>${maven-jar-plugin.version}</version>
621 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
624 <Implementation-Build-Version>${project.version}</Implementation-Build-Version>
631 <!-- ASSEMBLY PLUGIN -->
633 <groupId>org.apache.maven.plugins</groupId>
634 <artifactId>maven-assembly-plugin</artifactId>
635 <version>${maven-assembly-plugin.version}</version>
638 <descriptor>${main.basedir}/assembly/cdp-assembly-descriptor.xml</descriptor>
643 <id>cdp-assembly</id>
644 <phase>package</phase>
652 <!-- BUILD HELPER PLUGIN -->
654 <groupId>org.codehaus.mojo</groupId>
655 <artifactId>build-helper-maven-plugin</artifactId>
656 <version>${maven.build.helper.plugin.version}</version>
659 <!-- SPRING BOOT PLUGIN -->
661 <groupId>org.springframework.boot</groupId>
662 <artifactId>spring-boot-maven-plugin</artifactId>
663 <version>${spring.boot.version}</version>
668 <goal>build-info</goal>
672 <id>spring-boot-uber-jar</id>
674 <goal>repackage</goal>
680 <!-- DOCKER PLUGIN -->
682 <groupId>com.spotify</groupId>
683 <artifactId>dockerfile-maven-plugin</artifactId>
684 <version>${dockerfile-maven-version}</version>
686 <repository>${docker.repository}/${project.artifactId}</repository>
687 <tag>${project.version}</tag>
699 <groupId>org.apache.maven.plugins</groupId>
700 <artifactId>maven-compiler-plugin</artifactId>
704 <groupId>org.apache.maven.plugins</groupId>
705 <artifactId>maven-jar-plugin</artifactId>
709 <groupId>org.apache.maven.plugins</groupId>
710 <artifactId>maven-surefire-plugin</artifactId>
714 <groupId>org.apache.maven.plugins</groupId>
715 <artifactId>maven-failsafe-plugin</artifactId>
719 <groupId>org.apache.maven.plugins</groupId>
720 <artifactId>maven-source-plugin</artifactId>
724 <groupId>org.apache.maven.plugins</groupId>
725 <artifactId>maven-javadoc-plugin</artifactId>
729 <groupId>org.apache.maven.plugins</groupId>
730 <artifactId>maven-deploy-plugin</artifactId>
734 <groupId>org.apache.maven.plugins</groupId>
735 <artifactId>maven-pmd-plugin</artifactId>
739 <groupId>org.codehaus.mojo</groupId>
740 <artifactId>findbugs-maven-plugin</artifactId>
744 <groupId>org.apache.maven.plugins</groupId>
745 <artifactId>maven-checkstyle-plugin</artifactId>
749 <groupId>org.jacoco</groupId>
750 <artifactId>jacoco-maven-plugin</artifactId>