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.openecomp.dcae.apod.analytics</groupId>
29 <artifactId>dcae-analytics</artifactId>
30 <version>2.0.0-SNAPSHOT</version>
31 <packaging>pom</packaging>
33 <name>DCAE Analytics Framework</name>
34 <description>Application Framework for DCAE Analytics</description>
38 <name>The Apache Software License, Version 2.0</name>
39 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
44 <!-- Black Duck plugin dependencies -->
47 <name>JCenter Repository</name>
48 <url>http://jcenter.bintray.com</url>
53 <name>Restlet Repository</name>
54 <url>http://maven.restlet.com</url>
58 <distributionManagement>
60 <id>ecomp-releases</id>
61 <name>OpenECOMP Release Repository</name>
62 <url>${nexusproxy}/content/repositories/releases</url>
65 <id>ecomp-snapshots</id>
66 <name>OpenECOMP Snapshot Repository</name>
67 <url>${nexusproxy}/content/repositories/snapshots</url>
71 <url>dav:${nexusproxy}/content/sites/site/org/onap/dcae/apod/analytics/${project.artifactId}/${project.version}/</url>
73 </distributionManagement>
77 <!-- PROJECT SETTINGS-->
78 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
79 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
80 <main.basedir>${project.basedir}</main.basedir>
83 <surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile>
85 <!-- PROJECT DEPENDENCIES -->
86 <cdap.version>4.0.0</cdap.version>
87 <cask.common.version>0.7.1</cask.common.version>
88 <hadoop.version>2.3.0</hadoop.version>
89 <spark.version>1.6.1</spark.version>
90 <!-- NOTE: Jackson version should match spark version jackson dependency -->
91 <jackson.json.version>2.4.4</jackson.json.version>
92 <netty.http.version>0.16.0</netty.http.version>
93 <gson.version>2.2.4</gson.version>
94 <guava.version>13.0.1</guava.version>
95 <guice.version>3.0</guice.version>
96 <slf4j.version>1.7.5</slf4j.version>
97 <logback.version>1.0.9</logback.version>
98 <findbugs.jsr305.version>2.0.1</findbugs.jsr305.version>
99 <findbugs.annotations.version>3.0.0</findbugs.annotations.version>
100 <lombok.version>1.16.10</lombok.version>
102 <json.path.version>2.2.0</json.path.version>
103 <quartz.version>2.2.0</quartz.version>
104 <httpclient.version>4.5.2</httpclient.version>
105 <commons.lang3.version>3.5</commons.lang3.version>
108 <!--TESTING DEPENDENCIES -->
109 <junit.version>4.12</junit.version>
110 <jayway.jsonpath.version>2.2.0</jayway.jsonpath.version>
111 <jsonassert.version>1.4.0</jsonassert.version>
112 <mockito.version>2.5.7</mockito.version>
113 <cucumber.version>1.2.5</cucumber.version>
116 <!-- PLUGINS VERSIONS -->
117 <compiler.plugin.version>3.3</compiler.plugin.version>
118 <surefire.plugin.version>2.19.1</surefire.plugin.version>
119 <failsafe.plugin.version>2.19.1</failsafe.plugin.version>
120 <bundle.plugin.version>2.5.4</bundle.plugin.version>
121 <autorun.plugin.version>1.7</autorun.plugin.version>
122 <eclipe.plugin.version>2.10</eclipe.plugin.version>
123 <findbugs.plugin.version>3.0.2</findbugs.plugin.version>
124 <cobertura.plugin.version>2.7</cobertura.plugin.version>
125 <pmd.plugin.version>3.5</pmd.plugin.version>
126 <surefire.report.plugin.version>2.19.1</surefire.report.plugin.version>
127 <checkstyle.plugin.version>2.16</checkstyle.plugin.version>
128 <javadoc.plugin.version>2.10.4</javadoc.plugin.version>
129 <source.plugin.version>2.4</source.plugin.version>
130 <jar.plugin.version>2.4</jar.plugin.version>
131 <deploy.plugin.version>2.8</deploy.plugin.version>
132 <jacoco.plugin.version>0.7.7.201606060606</jacoco.plugin.version>
133 <lombok.plugin.version>1.16.10.0</lombok.plugin.version>
134 <jgitflow.plugin.version>1.0-m5.1</jgitflow.plugin.version>
135 <maven.site.plugin>3.5.1</maven.site.plugin>
136 <jxr.plugin.version>2.5</jxr.plugin.version>
137 <project.info.reports.plugin.version>2.7</project.info.reports.plugin.version>
138 <blackduck.hub.version>2.0.0</blackduck.hub.version>
139 <sonar.plugin.version>3.2</sonar.plugin.version>
140 <license.plugin.version>1.12</license.plugin.version>
142 <!--PLUGIN SETTINGS -->
143 <compiler.source.version>1.7</compiler.source.version>
144 <compiler.target.version>1.7</compiler.target.version>
145 <unit.test.pattern>**/*Test.java</unit.test.pattern>
146 <skip.unit.tests>false</skip.unit.tests>
147 <integration.test.pattern>**/*IT.java</integration.test.pattern>
148 <skip.integration.tests>true</skip.integration.tests>
149 <pmd.violation.buildfail>true</pmd.violation.buildfail>
150 <findbugs.failOnError>true</findbugs.failOnError>
151 <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
152 <checkstyle.file.name>checkstyle.xml</checkstyle.file.name>
153 <checkstyle.suppression.file.name>suppressions.xml</checkstyle.suppression.file.name>
154 <jacoco.it.execution.data.file>${project.build.directory}/coverage-reports/jacoco-it.exec
155 </jacoco.it.execution.data.file>
156 <jacoco.ut.execution.data.file>${project.build.directory}/coverage-reports/jacoco-ut.exec
157 </jacoco.ut.execution.data.file>
158 <dependency.locations.enabled>false</dependency.locations.enabled>
162 <dependencyManagement>
168 <groupId>co.cask.cdap</groupId>
169 <artifactId>cdap-api</artifactId>
170 <version>${cdap.version}</version>
171 <scope>provided</scope>
175 <groupId>co.cask.cdap</groupId>
176 <artifactId>cdap-etl-api</artifactId>
177 <version>${cdap.version}</version>
178 <scope>provided</scope>
182 <groupId>co.cask.cdap</groupId>
183 <artifactId>cdap-etl-api-spark</artifactId>
184 <version>${cdap.version}</version>
185 <scope>provided</scope>
189 <groupId>co.cask.cdap</groupId>
190 <artifactId>cdap-etl-realtime</artifactId>
191 <version>${cdap.version}</version>
192 <scope>provided</scope>
196 <groupId>co.cask.cdap</groupId>
197 <artifactId>cdap-data-pipeline</artifactId>
198 <version>${cdap.version}</version>
199 <scope>provided</scope>
203 <groupId>co.cask.cdap</groupId>
204 <artifactId>cdap-data-streams</artifactId>
205 <version>${cdap.version}</version>
206 <scope>provided</scope>
210 <groupId>org.apache.spark</groupId>
211 <artifactId>spark-streaming_2.10</artifactId>
212 <version>${spark.version}</version>
213 <scope>provided</scope>
217 <groupId>co.cask.http</groupId>
218 <artifactId>netty-http</artifactId>
219 <version>${netty.http.version}</version>
224 <groupId>co.cask.common</groupId>
225 <artifactId>common-http</artifactId>
226 <version>${cask.common.version}</version>
227 <!-- exclude this, otherwise an old version of asm will get pulled in -->
230 <groupId>org.ow2.asm</groupId>
231 <artifactId>asm-all</artifactId>
238 <groupId>org.apache.hadoop</groupId>
239 <artifactId>hadoop-common</artifactId>
240 <version>${hadoop.version}</version>
241 <scope>provided</scope>
244 <groupId>commons-logging</groupId>
245 <artifactId>commons-logging</artifactId>
248 <groupId>log4j</groupId>
249 <artifactId>log4j</artifactId>
252 <groupId>org.slf4j</groupId>
253 <artifactId>slf4j-log4j12</artifactId>
256 <groupId>org.apache.avro</groupId>
257 <artifactId>avro</artifactId>
260 <groupId>org.apache.zookeeper</groupId>
261 <artifactId>zookeeper</artifactId>
264 <artifactId>guava</artifactId>
265 <groupId>com.google.guava</groupId>
268 <artifactId>jersey-core</artifactId>
269 <groupId>com.sun.jersey</groupId>
272 <artifactId>jersey-json</artifactId>
273 <groupId>com.sun.jersey</groupId>
276 <artifactId>jersey-server</artifactId>
277 <groupId>com.sun.jersey</groupId>
280 <artifactId>servlet-api</artifactId>
281 <groupId>javax.servlet</groupId>
284 <groupId>org.mortbay.jetty</groupId>
285 <artifactId>jetty</artifactId>
288 <groupId>org.mortbay.jetty</groupId>
289 <artifactId>jetty-util</artifactId>
292 <artifactId>jasper-compiler</artifactId>
293 <groupId>tomcat</groupId>
296 <artifactId>jasper-runtime</artifactId>
297 <groupId>tomcat</groupId>
300 <artifactId>jsp-api</artifactId>
301 <groupId>javax.servlet.jsp</groupId>
304 <artifactId>slf4j-api</artifactId>
305 <groupId>org.slf4j</groupId>
308 <artifactId>httpcore</artifactId>
309 <groupId>org.apache.httpcomponents</groupId>
315 <groupId>org.apache.hadoop</groupId>
316 <artifactId>hadoop-mapreduce-client-core</artifactId>
317 <version>${hadoop.version}</version>
318 <scope>provided</scope>
321 <groupId>asm</groupId>
322 <artifactId>asm</artifactId>
325 <groupId>io.netty</groupId>
326 <artifactId>netty</artifactId>
329 <groupId>org.slf4j</groupId>
330 <artifactId>slf4j-log4j12</artifactId>
338 <groupId>org.apache.spark</groupId>
339 <artifactId>spark-core_2.10</artifactId>
340 <version>${spark.version}</version>
341 <scope>provided</scope>
344 <groupId>asm</groupId>
345 <artifactId>asm</artifactId>
348 <groupId>org.slf4j</groupId>
349 <artifactId>slf4j-log4j12</artifactId>
352 <groupId>log4j</groupId>
353 <artifactId>log4j</artifactId>
356 <groupId>org.apache.hadoop</groupId>
357 <artifactId>hadoop-client</artifactId>
360 <groupId>com.esotericsoftware.reflectasm</groupId>
361 <artifactId>reflectasm</artifactId>
364 <groupId>org.apache.curator</groupId>
365 <artifactId>curator-recipes</artifactId>
368 <groupId>org.tachyonproject</groupId>
369 <artifactId>tachyon-client</artifactId>
372 <groupId>org.scala-lang</groupId>
373 <artifactId>scala-compiler</artifactId>
376 <groupId>org.eclipse.jetty.orbit</groupId>
377 <artifactId>javax.servlet</artifactId>
384 <groupId>org.slf4j</groupId>
385 <artifactId>slf4j-api</artifactId>
386 <version>${slf4j.version}</version>
387 <scope>provided</scope>
391 <groupId>ch.qos.logback</groupId>
392 <artifactId>logback-core</artifactId>
393 <version>${logback.version}</version>
394 <scope>provided</scope>
398 <groupId>ch.qos.logback</groupId>
399 <artifactId>logback-classic</artifactId>
400 <version>${logback.version}</version>
401 <scope>provided</scope>
406 <groupId>com.google.guava</groupId>
407 <artifactId>guava</artifactId>
408 <version>${guava.version}</version>
412 <groupId>com.google.code.gson</groupId>
413 <artifactId>gson</artifactId>
414 <version>${gson.version}</version>
415 <scope>provided</scope>
418 <groupId>org.apache.commons</groupId>
419 <artifactId>commons-lang3</artifactId>
420 <version>${commons.lang3.version}</version>
425 <groupId>com.google.code.findbugs</groupId>
426 <artifactId>jsr305</artifactId>
427 <version>${findbugs.jsr305.version}</version>
428 <scope>provided</scope>
431 <groupId>com.google.code.findbugs</groupId>
432 <artifactId>annotations</artifactId>
433 <version>${findbugs.annotations.version}</version>
434 <scope>provided</scope>
437 <!-- JACKSON JSON -->
439 <groupId>com.fasterxml.jackson.core</groupId>
440 <artifactId>jackson-core</artifactId>
441 <version>${jackson.json.version}</version>
444 <groupId>com.fasterxml.jackson.core</groupId>
445 <artifactId>jackson-databind</artifactId>
446 <version>${jackson.json.version}</version>
449 <groupId>com.fasterxml.jackson.core</groupId>
450 <artifactId>jackson-annotations</artifactId>
451 <version>${jackson.json.version}</version>
456 <groupId>com.jayway.jsonpath</groupId>
457 <artifactId>json-path</artifactId>
458 <version>${json.path.version}</version>
461 <!-- CODE GENERATION -->
463 <groupId>org.projectlombok</groupId>
464 <artifactId>lombok</artifactId>
465 <version>${lombok.version}</version>
466 <scope>provided</scope>
470 <!-- DEPENDENCY INJECTION -->
472 <groupId>com.google.inject</groupId>
473 <artifactId>guice</artifactId>
474 <version>${guice.version}</version>
477 <groupId>com.google.inject.extensions</groupId>
478 <artifactId>guice-assistedinject</artifactId>
479 <version>${guice.version}</version>
482 <groupId>com.google.inject.extensions</groupId>
483 <artifactId>guice-multibindings</artifactId>
484 <version>${guice.version}</version>
489 <groupId>org.quartz-scheduler</groupId>
490 <artifactId>quartz</artifactId>
491 <version>${quartz.version}</version>
496 <groupId>org.apache.httpcomponents</groupId>
497 <artifactId>httpclient</artifactId>
498 <version>${httpclient.version}</version>
502 <!-- TEST DEPENDENCIES -->
504 <groupId>co.cask.cdap</groupId>
505 <artifactId>cdap-unit-test</artifactId>
506 <version>${cdap.version}</version>
511 <groupId>co.cask.cdap</groupId>
512 <artifactId>hydrator-test</artifactId>
513 <version>${cdap.version}</version>
518 <groupId>junit</groupId>
519 <artifactId>junit</artifactId>
520 <version>${junit.version}</version>
525 <groupId>org.mockito</groupId>
526 <artifactId>mockito-core</artifactId>
527 <version>${mockito.version}</version>
531 <groupId>com.jayway.jsonpath</groupId>
532 <artifactId>json-path-assert</artifactId>
533 <version>${jayway.jsonpath.version}</version>
538 <groupId>org.skyscreamer</groupId>
539 <artifactId>jsonassert</artifactId>
540 <version>${jsonassert.version}</version>
544 <!-- BDD TEST DEPENDENCIES -->
546 <groupId>info.cukes</groupId>
547 <artifactId>cucumber-java</artifactId>
548 <version>${cucumber.version}</version>
553 <groupId>info.cukes</groupId>
554 <artifactId>cucumber-guice</artifactId>
555 <version>${cucumber.version}</version>
560 <groupId>info.cukes</groupId>
561 <artifactId>cucumber-junit</artifactId>
562 <version>${cucumber.version}</version>
568 </dependencyManagement>
575 <groupId>org.apache.maven.wagon</groupId>
576 <artifactId>wagon-webdav-jackrabbit</artifactId>
577 <version>1.0-beta-7</version>
585 <!-- COMPILER PLUGIN -->
587 <groupId>org.apache.maven.plugins</groupId>
588 <artifactId>maven-compiler-plugin</artifactId>
589 <version>${compiler.plugin.version}</version>
591 <source>${compiler.target.version}</source>
592 <target>${compiler.source.version}</target>
596 <!-- MAVEN SOURCE PLUGIN -->
598 <groupId>org.apache.maven.plugins</groupId>
599 <artifactId>maven-source-plugin</artifactId>
600 <version>${source.plugin.version}</version>
602 <excludeResources>true</excludeResources>
606 <id>attach-sources</id>
607 <phase>verify</phase>
609 <goal>jar-no-fork</goal>
616 <!-- MAVEN JAVADOC PLUGIN -->
618 <groupId>org.apache.maven.plugins</groupId>
619 <artifactId>maven-javadoc-plugin</artifactId>
620 <version>${javadoc.plugin.version}</version>
622 <!-- minimize console output messages -->
624 <verbose>false</verbose>
625 <useStandardDocletOptions>false</useStandardDocletOptions>
632 <goal>aggregate</goal>
636 <id>attach-javadoc</id>
644 <!-- MAVEN BUNDLE PLUGIN -->
646 <groupId>org.apache.felix</groupId>
647 <artifactId>maven-bundle-plugin</artifactId>
648 <version>${bundle.plugin.version}</version>
649 <extensions>true</extensions>
652 <Embed-Dependency>*;inline=false;scope=compile</Embed-Dependency>
653 <Embed-Transitive>true</Embed-Transitive>
654 <Embed-Directory>lib</Embed-Directory>
659 <id>Bundling CDAP Jar</id>
660 <phase>package</phase>
668 <!-- MAVEN AUTO RUN PLUGIN -->
670 <groupId>org.apache.maven.plugins</groupId>
671 <artifactId>maven-antrun-plugin</artifactId>
672 <version>${autorun.plugin.version}</version>
675 <!-- JACOCO CODE COVERAGE PLUGIN -->
677 <groupId>org.jacoco</groupId>
678 <artifactId>jacoco-maven-plugin</artifactId>
679 <version>${jacoco.plugin.version}</version>
682 <!-- Exclude all test classes for code coverage reports -->
683 <exclude>**/test/**</exclude>
684 <!-- Exclude all domain classes as they should only contain domain objects, no logic -->
685 <exclude>**/domain/**</exclude>
686 <!-- Exclude all facade classes as they should only contain facade objects, no logic -->
687 <exclude>**/facade/**</exclude>
688 <!-- Exclude mixin class for code coverage as they are just for json parsing hints -->
689 <exclude>**/mixin/**</exclude>
690 <!-- Exclude classes ending with "Constants" as they should only store static constants -->
691 <exclude>**/*Constants.*</exclude>
692 <!-- Exclude classes ending with "Module" as they are used for wiring beans by guice -->
693 <exclude>**/*Module.*</exclude>
694 <!-- Exclude classes ending with "Exception" as they are mostly wrapper over java
696 <exclude>**/*Exception.*</exclude>
697 <!-- Exclude classes ending with "Entity" as they should not contain any logic -->
698 <exclude>**/*Entity.*</exclude>
702 <!-- prepare jacoco agent before unit tests -->
704 <id>pre-unit-test</id>
706 <goal>prepare-agent</goal>
709 <destFile>${jacoco.ut.execution.data.file}</destFile>
710 <propertyName>surefireArgLine</propertyName>
713 <!-- generate unit test coverage report -->
715 <id>post-unit-test</id>
721 <dataFile>${jacoco.ut.execution.data.file}</dataFile>
722 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
725 <!-- prepare jacoco agent before integration tests -->
727 <id>pre-integration-test</id>
728 <phase>pre-integration-test</phase>
730 <goal>prepare-agent</goal>
733 <destFile>${jacoco.it.execution.data.file}</destFile>
734 <propertyName>failsafeArgLine</propertyName>
737 <!-- generate integration test coverage report -->
739 <id>post-integration-test</id>
740 <phase>post-integration-test</phase>
745 <dataFile>${jacoco.it.execution.data.file}</dataFile>
746 <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
753 <!-- SUREFIRE TEST PLUGIN -->
755 <groupId>org.apache.maven.plugins</groupId>
756 <artifactId>maven-surefire-plugin</artifactId>
757 <version>${surefire.plugin.version}</version>
759 <skipTests>${skip.unit.tests}</skipTests>
760 <argLine>-Xmx2048m -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
761 -XX:OnOutOfMemoryError="kill -9 %p" -XX:+HeapDumpOnOutOfMemoryError
763 <redirectTestOutputToFile>${surefire.redirectTestOutputToFile}</redirectTestOutputToFile>
764 <parallel>methods</parallel>
765 <threadCount>8</threadCount>
766 <forkCount>8</forkCount>
767 <reuseForks>true</reuseForks>
768 <reportFormat>xml</reportFormat>
769 <trimStackTrace>false</trimStackTrace>
770 <systemPropertyVariables>
771 <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
772 <logback.configurationFile>
773 ${basedir}/src/test/resources/logback-test.xml
774 </logback.configurationFile>
775 <HADOOP_HOME>${project.build.directory}</HADOOP_HOME>
776 </systemPropertyVariables>
778 <include>${unit.test.pattern}</include>
781 <exclude>${integration.test.pattern}</exclude>
783 <!-- Sets the VM argument line used when unit tests are run. -->
784 <argLine>${surefireArgLine}</argLine>
788 <groupId>org.apache.maven.surefire</groupId>
789 <artifactId>surefire-junit47</artifactId>
790 <version>${surefire.plugin.version}</version>
795 <!-- FAIL SAFE PLUGIN FOR INTEGRATION TEST -->
797 <groupId>org.apache.maven.plugins</groupId>
798 <artifactId>maven-failsafe-plugin</artifactId>
799 <version>${failsafe.plugin.version}</version>
802 <id>integration-tests</id>
804 <goal>integration-test</goal>
808 <skipTests>${skip.integration.tests}</skipTests>
809 <!-- Sets the VM argument line used when integration tests are run. -->
810 <!--suppress MavenModelInspection -->
811 <argLine>${failsafeArgLine}</argLine>
818 <!-- FIND BUGS (STATIC CODE ANALYSIS) PLUGIN -->
820 <groupId>org.codehaus.mojo</groupId>
821 <artifactId>findbugs-maven-plugin</artifactId>
822 <version>${findbugs.plugin.version}</version>
825 <threshold>Low</threshold>
826 <xmlOutput>true</xmlOutput>
827 <!-- BUILD FAIL ON FINDBUGS ERRORS -->
828 <failOnError>${findbugs.failOnError}</failOnError>
829 <excludeFilterFile>${main.basedir}/findbugs-exclude.xml</excludeFilterFile>
830 <outputDirectory>${project.reporting.outputDirectory}/findbugs</outputDirectory>
831 <findbugsXmlOutputDirectory>${project.reporting.outputDirectory}/findbugs
832 </findbugsXmlOutputDirectory>
836 <id>analyze-compile</id>
837 <phase>compile</phase>
845 <!-- PMD PLUGIN SETUP -->
847 <groupId>org.apache.maven.plugins</groupId>
848 <artifactId>maven-pmd-plugin</artifactId>
849 <version>${pmd.plugin.version}</version>
851 <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
852 <targetJdk>${compiler.target.version}</targetJdk>
853 <linkXRef>false</linkXRef>
855 <!-- IGNORE PMD & CPD ANALYTICS MODEL FACADE OBJECTS -->
856 <exclude>**/model/facade/**/*.java</exclude>
858 <!-- BUILD FAIL ON PMD VIOLATION -->
859 <failOnViolation>${pmd.violation.buildfail}</failOnViolation>
860 <targetDirectory>${project.reporting.outputDirectory}/pmd</targetDirectory>
869 <printFailingErrors>true</printFailingErrors>
870 <excludeFromFailureFile>${main.basedir}/pmd-exclude.properties</excludeFromFailureFile>
876 <goal>cpd-check</goal>
879 <printFailingErrors>true</printFailingErrors>
880 <excludeFromFailureFile>${main.basedir}/cpd-exclude.properties</excludeFromFailureFile>
887 <!-- CHECKSTYLE PLUGIN -->
889 <groupId>org.apache.maven.plugins</groupId>
890 <artifactId>maven-checkstyle-plugin</artifactId>
891 <version>${checkstyle.plugin.version}</version>
895 <phase>validate</phase>
897 <configLocation>${checkstyle.file.name}</configLocation>
898 <suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
899 <encoding>UTF-8</encoding>
900 <consoleOutput>true</consoleOutput>
901 <!-- BUILD FAIL ON CHECKSTYLE VIOLATION -->
902 <failOnViolation>${checkstyle.failOnViolation}</failOnViolation>
903 <includeTestSourceDirectory>true</includeTestSourceDirectory>
904 <outputFile>${project.reporting.outputDirectory}/checkstyle</outputFile>
913 <groupId>com.puppycrawl.tools</groupId>
914 <artifactId>checkstyle</artifactId>
915 <version>6.19</version>
920 <!-- ECLIPSE PLUGIN -->
922 <groupId>org.apache.maven.plugins</groupId>
923 <artifactId>maven-eclipse-plugin</artifactId>
924 <version>${eclipe.plugin.version}</version>
928 <!-- LOMBOK PLUGIN -->
930 <groupId>org.projectlombok</groupId>
931 <artifactId>lombok-maven-plugin</artifactId>
932 <version>${lombok.plugin.version}</version>
936 <phase>generate-sources</phase>
938 <goal>delombok</goal>
941 <addOutputDirectory>false</addOutputDirectory>
942 <sourceDirectory>src/main/java</sourceDirectory>
949 <!-- JGIT FLOW PLUGIN -->
952 <groupId>external.atlassian.jgitflow</groupId>
953 <artifactId>jgitflow-maven-plugin</artifactId>
954 <version>${jgitflow.plugin.version}</version>
956 <!-- Enable this to push to origin using SSH keys -->
957 <enableSshAgent>true</enableSshAgent>
958 <!-- Keep your maven sub modules at the same version as the parent POM -->
959 <autoVersionSubmodules>true</autoVersionSubmodules>
961 Pushing in-development features to origin allows all devs to see what each other
964 <pushFeatures>true</pushFeatures>
966 This allows the CI server (e.g. Jenkins) to automatically push new releases to
967 origin; you can then either manually deploy them or, if you are doing Continuous
968 Deployments, auto-deploy them to prod
970 <pushReleases>true</pushReleases>
972 Hot Fixes should be pushed to origin as well so that any dev can pick them up
974 <pushHotfixes>true</pushHotfixes>
976 Prevents deployments from dev workstations so that they can be done by a CI
980 <masterBranchName>master</masterBranchName>
981 <developBranchName>develop</developBranchName>
982 <featureBranchPrefix>feature</featureBranchPrefix>
983 <releaseBranchPrefix>release</releaseBranchPrefix>
984 <hotfixBranchPrefix>hotfix</hotfixBranchPrefix>
986 <noDeploy>true</noDeploy>
992 <groupId>org.apache.maven.plugins</groupId>
993 <artifactId>maven-jar-plugin</artifactId>
994 <version>${jar.plugin.version}</version>
998 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
1001 <Implementation-Build-Version>${project.version}</Implementation-Build-Version>
1008 <!-- BLACK DUCK LICENSE SCANNER -->
1011 <groupId>com.blackducksoftware.integration</groupId>
1012 <artifactId>hub-maven-plugin</artifactId>
1013 <version>${blackduck.hub.version}</version>
1014 <inherited>false</inherited>
1016 <hubProjectName>${project.name}</hubProjectName>
1017 <outputDirectory>${project.basedir}</outputDirectory>
1018 <deployHubBdio>false</deployHubBdio>
1022 <id>create-bdio-file</id>
1023 <phase>package</phase>
1025 <goal>build-bom</goal>
1032 <!-- LICENSE PLUGIN -->
1035 <groupId>org.codehaus.mojo</groupId>
1036 <artifactId>license-maven-plugin</artifactId>
1037 <version>${license.plugin.version}</version>
1039 <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
1040 <processStartTag>============LICENSE_START=======================================================</processStartTag>
1041 <processEndTag>============LICENSE_END=========================================================</processEndTag>
1042 <sectionDelimiter>================================================================================</sectionDelimiter>
1043 <licenseName>apache_v2</licenseName>
1044 <inceptionYear>2017</inceptionYear>
1045 <organizationName>AT&T Intellectual Property. All rights reserved.</organizationName>
1046 <projectName>dcae-analytics</projectName>
1047 <canUpdateCopyright>true</canUpdateCopyright>
1048 <canUpdateDescription>true</canUpdateDescription>
1049 <canUpdateLicense>true</canUpdateLicense>
1050 <emptyLineAfterHeader>true</emptyLineAfterHeader>
1056 <goal>update-file-header</goal>
1058 <phase>process-sources</phase>
1064 <!-- SONAR PLUGIN -->
1066 <groupId>org.codehaus.mojo</groupId>
1067 <artifactId>sonar-maven-plugin</artifactId>
1068 <version>${sonar.plugin.version}</version>
1071 <!-- DEPLOY PLUGIN -->
1073 <groupId>org.apache.maven.plugins</groupId>
1074 <artifactId>maven-deploy-plugin</artifactId>
1075 <version>${deploy.plugin.version}</version>
1079 <groupId>org.apache.maven.plugins</groupId>
1080 <artifactId>maven-site-plugin</artifactId>
1081 <version>${maven.site.plugin}</version>
1086 <groupId>org.apache.maven.plugins</groupId>
1087 <artifactId>maven-jxr-plugin</artifactId>
1088 <version>${jxr.plugin.version}</version>
1092 <groupId>org.apache.maven.plugins</groupId>
1093 <artifactId>maven-project-info-reports-plugin</artifactId>
1094 <version>${project.info.reports.plugin.version}</version>
1096 <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
1097 <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
1102 <groupId>org.apache.maven.plugins</groupId>
1103 <artifactId>maven-surefire-report-plugin</artifactId>
1104 <version>${surefire.report.plugin.version}</version>
1114 <groupId>org.apache.maven.plugins</groupId>
1115 <artifactId>maven-compiler-plugin</artifactId>
1119 <groupId>org.apache.maven.plugins</groupId>
1120 <artifactId>maven-jar-plugin</artifactId>
1124 <groupId>org.apache.maven.plugins</groupId>
1125 <artifactId>maven-surefire-plugin</artifactId>
1127 <skipTests>true</skipTests>
1132 <groupId>org.apache.maven.plugins</groupId>
1133 <artifactId>maven-failsafe-plugin</artifactId>
1137 <groupId>org.jacoco</groupId>
1138 <artifactId>jacoco-maven-plugin</artifactId>
1142 <groupId>org.apache.maven.plugins</groupId>
1143 <artifactId>maven-deploy-plugin</artifactId>
1148 <groupId>org.apache.maven.plugins</groupId>
1149 <artifactId>maven-source-plugin</artifactId>
1153 <groupId>org.apache.maven.plugins</groupId>
1154 <artifactId>maven-javadoc-plugin</artifactId>
1158 <groupId>org.apache.maven.plugins</groupId>
1159 <artifactId>maven-pmd-plugin</artifactId>
1163 <groupId>org.codehaus.mojo</groupId>
1164 <artifactId>findbugs-maven-plugin</artifactId>
1168 <groupId>org.apache.maven.plugins</groupId>
1169 <artifactId>maven-checkstyle-plugin</artifactId>
1173 <groupId>external.atlassian.jgitflow</groupId>
1174 <artifactId>jgitflow-maven-plugin</artifactId>
1179 <groupId>com.blackducksoftware.integration</groupId>
1180 <artifactId>hub-maven-plugin</artifactId>
1191 <groupId>org.apache.maven.plugins</groupId>
1192 <artifactId>maven-site-plugin</artifactId>
1195 <groupId>org.apache.maven.plugins</groupId>
1196 <artifactId>maven-checkstyle-plugin</artifactId>
1198 <configLocation>${checkstyle.file.name}</configLocation>
1199 <suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
1203 <groupId>org.jacoco</groupId>
1204 <artifactId>jacoco-maven-plugin</artifactId>
1205 <version>${jacoco.plugin.version}</version>
1207 <dataFile>${jacoco.ut.execution.data.file}</dataFile>
1208 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
1212 <groupId>org.apache.maven.plugins</groupId>
1213 <artifactId>maven-jxr-plugin</artifactId>
1216 <groupId>org.apache.maven.plugins</groupId>
1217 <artifactId>maven-pmd-plugin</artifactId>
1220 <groupId>org.apache.maven.plugins</groupId>
1221 <artifactId>maven-project-info-reports-plugin</artifactId>
1224 <groupId>org.apache.maven.plugins</groupId>
1225 <artifactId>maven-surefire-report-plugin</artifactId>
1231 <module>dcae-analytics-test</module>
1232 <module>dcae-analytics-model</module>
1233 <module>dcae-analytics-common</module>
1234 <module>dcae-analytics-dmaap</module>
1235 <module>dcae-analytics-tca</module>
1236 <module>dcae-analytics-cdap-common</module>
1237 <module>dcae-analytics-cdap-tca</module>
1238 <module>dcae-analytics-cdap-plugins</module>
1239 <module>dcae-analytics-it</module>