1 <?xml version="1.0" encoding="UTF-8"?>
3 ~ ===============================LICENSE_START======================================
5 ~ ================================================================================
6 ~ Copyright © 2017 AT&T Intellectual Property. All rights reserved.
7 ~ ================================================================================
8 ~ Licensed under the Apache License, Version 2.0 (the "License");
9 ~ you may not use this file except in compliance with the License.
10 ~ You may obtain a copy of the License at
12 ~ http://www.apache.org/licenses/LICENSE-2.0
14 ~ Unless required by applicable law or agreed to in writing, software
15 ~ distributed under the License is distributed on an "AS IS" BASIS,
16 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 ~ See the License for the specific language governing permissions and
18 ~ limitations under the License.
19 ~ ============================LICENSE_END===========================================
22 <project xmlns="http://maven.apache.org/POM/4.0.0"
23 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
24 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.oparent</groupId>
29 <artifactId>oparent</artifactId>
30 <version>1.0.0-SNAPSHOT</version>
33 <groupId>org.onap.dcaegen2.analytics.tca</groupId>
34 <artifactId>dcae-analytics</artifactId>
35 <version>2.0.0-SNAPSHOT</version>
36 <packaging>pom</packaging>
38 <name>dcaegen2-analytics-tca</name>
39 <description>Application Framework for DCAE Analytics</description>
43 <name>The Apache Software License, Version 2.0</name>
44 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
49 <!-- Black Duck plugin dependencies -->
52 <name>JCenter Repository</name>
53 <url>http://jcenter.bintray.com</url>
58 <name>Restlet Repository</name>
59 <url>http://maven.restlet.com</url>
63 <distributionManagement>
65 <id>ecomp-releases</id>
66 <name>OpenECOMP Release Repository</name>
67 <url>${nexusproxy}/content/repositories/releases</url>
70 <id>ecomp-snapshots</id>
71 <name>OpenECOMP Snapshot Repository</name>
72 <url>${nexusproxy}/content/repositories/snapshots</url>
76 <url>dav:${nexusproxy}/content/sites/site/org/onap/dcae/apod/analytics/${project.artifactId}/${project.version}/</url>
78 </distributionManagement>
82 <!-- PROJECT SETTINGS-->
83 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
84 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
85 <main.basedir>${project.basedir}</main.basedir>
88 <surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile>
90 <!-- PROJECT DEPENDENCIES -->
91 <cdap.version>4.0.0</cdap.version>
92 <cask.common.version>0.7.1</cask.common.version>
93 <hadoop.version>2.3.0</hadoop.version>
94 <spark.version>1.6.1</spark.version>
95 <!-- NOTE: Jackson version should match spark version jackson dependency -->
96 <jackson.json.version>2.4.4</jackson.json.version>
97 <netty.http.version>0.16.0</netty.http.version>
98 <gson.version>2.2.4</gson.version>
99 <guava.version>13.0.1</guava.version>
100 <guice.version>3.0</guice.version>
101 <slf4j.version>1.7.5</slf4j.version>
102 <logback.version>1.0.9</logback.version>
103 <findbugs.jsr305.version>2.0.1</findbugs.jsr305.version>
104 <findbugs.annotations.version>3.0.0</findbugs.annotations.version>
105 <lombok.version>1.16.10</lombok.version>
107 <json.path.version>2.2.0</json.path.version>
108 <quartz.version>2.2.0</quartz.version>
109 <httpclient.version>4.5.2</httpclient.version>
110 <commons.lang3.version>3.5</commons.lang3.version>
113 <!--TESTING DEPENDENCIES -->
114 <junit.version>4.12</junit.version>
115 <jayway.jsonpath.version>2.2.0</jayway.jsonpath.version>
116 <jsonassert.version>1.4.0</jsonassert.version>
117 <mockito.version>2.5.7</mockito.version>
118 <cucumber.version>1.2.5</cucumber.version>
121 <!-- PLUGINS VERSIONS -->
122 <compiler.plugin.version>3.3</compiler.plugin.version>
123 <surefire.plugin.version>2.19.1</surefire.plugin.version>
124 <failsafe.plugin.version>2.19.1</failsafe.plugin.version>
125 <bundle.plugin.version>2.5.4</bundle.plugin.version>
126 <autorun.plugin.version>1.7</autorun.plugin.version>
127 <eclipe.plugin.version>2.10</eclipe.plugin.version>
128 <findbugs.plugin.version>3.0.2</findbugs.plugin.version>
129 <cobertura.plugin.version>2.7</cobertura.plugin.version>
130 <pmd.plugin.version>3.5</pmd.plugin.version>
131 <surefire.report.plugin.version>2.19.1</surefire.report.plugin.version>
132 <checkstyle.plugin.version>2.16</checkstyle.plugin.version>
133 <javadoc.plugin.version>2.10.4</javadoc.plugin.version>
134 <source.plugin.version>2.4</source.plugin.version>
135 <jar.plugin.version>2.4</jar.plugin.version>
136 <deploy.plugin.version>2.8</deploy.plugin.version>
137 <jacoco.plugin.version>0.7.7.201606060606</jacoco.plugin.version>
138 <lombok.plugin.version>1.16.10.0</lombok.plugin.version>
139 <jgitflow.plugin.version>1.0-m5.1</jgitflow.plugin.version>
140 <maven.site.plugin>3.5.1</maven.site.plugin>
141 <jxr.plugin.version>2.5</jxr.plugin.version>
142 <project.info.reports.plugin.version>2.7</project.info.reports.plugin.version>
143 <blackduck.hub.version>2.0.0</blackduck.hub.version>
144 <sonar.plugin.version>3.2</sonar.plugin.version>
145 <license.plugin.version>1.12</license.plugin.version>
147 <!--PLUGIN SETTINGS -->
148 <compiler.source.version>1.7</compiler.source.version>
149 <compiler.target.version>1.7</compiler.target.version>
150 <unit.test.pattern>**/*Test.java</unit.test.pattern>
151 <skip.unit.tests>false</skip.unit.tests>
152 <integration.test.pattern>**/*IT.java</integration.test.pattern>
153 <skip.integration.tests>true</skip.integration.tests>
154 <pmd.violation.buildfail>true</pmd.violation.buildfail>
155 <findbugs.failOnError>true</findbugs.failOnError>
156 <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
157 <checkstyle.file.name>checkstyle.xml</checkstyle.file.name>
158 <checkstyle.suppression.file.name>suppressions.xml</checkstyle.suppression.file.name>
159 <jacoco.it.execution.data.file>${project.build.directory}/coverage-reports/jacoco-it.exec
160 </jacoco.it.execution.data.file>
161 <jacoco.ut.execution.data.file>${project.build.directory}/coverage-reports/jacoco-ut.exec
162 </jacoco.ut.execution.data.file>
163 <dependency.locations.enabled>false</dependency.locations.enabled>
164 <nexusproxy>https://nexus.onap.org</nexusproxy>
168 <dependencyManagement>
174 <groupId>co.cask.cdap</groupId>
175 <artifactId>cdap-api</artifactId>
176 <version>${cdap.version}</version>
177 <scope>provided</scope>
181 <groupId>co.cask.cdap</groupId>
182 <artifactId>cdap-etl-api</artifactId>
183 <version>${cdap.version}</version>
184 <scope>provided</scope>
188 <groupId>co.cask.cdap</groupId>
189 <artifactId>cdap-etl-api-spark</artifactId>
190 <version>${cdap.version}</version>
191 <scope>provided</scope>
195 <groupId>co.cask.cdap</groupId>
196 <artifactId>cdap-etl-realtime</artifactId>
197 <version>${cdap.version}</version>
198 <scope>provided</scope>
202 <groupId>co.cask.cdap</groupId>
203 <artifactId>cdap-data-pipeline</artifactId>
204 <version>${cdap.version}</version>
205 <scope>provided</scope>
209 <groupId>co.cask.cdap</groupId>
210 <artifactId>cdap-data-streams</artifactId>
211 <version>${cdap.version}</version>
212 <scope>provided</scope>
216 <groupId>org.apache.spark</groupId>
217 <artifactId>spark-streaming_2.10</artifactId>
218 <version>${spark.version}</version>
219 <scope>provided</scope>
223 <groupId>co.cask.http</groupId>
224 <artifactId>netty-http</artifactId>
225 <version>${netty.http.version}</version>
230 <groupId>co.cask.common</groupId>
231 <artifactId>common-http</artifactId>
232 <version>${cask.common.version}</version>
233 <!-- exclude this, otherwise an old version of asm will get pulled in -->
236 <groupId>org.ow2.asm</groupId>
237 <artifactId>asm-all</artifactId>
244 <groupId>org.apache.hadoop</groupId>
245 <artifactId>hadoop-common</artifactId>
246 <version>${hadoop.version}</version>
247 <scope>provided</scope>
250 <groupId>commons-logging</groupId>
251 <artifactId>commons-logging</artifactId>
254 <groupId>log4j</groupId>
255 <artifactId>log4j</artifactId>
258 <groupId>org.slf4j</groupId>
259 <artifactId>slf4j-log4j12</artifactId>
262 <groupId>org.apache.avro</groupId>
263 <artifactId>avro</artifactId>
266 <groupId>org.apache.zookeeper</groupId>
267 <artifactId>zookeeper</artifactId>
270 <artifactId>guava</artifactId>
271 <groupId>com.google.guava</groupId>
274 <artifactId>jersey-core</artifactId>
275 <groupId>com.sun.jersey</groupId>
278 <artifactId>jersey-json</artifactId>
279 <groupId>com.sun.jersey</groupId>
282 <artifactId>jersey-server</artifactId>
283 <groupId>com.sun.jersey</groupId>
286 <artifactId>servlet-api</artifactId>
287 <groupId>javax.servlet</groupId>
290 <groupId>org.mortbay.jetty</groupId>
291 <artifactId>jetty</artifactId>
294 <groupId>org.mortbay.jetty</groupId>
295 <artifactId>jetty-util</artifactId>
298 <artifactId>jasper-compiler</artifactId>
299 <groupId>tomcat</groupId>
302 <artifactId>jasper-runtime</artifactId>
303 <groupId>tomcat</groupId>
306 <artifactId>jsp-api</artifactId>
307 <groupId>javax.servlet.jsp</groupId>
310 <artifactId>slf4j-api</artifactId>
311 <groupId>org.slf4j</groupId>
314 <artifactId>httpcore</artifactId>
315 <groupId>org.apache.httpcomponents</groupId>
321 <groupId>org.apache.hadoop</groupId>
322 <artifactId>hadoop-mapreduce-client-core</artifactId>
323 <version>${hadoop.version}</version>
324 <scope>provided</scope>
327 <groupId>asm</groupId>
328 <artifactId>asm</artifactId>
331 <groupId>io.netty</groupId>
332 <artifactId>netty</artifactId>
335 <groupId>org.slf4j</groupId>
336 <artifactId>slf4j-log4j12</artifactId>
344 <groupId>org.apache.spark</groupId>
345 <artifactId>spark-core_2.10</artifactId>
346 <version>${spark.version}</version>
347 <scope>provided</scope>
350 <groupId>asm</groupId>
351 <artifactId>asm</artifactId>
354 <groupId>org.slf4j</groupId>
355 <artifactId>slf4j-log4j12</artifactId>
358 <groupId>log4j</groupId>
359 <artifactId>log4j</artifactId>
362 <groupId>org.apache.hadoop</groupId>
363 <artifactId>hadoop-client</artifactId>
366 <groupId>com.esotericsoftware.reflectasm</groupId>
367 <artifactId>reflectasm</artifactId>
370 <groupId>org.apache.curator</groupId>
371 <artifactId>curator-recipes</artifactId>
374 <groupId>org.tachyonproject</groupId>
375 <artifactId>tachyon-client</artifactId>
378 <groupId>org.scala-lang</groupId>
379 <artifactId>scala-compiler</artifactId>
382 <groupId>org.eclipse.jetty.orbit</groupId>
383 <artifactId>javax.servlet</artifactId>
390 <groupId>org.slf4j</groupId>
391 <artifactId>slf4j-api</artifactId>
392 <version>${slf4j.version}</version>
393 <scope>provided</scope>
397 <groupId>ch.qos.logback</groupId>
398 <artifactId>logback-core</artifactId>
399 <version>${logback.version}</version>
400 <scope>provided</scope>
404 <groupId>ch.qos.logback</groupId>
405 <artifactId>logback-classic</artifactId>
406 <version>${logback.version}</version>
407 <scope>provided</scope>
412 <groupId>com.google.guava</groupId>
413 <artifactId>guava</artifactId>
414 <version>${guava.version}</version>
418 <groupId>com.google.code.gson</groupId>
419 <artifactId>gson</artifactId>
420 <version>${gson.version}</version>
421 <scope>provided</scope>
424 <groupId>org.apache.commons</groupId>
425 <artifactId>commons-lang3</artifactId>
426 <version>${commons.lang3.version}</version>
431 <groupId>com.google.code.findbugs</groupId>
432 <artifactId>jsr305</artifactId>
433 <version>${findbugs.jsr305.version}</version>
434 <scope>provided</scope>
437 <groupId>com.google.code.findbugs</groupId>
438 <artifactId>annotations</artifactId>
439 <version>${findbugs.annotations.version}</version>
440 <scope>provided</scope>
443 <!-- JACKSON JSON -->
445 <groupId>com.fasterxml.jackson.core</groupId>
446 <artifactId>jackson-core</artifactId>
447 <version>${jackson.json.version}</version>
450 <groupId>com.fasterxml.jackson.core</groupId>
451 <artifactId>jackson-databind</artifactId>
452 <version>${jackson.json.version}</version>
455 <groupId>com.fasterxml.jackson.core</groupId>
456 <artifactId>jackson-annotations</artifactId>
457 <version>${jackson.json.version}</version>
462 <groupId>com.jayway.jsonpath</groupId>
463 <artifactId>json-path</artifactId>
464 <version>${json.path.version}</version>
467 <!-- CODE GENERATION -->
469 <groupId>org.projectlombok</groupId>
470 <artifactId>lombok</artifactId>
471 <version>${lombok.version}</version>
472 <scope>provided</scope>
476 <!-- DEPENDENCY INJECTION -->
478 <groupId>com.google.inject</groupId>
479 <artifactId>guice</artifactId>
480 <version>${guice.version}</version>
483 <groupId>com.google.inject.extensions</groupId>
484 <artifactId>guice-assistedinject</artifactId>
485 <version>${guice.version}</version>
488 <groupId>com.google.inject.extensions</groupId>
489 <artifactId>guice-multibindings</artifactId>
490 <version>${guice.version}</version>
495 <groupId>org.quartz-scheduler</groupId>
496 <artifactId>quartz</artifactId>
497 <version>${quartz.version}</version>
502 <groupId>org.apache.httpcomponents</groupId>
503 <artifactId>httpclient</artifactId>
504 <version>${httpclient.version}</version>
508 <!-- TEST DEPENDENCIES -->
510 <groupId>co.cask.cdap</groupId>
511 <artifactId>cdap-unit-test</artifactId>
512 <version>${cdap.version}</version>
517 <groupId>co.cask.cdap</groupId>
518 <artifactId>hydrator-test</artifactId>
519 <version>${cdap.version}</version>
524 <groupId>junit</groupId>
525 <artifactId>junit</artifactId>
526 <version>${junit.version}</version>
531 <groupId>org.mockito</groupId>
532 <artifactId>mockito-core</artifactId>
533 <version>${mockito.version}</version>
537 <groupId>com.jayway.jsonpath</groupId>
538 <artifactId>json-path-assert</artifactId>
539 <version>${jayway.jsonpath.version}</version>
544 <groupId>org.skyscreamer</groupId>
545 <artifactId>jsonassert</artifactId>
546 <version>${jsonassert.version}</version>
550 <!-- BDD TEST DEPENDENCIES -->
552 <groupId>info.cukes</groupId>
553 <artifactId>cucumber-java</artifactId>
554 <version>${cucumber.version}</version>
559 <groupId>info.cukes</groupId>
560 <artifactId>cucumber-guice</artifactId>
561 <version>${cucumber.version}</version>
566 <groupId>info.cukes</groupId>
567 <artifactId>cucumber-junit</artifactId>
568 <version>${cucumber.version}</version>
574 </dependencyManagement>
581 <groupId>org.apache.maven.wagon</groupId>
582 <artifactId>wagon-webdav-jackrabbit</artifactId>
583 <version>1.0-beta-7</version>
591 <!-- COMPILER PLUGIN -->
593 <groupId>org.apache.maven.plugins</groupId>
594 <artifactId>maven-compiler-plugin</artifactId>
595 <version>${compiler.plugin.version}</version>
597 <source>${compiler.target.version}</source>
598 <target>${compiler.source.version}</target>
602 <!-- MAVEN SOURCE PLUGIN -->
604 <groupId>org.apache.maven.plugins</groupId>
605 <artifactId>maven-source-plugin</artifactId>
606 <version>${source.plugin.version}</version>
608 <excludeResources>true</excludeResources>
612 <id>attach-sources</id>
613 <phase>verify</phase>
615 <goal>jar-no-fork</goal>
622 <!-- MAVEN JAVADOC PLUGIN -->
624 <groupId>org.apache.maven.plugins</groupId>
625 <artifactId>maven-javadoc-plugin</artifactId>
626 <version>${javadoc.plugin.version}</version>
628 <!-- minimize console output messages -->
630 <verbose>false</verbose>
631 <useStandardDocletOptions>false</useStandardDocletOptions>
638 <goal>aggregate</goal>
642 <id>attach-javadoc</id>
650 <!-- MAVEN BUNDLE PLUGIN -->
652 <groupId>org.apache.felix</groupId>
653 <artifactId>maven-bundle-plugin</artifactId>
654 <version>${bundle.plugin.version}</version>
655 <extensions>true</extensions>
658 <Embed-Dependency>*;inline=false;scope=compile</Embed-Dependency>
659 <Embed-Transitive>true</Embed-Transitive>
660 <Embed-Directory>lib</Embed-Directory>
665 <id>Bundling CDAP Jar</id>
666 <phase>package</phase>
674 <!-- MAVEN AUTO RUN PLUGIN -->
676 <groupId>org.apache.maven.plugins</groupId>
677 <artifactId>maven-antrun-plugin</artifactId>
678 <version>${autorun.plugin.version}</version>
681 <!-- JACOCO CODE COVERAGE PLUGIN -->
683 <groupId>org.jacoco</groupId>
684 <artifactId>jacoco-maven-plugin</artifactId>
685 <version>${jacoco.plugin.version}</version>
688 <!-- Exclude all test classes for code coverage reports -->
689 <exclude>**/test/**</exclude>
690 <!-- Exclude all domain classes as they should only contain domain objects, no logic -->
691 <exclude>**/domain/**</exclude>
692 <!-- Exclude all facade classes as they should only contain facade objects, no logic -->
693 <exclude>**/facade/**</exclude>
694 <!-- Exclude mixin class for code coverage as they are just for json parsing hints -->
695 <exclude>**/mixin/**</exclude>
696 <!-- Exclude classes ending with "Constants" as they should only store static constants -->
697 <exclude>**/*Constants.*</exclude>
698 <!-- Exclude classes ending with "Module" as they are used for wiring beans by guice -->
699 <exclude>**/*Module.*</exclude>
700 <!-- Exclude classes ending with "Exception" as they are mostly wrapper over java
702 <exclude>**/*Exception.*</exclude>
703 <!-- Exclude classes ending with "Entity" as they should not contain any logic -->
704 <exclude>**/*Entity.*</exclude>
708 <!-- prepare jacoco agent before unit tests -->
710 <id>pre-unit-test</id>
712 <goal>prepare-agent</goal>
715 <destFile>${jacoco.ut.execution.data.file}</destFile>
716 <propertyName>surefireArgLine</propertyName>
719 <!-- generate unit test coverage report -->
721 <id>post-unit-test</id>
727 <dataFile>${jacoco.ut.execution.data.file}</dataFile>
728 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
731 <!-- prepare jacoco agent before integration tests -->
733 <id>pre-integration-test</id>
734 <phase>pre-integration-test</phase>
736 <goal>prepare-agent</goal>
739 <destFile>${jacoco.it.execution.data.file}</destFile>
740 <propertyName>failsafeArgLine</propertyName>
743 <!-- generate integration test coverage report -->
745 <id>post-integration-test</id>
746 <phase>post-integration-test</phase>
751 <dataFile>${jacoco.it.execution.data.file}</dataFile>
752 <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
759 <!-- SUREFIRE TEST PLUGIN -->
761 <groupId>org.apache.maven.plugins</groupId>
762 <artifactId>maven-surefire-plugin</artifactId>
763 <version>${surefire.plugin.version}</version>
765 <skipTests>${skip.unit.tests}</skipTests>
766 <argLine>-Xmx2048m -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
767 -XX:OnOutOfMemoryError="kill -9 %p" -XX:+HeapDumpOnOutOfMemoryError
769 <redirectTestOutputToFile>${surefire.redirectTestOutputToFile}</redirectTestOutputToFile>
770 <parallel>methods</parallel>
771 <threadCount>8</threadCount>
772 <forkCount>8</forkCount>
773 <reuseForks>true</reuseForks>
774 <reportFormat>xml</reportFormat>
775 <trimStackTrace>false</trimStackTrace>
776 <systemPropertyVariables>
777 <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
778 <logback.configurationFile>
779 ${basedir}/src/test/resources/logback-test.xml
780 </logback.configurationFile>
781 <HADOOP_HOME>${project.build.directory}</HADOOP_HOME>
782 </systemPropertyVariables>
784 <include>${unit.test.pattern}</include>
787 <exclude>${integration.test.pattern}</exclude>
789 <!-- Sets the VM argument line used when unit tests are run. -->
790 <argLine>${surefireArgLine}</argLine>
794 <groupId>org.apache.maven.surefire</groupId>
795 <artifactId>surefire-junit47</artifactId>
796 <version>${surefire.plugin.version}</version>
801 <!-- FAIL SAFE PLUGIN FOR INTEGRATION TEST -->
803 <groupId>org.apache.maven.plugins</groupId>
804 <artifactId>maven-failsafe-plugin</artifactId>
805 <version>${failsafe.plugin.version}</version>
808 <id>integration-tests</id>
810 <goal>integration-test</goal>
814 <skipTests>${skip.integration.tests}</skipTests>
815 <!-- Sets the VM argument line used when integration tests are run. -->
816 <!--suppress MavenModelInspection -->
817 <argLine>${failsafeArgLine}</argLine>
824 <!-- FIND BUGS (STATIC CODE ANALYSIS) PLUGIN -->
826 <groupId>org.codehaus.mojo</groupId>
827 <artifactId>findbugs-maven-plugin</artifactId>
828 <version>${findbugs.plugin.version}</version>
831 <threshold>Low</threshold>
832 <xmlOutput>true</xmlOutput>
833 <!-- BUILD FAIL ON FINDBUGS ERRORS -->
834 <failOnError>${findbugs.failOnError}</failOnError>
835 <excludeFilterFile>${main.basedir}/findbugs-exclude.xml</excludeFilterFile>
836 <outputDirectory>${project.reporting.outputDirectory}/findbugs</outputDirectory>
837 <findbugsXmlOutputDirectory>${project.reporting.outputDirectory}/findbugs
838 </findbugsXmlOutputDirectory>
842 <id>analyze-compile</id>
843 <phase>compile</phase>
851 <!-- PMD PLUGIN SETUP -->
853 <groupId>org.apache.maven.plugins</groupId>
854 <artifactId>maven-pmd-plugin</artifactId>
855 <version>${pmd.plugin.version}</version>
857 <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
858 <targetJdk>${compiler.target.version}</targetJdk>
859 <linkXRef>false</linkXRef>
861 <!-- IGNORE PMD & CPD ANALYTICS MODEL FACADE OBJECTS -->
862 <exclude>**/model/facade/**/*.java</exclude>
864 <!-- BUILD FAIL ON PMD VIOLATION -->
865 <failOnViolation>${pmd.violation.buildfail}</failOnViolation>
866 <targetDirectory>${project.reporting.outputDirectory}/pmd</targetDirectory>
875 <printFailingErrors>true</printFailingErrors>
876 <excludeFromFailureFile>${main.basedir}/pmd-exclude.properties</excludeFromFailureFile>
882 <goal>cpd-check</goal>
885 <printFailingErrors>true</printFailingErrors>
886 <excludeFromFailureFile>${main.basedir}/cpd-exclude.properties</excludeFromFailureFile>
893 <!-- CHECKSTYLE PLUGIN -->
895 <groupId>org.apache.maven.plugins</groupId>
896 <artifactId>maven-checkstyle-plugin</artifactId>
897 <version>${checkstyle.plugin.version}</version>
901 <phase>validate</phase>
903 <configLocation>${checkstyle.file.name}</configLocation>
904 <suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
905 <encoding>UTF-8</encoding>
906 <consoleOutput>true</consoleOutput>
907 <!-- BUILD FAIL ON CHECKSTYLE VIOLATION -->
908 <failOnViolation>${checkstyle.failOnViolation}</failOnViolation>
909 <includeTestSourceDirectory>true</includeTestSourceDirectory>
910 <outputFile>${project.reporting.outputDirectory}/checkstyle</outputFile>
919 <groupId>com.puppycrawl.tools</groupId>
920 <artifactId>checkstyle</artifactId>
921 <version>6.19</version>
926 <!-- ECLIPSE PLUGIN -->
928 <groupId>org.apache.maven.plugins</groupId>
929 <artifactId>maven-eclipse-plugin</artifactId>
930 <version>${eclipe.plugin.version}</version>
934 <!-- LOMBOK PLUGIN -->
936 <groupId>org.projectlombok</groupId>
937 <artifactId>lombok-maven-plugin</artifactId>
938 <version>${lombok.plugin.version}</version>
942 <phase>generate-sources</phase>
944 <goal>delombok</goal>
947 <addOutputDirectory>false</addOutputDirectory>
948 <sourceDirectory>src/main/java</sourceDirectory>
955 <!-- JGIT FLOW PLUGIN -->
958 <groupId>external.atlassian.jgitflow</groupId>
959 <artifactId>jgitflow-maven-plugin</artifactId>
960 <version>${jgitflow.plugin.version}</version>
962 <!-- Enable this to push to origin using SSH keys -->
963 <enableSshAgent>true</enableSshAgent>
964 <!-- Keep your maven sub modules at the same version as the parent POM -->
965 <autoVersionSubmodules>true</autoVersionSubmodules>
967 Pushing in-development features to origin allows all devs to see what each other
970 <pushFeatures>true</pushFeatures>
972 This allows the CI server (e.g. Jenkins) to automatically push new releases to
973 origin; you can then either manually deploy them or, if you are doing Continuous
974 Deployments, auto-deploy them to prod
976 <pushReleases>true</pushReleases>
978 Hot Fixes should be pushed to origin as well so that any dev can pick them up
980 <pushHotfixes>true</pushHotfixes>
982 Prevents deployments from dev workstations so that they can be done by a CI
986 <masterBranchName>master</masterBranchName>
987 <developBranchName>develop</developBranchName>
988 <featureBranchPrefix>feature</featureBranchPrefix>
989 <releaseBranchPrefix>release</releaseBranchPrefix>
990 <hotfixBranchPrefix>hotfix</hotfixBranchPrefix>
992 <noDeploy>true</noDeploy>
998 <groupId>org.apache.maven.plugins</groupId>
999 <artifactId>maven-jar-plugin</artifactId>
1000 <version>${jar.plugin.version}</version>
1004 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
1007 <Implementation-Build-Version>${project.version}</Implementation-Build-Version>
1014 <!-- BLACK DUCK LICENSE SCANNER -->
1017 <groupId>com.blackducksoftware.integration</groupId>
1018 <artifactId>hub-maven-plugin</artifactId>
1019 <version>${blackduck.hub.version}</version>
1020 <inherited>false</inherited>
1022 <hubProjectName>${project.name}</hubProjectName>
1023 <outputDirectory>${project.basedir}</outputDirectory>
1024 <deployHubBdio>false</deployHubBdio>
1028 <id>create-bdio-file</id>
1029 <phase>package</phase>
1031 <goal>build-bom</goal>
1038 <!-- LICENSE PLUGIN -->
1041 <groupId>org.codehaus.mojo</groupId>
1042 <artifactId>license-maven-plugin</artifactId>
1043 <version>${license.plugin.version}</version>
1045 <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
1046 <processStartTag>============LICENSE_START=======================================================</processStartTag>
1047 <processEndTag>============LICENSE_END=========================================================</processEndTag>
1048 <sectionDelimiter>================================================================================</sectionDelimiter>
1049 <licenseName>apache_v2</licenseName>
1050 <inceptionYear>2017</inceptionYear>
1051 <organizationName>AT&T Intellectual Property. All rights reserved.</organizationName>
1052 <projectName>dcae-analytics</projectName>
1053 <canUpdateCopyright>true</canUpdateCopyright>
1054 <canUpdateDescription>true</canUpdateDescription>
1055 <canUpdateLicense>true</canUpdateLicense>
1056 <emptyLineAfterHeader>true</emptyLineAfterHeader>
1062 <goal>update-file-header</goal>
1064 <phase>process-sources</phase>
1070 <!-- SONAR PLUGIN -->
1072 <groupId>org.codehaus.mojo</groupId>
1073 <artifactId>sonar-maven-plugin</artifactId>
1074 <version>${sonar.plugin.version}</version>
1077 <!-- DEPLOY PLUGIN -->
1079 <groupId>org.apache.maven.plugins</groupId>
1080 <artifactId>maven-deploy-plugin</artifactId>
1081 <version>${deploy.plugin.version}</version>
1085 <groupId>org.apache.maven.plugins</groupId>
1086 <artifactId>maven-site-plugin</artifactId>
1087 <version>${maven.site.plugin}</version>
1092 <groupId>org.apache.maven.plugins</groupId>
1093 <artifactId>maven-jxr-plugin</artifactId>
1094 <version>${jxr.plugin.version}</version>
1098 <groupId>org.apache.maven.plugins</groupId>
1099 <artifactId>maven-project-info-reports-plugin</artifactId>
1100 <version>${project.info.reports.plugin.version}</version>
1102 <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
1103 <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
1108 <groupId>org.apache.maven.plugins</groupId>
1109 <artifactId>maven-surefire-report-plugin</artifactId>
1110 <version>${surefire.report.plugin.version}</version>
1120 <groupId>org.apache.maven.plugins</groupId>
1121 <artifactId>maven-compiler-plugin</artifactId>
1125 <groupId>org.apache.maven.plugins</groupId>
1126 <artifactId>maven-jar-plugin</artifactId>
1130 <groupId>org.apache.maven.plugins</groupId>
1131 <artifactId>maven-surefire-plugin</artifactId>
1133 <skipTests>true</skipTests>
1138 <groupId>org.apache.maven.plugins</groupId>
1139 <artifactId>maven-failsafe-plugin</artifactId>
1143 <groupId>org.jacoco</groupId>
1144 <artifactId>jacoco-maven-plugin</artifactId>
1148 <groupId>org.apache.maven.plugins</groupId>
1149 <artifactId>maven-deploy-plugin</artifactId>
1154 <groupId>org.apache.maven.plugins</groupId>
1155 <artifactId>maven-source-plugin</artifactId>
1159 <groupId>org.apache.maven.plugins</groupId>
1160 <artifactId>maven-javadoc-plugin</artifactId>
1164 <groupId>org.apache.maven.plugins</groupId>
1165 <artifactId>maven-pmd-plugin</artifactId>
1169 <groupId>org.codehaus.mojo</groupId>
1170 <artifactId>findbugs-maven-plugin</artifactId>
1174 <groupId>org.apache.maven.plugins</groupId>
1175 <artifactId>maven-checkstyle-plugin</artifactId>
1179 <groupId>external.atlassian.jgitflow</groupId>
1180 <artifactId>jgitflow-maven-plugin</artifactId>
1185 <groupId>com.blackducksoftware.integration</groupId>
1186 <artifactId>hub-maven-plugin</artifactId>
1197 <groupId>org.apache.maven.plugins</groupId>
1198 <artifactId>maven-site-plugin</artifactId>
1201 <groupId>org.apache.maven.plugins</groupId>
1202 <artifactId>maven-checkstyle-plugin</artifactId>
1204 <configLocation>${checkstyle.file.name}</configLocation>
1205 <suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
1209 <groupId>org.jacoco</groupId>
1210 <artifactId>jacoco-maven-plugin</artifactId>
1211 <version>${jacoco.plugin.version}</version>
1213 <dataFile>${jacoco.ut.execution.data.file}</dataFile>
1214 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
1218 <groupId>org.apache.maven.plugins</groupId>
1219 <artifactId>maven-jxr-plugin</artifactId>
1222 <groupId>org.apache.maven.plugins</groupId>
1223 <artifactId>maven-pmd-plugin</artifactId>
1226 <groupId>org.apache.maven.plugins</groupId>
1227 <artifactId>maven-project-info-reports-plugin</artifactId>
1230 <groupId>org.apache.maven.plugins</groupId>
1231 <artifactId>maven-surefire-report-plugin</artifactId>
1237 <module>dcae-analytics-test</module>
1238 <module>dcae-analytics-model</module>
1239 <module>dcae-analytics-common</module>
1240 <module>dcae-analytics-dmaap</module>
1241 <module>dcae-analytics-tca</module>
1242 <module>dcae-analytics-cdap-common</module>
1243 <module>dcae-analytics-cdap-tca</module>
1244 <module>dcae-analytics-cdap-plugins</module>
1245 <module>dcae-analytics-it</module>