Change pom parent to dcaegen2
[dcaegen2/analytics/tca.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~ ===============================LICENSE_START======================================
4   ~  dcae-analytics
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
11   ~
12   ~          http://www.apache.org/licenses/LICENSE-2.0
13   ~
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===========================================
20   -->
21
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>
26
27         <parent>
28                 <groupId>org.onap.dcaegen2</groupId>
29                 <artifactId>root</artifactId>
30                 <version>1.0.0-SNAPSHOT</version>
31         </parent>
32
33     <groupId>org.onap.dcaegen2.analytics.tca</groupId>
34     <artifactId>dcae-analytics</artifactId>
35     <version>2.0.0-SNAPSHOT</version>
36     <packaging>pom</packaging>
37
38     <name>dcaegen2-analytics-tca</name>
39     <description>Application Framework for DCAE Analytics</description>
40
41     <licenses>
42         <license>
43             <name>The Apache Software License, Version 2.0</name>
44             <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
45         </license>
46     </licenses>
47
48     <properties>
49
50         <!-- PROJECT SETTINGS-->
51         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
52         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
53         <main.basedir>${project.basedir}</main.basedir>
54
55         <!--TEST SETTINGS -->
56         <surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile>
57
58         <!-- PROJECT DEPENDENCIES -->
59         <cdap.version>4.1.2</cdap.version>
60         <cask.common.version>0.7.1</cask.common.version>
61         <hadoop.version>2.3.0</hadoop.version>
62         <spark.version>1.6.1</spark.version>
63         <!-- NOTE: Jackson version should match spark version jackson dependency -->
64         <jackson.json.version>2.4.4</jackson.json.version>
65         <netty.http.version>0.16.0</netty.http.version>
66         <gson.version>2.2.4</gson.version>
67         <guava.version>13.0.1</guava.version>
68         <guice.version>3.0</guice.version>
69         <slf4j.version>1.7.5</slf4j.version>
70         <logback.version>1.0.9</logback.version>
71         <findbugs.jsr305.version>2.0.1</findbugs.jsr305.version>
72         <findbugs.annotations.version>3.0.0</findbugs.annotations.version>
73         <lombok.version>1.16.10</lombok.version>
74
75         <json.path.version>2.2.0</json.path.version>
76         <quartz.version>2.2.0</quartz.version>
77         <httpclient.version>4.5.2</httpclient.version>
78         <commons.lang3.version>3.5</commons.lang3.version>
79
80
81         <!--TESTING DEPENDENCIES -->
82         <junit.version>4.12</junit.version>
83         <jayway.jsonpath.version>2.2.0</jayway.jsonpath.version>
84         <jsonassert.version>1.4.0</jsonassert.version>
85         <mockito.version>2.5.7</mockito.version>
86         <cucumber.version>1.2.5</cucumber.version>
87
88
89         <!-- PLUGINS VERSIONS -->
90         <compiler.plugin.version>3.3</compiler.plugin.version>
91         <surefire.plugin.version>2.19.1</surefire.plugin.version>
92         <failsafe.plugin.version>2.19.1</failsafe.plugin.version>
93         <bundle.plugin.version>2.5.4</bundle.plugin.version>
94         <autorun.plugin.version>1.7</autorun.plugin.version>
95         <eclipe.plugin.version>2.10</eclipe.plugin.version>
96         <findbugs.plugin.version>3.0.2</findbugs.plugin.version>
97         <pmd.plugin.version>3.5</pmd.plugin.version>
98         <surefire.report.plugin.version>2.19.1</surefire.report.plugin.version>
99         <checkstyle.plugin.version>2.16</checkstyle.plugin.version>
100         <javadoc.plugin.version>2.10.4</javadoc.plugin.version>
101         <source.plugin.version>2.4</source.plugin.version>
102         <jar.plugin.version>2.4</jar.plugin.version>
103         <deploy.plugin.version>2.8</deploy.plugin.version>
104         <lombok.plugin.version>1.16.10.0</lombok.plugin.version>
105         <jgitflow.plugin.version>1.0-m5.1</jgitflow.plugin.version>
106         <maven.site.plugin>3.5.1</maven.site.plugin>
107         <jxr.plugin.version>2.5</jxr.plugin.version>
108         <project.info.reports.plugin.version>2.7</project.info.reports.plugin.version>
109
110         <!--PLUGIN SETTINGS -->
111         <compiler.source.version>1.7</compiler.source.version>
112         <compiler.target.version>1.7</compiler.target.version>
113         <unit.test.pattern>**/*Test.java</unit.test.pattern>
114         <skip.unit.tests>false</skip.unit.tests>
115         <integration.test.pattern>**/*IT.java</integration.test.pattern>
116         <skip.integration.tests>true</skip.integration.tests>
117         <pmd.violation.buildfail>true</pmd.violation.buildfail>
118         <findbugs.failOnError>true</findbugs.failOnError>
119         <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
120         <checkstyle.file.name>checkstyle.xml</checkstyle.file.name>
121         <checkstyle.suppression.file.name>suppressions.xml</checkstyle.suppression.file.name>       
122         <dependency.locations.enabled>false</dependency.locations.enabled>
123         <nexusproxy>https://nexus.onap.org</nexusproxy>
124                 <snapshots.path>content/repositories/snapshots/</snapshots.path>
125                 <releases.path>content/repositories/releases/</releases.path>
126                 <site.path>content/sites/site/org/onap/dcaegen2/analytics/tca/${project.artifactId}/${project.version}</site.path>
127     </properties>
128
129     <dependencyManagement>
130
131         <dependencies>
132
133             <!-- CDAP -->
134             <dependency>
135                 <groupId>co.cask.cdap</groupId>
136                 <artifactId>cdap-api</artifactId>
137                 <version>${cdap.version}</version>
138                 <scope>provided</scope>
139             </dependency>
140
141             <dependency>
142                 <groupId>co.cask.cdap</groupId>
143                 <artifactId>cdap-etl-api</artifactId>
144                 <version>${cdap.version}</version>
145                 <scope>provided</scope>
146             </dependency>
147
148             <dependency>
149                 <groupId>co.cask.cdap</groupId>
150                 <artifactId>cdap-etl-api-spark</artifactId>
151                 <version>${cdap.version}</version>
152                 <scope>provided</scope>
153             </dependency>
154
155             <dependency>
156                 <groupId>co.cask.cdap</groupId>
157                 <artifactId>cdap-etl-realtime</artifactId>
158                 <version>${cdap.version}</version>
159                 <scope>provided</scope>
160             </dependency>
161
162             <dependency>
163                 <groupId>co.cask.cdap</groupId>
164                 <artifactId>cdap-data-pipeline</artifactId>
165                 <version>${cdap.version}</version>
166                 <scope>provided</scope>
167             </dependency>
168
169             <dependency>
170                 <groupId>co.cask.cdap</groupId>
171                 <artifactId>cdap-data-streams</artifactId>
172                 <version>${cdap.version}</version>
173                 <scope>provided</scope>
174             </dependency>
175
176             <dependency>
177                 <groupId>org.apache.spark</groupId>
178                 <artifactId>spark-streaming_2.10</artifactId>
179                 <version>${spark.version}</version>
180                 <scope>provided</scope>
181             </dependency>
182
183             <dependency>
184                 <groupId>co.cask.http</groupId>
185                 <artifactId>netty-http</artifactId>
186                 <version>${netty.http.version}</version>
187             </dependency>
188
189
190             <dependency>
191                 <groupId>co.cask.common</groupId>
192                 <artifactId>common-http</artifactId>
193                 <version>${cask.common.version}</version>
194                 <!-- exclude this, otherwise an old version of asm will get pulled in -->
195                 <exclusions>
196                     <exclusion>
197                         <groupId>org.ow2.asm</groupId>
198                         <artifactId>asm-all</artifactId>
199                     </exclusion>
200                 </exclusions>
201             </dependency>
202
203             <!-- HADOOP -->
204             <dependency>
205                 <groupId>org.apache.hadoop</groupId>
206                 <artifactId>hadoop-common</artifactId>
207                 <version>${hadoop.version}</version>
208                 <scope>provided</scope>
209                 <exclusions>
210                     <exclusion>
211                         <groupId>commons-logging</groupId>
212                         <artifactId>commons-logging</artifactId>
213                     </exclusion>
214                     <exclusion>
215                         <groupId>log4j</groupId>
216                         <artifactId>log4j</artifactId>
217                     </exclusion>
218                     <exclusion>
219                         <groupId>org.slf4j</groupId>
220                         <artifactId>slf4j-log4j12</artifactId>
221                     </exclusion>
222                     <exclusion>
223                         <groupId>org.apache.avro</groupId>
224                         <artifactId>avro</artifactId>
225                     </exclusion>
226                     <exclusion>
227                         <groupId>org.apache.zookeeper</groupId>
228                         <artifactId>zookeeper</artifactId>
229                     </exclusion>
230                     <exclusion>
231                         <artifactId>guava</artifactId>
232                         <groupId>com.google.guava</groupId>
233                     </exclusion>
234                     <exclusion>
235                         <artifactId>jersey-core</artifactId>
236                         <groupId>com.sun.jersey</groupId>
237                     </exclusion>
238                     <exclusion>
239                         <artifactId>jersey-json</artifactId>
240                         <groupId>com.sun.jersey</groupId>
241                     </exclusion>
242                     <exclusion>
243                         <artifactId>jersey-server</artifactId>
244                         <groupId>com.sun.jersey</groupId>
245                     </exclusion>
246                     <exclusion>
247                         <artifactId>servlet-api</artifactId>
248                         <groupId>javax.servlet</groupId>
249                     </exclusion>
250                     <exclusion>
251                         <groupId>org.mortbay.jetty</groupId>
252                         <artifactId>jetty</artifactId>
253                     </exclusion>
254                     <exclusion>
255                         <groupId>org.mortbay.jetty</groupId>
256                         <artifactId>jetty-util</artifactId>
257                     </exclusion>
258                     <exclusion>
259                         <artifactId>jasper-compiler</artifactId>
260                         <groupId>tomcat</groupId>
261                     </exclusion>
262                     <exclusion>
263                         <artifactId>jasper-runtime</artifactId>
264                         <groupId>tomcat</groupId>
265                     </exclusion>
266                     <exclusion>
267                         <artifactId>jsp-api</artifactId>
268                         <groupId>javax.servlet.jsp</groupId>
269                     </exclusion>
270                     <exclusion>
271                         <artifactId>slf4j-api</artifactId>
272                         <groupId>org.slf4j</groupId>
273                     </exclusion>
274                     <exclusion>
275                         <artifactId>httpcore</artifactId>
276                         <groupId>org.apache.httpcomponents</groupId>
277                     </exclusion>
278                 </exclusions>
279             </dependency>
280
281             <dependency>
282                 <groupId>org.apache.hadoop</groupId>
283                 <artifactId>hadoop-mapreduce-client-core</artifactId>
284                 <version>${hadoop.version}</version>
285                 <scope>provided</scope>
286                 <exclusions>
287                     <exclusion>
288                         <groupId>asm</groupId>
289                         <artifactId>asm</artifactId>
290                     </exclusion>
291                     <exclusion>
292                         <groupId>io.netty</groupId>
293                         <artifactId>netty</artifactId>
294                     </exclusion>
295                     <exclusion>
296                         <groupId>org.slf4j</groupId>
297                         <artifactId>slf4j-log4j12</artifactId>
298                     </exclusion>
299                 </exclusions>
300             </dependency>
301
302
303             <!-- SPARK -->
304             <dependency>
305                 <groupId>org.apache.spark</groupId>
306                 <artifactId>spark-core_2.10</artifactId>
307                 <version>${spark.version}</version>
308                 <scope>provided</scope>
309                 <exclusions>
310                     <exclusion>
311                         <groupId>asm</groupId>
312                         <artifactId>asm</artifactId>
313                     </exclusion>
314                     <exclusion>
315                         <groupId>org.slf4j</groupId>
316                         <artifactId>slf4j-log4j12</artifactId>
317                     </exclusion>
318                     <exclusion>
319                         <groupId>log4j</groupId>
320                         <artifactId>log4j</artifactId>
321                     </exclusion>
322                     <exclusion>
323                         <groupId>org.apache.hadoop</groupId>
324                         <artifactId>hadoop-client</artifactId>
325                     </exclusion>
326                     <exclusion>
327                         <groupId>com.esotericsoftware.reflectasm</groupId>
328                         <artifactId>reflectasm</artifactId>
329                     </exclusion>
330                     <exclusion>
331                         <groupId>org.apache.curator</groupId>
332                         <artifactId>curator-recipes</artifactId>
333                     </exclusion>
334                     <exclusion>
335                         <groupId>org.tachyonproject</groupId>
336                         <artifactId>tachyon-client</artifactId>
337                     </exclusion>
338                     <exclusion>
339                         <groupId>org.scala-lang</groupId>
340                         <artifactId>scala-compiler</artifactId>
341                     </exclusion>
342                     <exclusion>
343                         <groupId>org.eclipse.jetty.orbit</groupId>
344                         <artifactId>javax.servlet</artifactId>
345                     </exclusion>
346                 </exclusions>
347             </dependency>
348
349             <!-- LOGGING -->
350             <dependency>
351                 <groupId>org.slf4j</groupId>
352                 <artifactId>slf4j-api</artifactId>
353                 <version>${slf4j.version}</version>
354                 <scope>provided</scope>
355             </dependency>
356
357             <dependency>
358                 <groupId>ch.qos.logback</groupId>
359                 <artifactId>logback-core</artifactId>
360                 <version>${logback.version}</version>
361                 <scope>provided</scope>
362             </dependency>
363
364             <dependency>
365                 <groupId>ch.qos.logback</groupId>
366                 <artifactId>logback-classic</artifactId>
367                 <version>${logback.version}</version>
368                 <scope>provided</scope>
369             </dependency>
370
371             <!-- UTILITIES -->
372             <dependency>
373                 <groupId>com.google.guava</groupId>
374                 <artifactId>guava</artifactId>
375                 <version>${guava.version}</version>
376             </dependency>
377
378             <dependency>
379                 <groupId>com.google.code.gson</groupId>
380                 <artifactId>gson</artifactId>
381                 <version>${gson.version}</version>
382                 <scope>provided</scope>
383             </dependency>
384             <dependency>
385                 <groupId>org.apache.commons</groupId>
386                 <artifactId>commons-lang3</artifactId>
387                 <version>${commons.lang3.version}</version>
388             </dependency>
389
390             <!-- FIND BUGS -->
391             <dependency>
392                 <groupId>com.google.code.findbugs</groupId>
393                 <artifactId>jsr305</artifactId>
394                 <version>${findbugs.jsr305.version}</version>
395                 <scope>provided</scope>
396             </dependency>
397             <dependency>
398                 <groupId>com.google.code.findbugs</groupId>
399                 <artifactId>annotations</artifactId>
400                 <version>${findbugs.annotations.version}</version>
401                 <scope>provided</scope>
402             </dependency>
403
404             <!-- JACKSON JSON -->
405             <dependency>
406                 <groupId>com.fasterxml.jackson.core</groupId>
407                 <artifactId>jackson-core</artifactId>
408                 <version>${jackson.json.version}</version>
409             </dependency>
410             <dependency>
411                 <groupId>com.fasterxml.jackson.core</groupId>
412                 <artifactId>jackson-databind</artifactId>
413                 <version>${jackson.json.version}</version>
414             </dependency>
415             <dependency>
416                 <groupId>com.fasterxml.jackson.core</groupId>
417                 <artifactId>jackson-annotations</artifactId>
418                 <version>${jackson.json.version}</version>
419             </dependency>
420
421             <!-- JSON PATH -->
422             <dependency>
423                 <groupId>com.jayway.jsonpath</groupId>
424                 <artifactId>json-path</artifactId>
425                 <version>${json.path.version}</version>
426             </dependency>
427
428             <!-- CODE GENERATION -->
429             <dependency>
430                 <groupId>org.projectlombok</groupId>
431                 <artifactId>lombok</artifactId>
432                 <version>${lombok.version}</version>
433                 <scope>provided</scope>
434             </dependency>
435
436
437             <!-- DEPENDENCY INJECTION -->
438             <dependency>
439                 <groupId>com.google.inject</groupId>
440                 <artifactId>guice</artifactId>
441                 <version>${guice.version}</version>
442             </dependency>
443             <dependency>
444                 <groupId>com.google.inject.extensions</groupId>
445                 <artifactId>guice-assistedinject</artifactId>
446                 <version>${guice.version}</version>
447             </dependency>
448             <dependency>
449                 <groupId>com.google.inject.extensions</groupId>
450                 <artifactId>guice-multibindings</artifactId>
451                 <version>${guice.version}</version>
452             </dependency>
453
454             <!-- SCHEDULER -->
455             <dependency>
456                 <groupId>org.quartz-scheduler</groupId>
457                 <artifactId>quartz</artifactId>
458                 <version>${quartz.version}</version>
459             </dependency>
460
461             <!-- HTTP CLIENT -->
462             <dependency>
463                 <groupId>org.apache.httpcomponents</groupId>
464                 <artifactId>httpclient</artifactId>
465                 <version>${httpclient.version}</version>
466             </dependency>
467
468
469             <!-- TEST DEPENDENCIES -->
470             <dependency>
471                 <groupId>co.cask.cdap</groupId>
472                 <artifactId>cdap-unit-test</artifactId>
473                 <version>${cdap.version}</version>
474                 <scope>test</scope>
475             </dependency>
476
477             <dependency>
478                 <groupId>co.cask.cdap</groupId>
479                 <artifactId>hydrator-test</artifactId>
480                 <version>${cdap.version}</version>
481                 <scope>test</scope>
482             </dependency>
483
484             <dependency>
485                 <groupId>junit</groupId>
486                 <artifactId>junit</artifactId>
487                 <version>${junit.version}</version>
488                 <scope>test</scope>
489             </dependency>
490
491             <dependency>
492                 <groupId>org.mockito</groupId>
493                 <artifactId>mockito-core</artifactId>
494                 <version>${mockito.version}</version>
495             </dependency>
496
497             <dependency>
498                 <groupId>com.jayway.jsonpath</groupId>
499                 <artifactId>json-path-assert</artifactId>
500                 <version>${jayway.jsonpath.version}</version>
501                 <scope>test</scope>
502             </dependency>
503
504             <dependency>
505                 <groupId>org.skyscreamer</groupId>
506                 <artifactId>jsonassert</artifactId>
507                 <version>${jsonassert.version}</version>
508                 <scope>test</scope>
509             </dependency>
510
511             <!-- BDD TEST DEPENDENCIES -->
512             <dependency>
513                 <groupId>info.cukes</groupId>
514                 <artifactId>cucumber-java</artifactId>
515                 <version>${cucumber.version}</version>
516                 <scope>test</scope>
517             </dependency>
518
519             <dependency>
520                 <groupId>info.cukes</groupId>
521                 <artifactId>cucumber-guice</artifactId>
522                 <version>${cucumber.version}</version>
523                 <scope>test</scope>
524             </dependency>
525
526             <dependency>
527                 <groupId>info.cukes</groupId>
528                 <artifactId>cucumber-junit</artifactId>
529                 <version>${cucumber.version}</version>
530                 <scope>test</scope>
531             </dependency>
532
533         </dependencies>
534         
535     </dependencyManagement>
536
537
538     <build>
539
540         <extensions>
541             <extension>
542                 <groupId>org.apache.maven.wagon</groupId>
543                 <artifactId>wagon-webdav-jackrabbit</artifactId>
544                 <version>1.0-beta-7</version>
545             </extension>
546         </extensions>
547
548         <pluginManagement>
549
550             <plugins>
551
552                 <!-- COMPILER PLUGIN -->
553                 <plugin>
554                     <groupId>org.apache.maven.plugins</groupId>
555                     <artifactId>maven-compiler-plugin</artifactId>
556                     <version>${compiler.plugin.version}</version>
557                     <configuration>
558                         <source>${compiler.target.version}</source>
559                         <target>${compiler.source.version}</target>
560                     </configuration>
561                 </plugin>
562
563                 <!-- MAVEN SOURCE PLUGIN -->
564                 <plugin>
565                     <groupId>org.apache.maven.plugins</groupId>
566                     <artifactId>maven-source-plugin</artifactId>
567                     <version>${source.plugin.version}</version>
568                     <configuration>
569                         <excludeResources>true</excludeResources>
570                     </configuration>
571                     <executions>
572                         <execution>
573                             <id>attach-sources</id>
574                             <phase>verify</phase>
575                             <goals>
576                                 <goal>jar-no-fork</goal>
577                             </goals>
578                         </execution>
579                     </executions>
580                 </plugin>
581
582
583                 <!-- MAVEN JAVADOC PLUGIN -->
584                 <plugin>
585                     <groupId>org.apache.maven.plugins</groupId>
586                     <artifactId>maven-javadoc-plugin</artifactId>
587                     <version>${javadoc.plugin.version}</version>
588                     <configuration>
589                         <!-- minimize console output messages -->
590                         <quiet>true</quiet>
591                         <verbose>false</verbose>
592                         <useStandardDocletOptions>false</useStandardDocletOptions>
593                     </configuration>
594                     <executions>
595                         <execution>
596                             <id>aggregate</id>
597                             <phase>site</phase>
598                             <goals>
599                                 <goal>aggregate</goal>
600                             </goals>
601                         </execution>
602                         <execution>
603                             <id>attach-javadoc</id>
604                             <goals>
605                                 <goal>jar</goal>
606                             </goals>
607                         </execution>
608                     </executions>
609                 </plugin>
610
611                 <!-- MAVEN BUNDLE PLUGIN -->
612                 <plugin>
613                     <groupId>org.apache.felix</groupId>
614                     <artifactId>maven-bundle-plugin</artifactId>
615                     <version>${bundle.plugin.version}</version>
616                     <extensions>true</extensions>
617                     <configuration>
618                         <instructions>
619                             <Embed-Dependency>*;inline=false;scope=compile</Embed-Dependency>
620                             <Embed-Transitive>true</Embed-Transitive>
621                             <Embed-Directory>lib</Embed-Directory>
622                         </instructions>
623                     </configuration>
624                     <executions>
625                         <execution>
626                             <id>Bundling CDAP Jar</id>
627                             <phase>package</phase>
628                             <goals>
629                                 <goal>bundle</goal>
630                             </goals>
631                         </execution>
632                     </executions>
633                 </plugin>
634
635                 <!-- MAVEN AUTO RUN PLUGIN -->
636                 <plugin>
637                     <groupId>org.apache.maven.plugins</groupId>
638                     <artifactId>maven-antrun-plugin</artifactId>
639                     <version>${autorun.plugin.version}</version>
640                 </plugin>
641
642                 <!-- SUREFIRE TEST PLUGIN -->
643                 <plugin>
644                     <groupId>org.apache.maven.plugins</groupId>
645                     <artifactId>maven-surefire-plugin</artifactId>
646                     <version>${surefire.plugin.version}</version>
647                     <configuration>
648                         <skipTests>${skip.unit.tests}</skipTests>
649                         <argLine>-Xmx2048m -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
650                             -XX:OnOutOfMemoryError="kill -9 %p" -XX:+HeapDumpOnOutOfMemoryError
651                         </argLine>
652                         <redirectTestOutputToFile>${surefire.redirectTestOutputToFile}</redirectTestOutputToFile>
653                         <parallel>methods</parallel>
654                         <threadCount>8</threadCount>
655                         <forkCount>8</forkCount>
656                         <reuseForks>true</reuseForks>
657                         <reportFormat>xml</reportFormat>
658                         <trimStackTrace>false</trimStackTrace>
659                         <systemPropertyVariables>
660                             <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
661                             <logback.configurationFile>
662                                 ${basedir}/src/test/resources/logback-test.xml
663                             </logback.configurationFile>
664                             <HADOOP_HOME>${project.build.directory}</HADOOP_HOME>
665                         </systemPropertyVariables>
666                         <includes>
667                             <include>${unit.test.pattern}</include>
668                         </includes>
669                         <excludes>
670                             <exclude>${integration.test.pattern}</exclude>
671                         </excludes>
672                         <!-- Sets the VM argument line used when unit tests are run. -->
673                         <argLine>${surefireArgLine}</argLine>
674                     </configuration>
675                     <dependencies>
676                         <dependency>
677                             <groupId>org.apache.maven.surefire</groupId>
678                             <artifactId>surefire-junit47</artifactId>
679                             <version>${surefire.plugin.version}</version>
680                         </dependency>
681                     </dependencies>
682                 </plugin>
683
684                 <!-- FAIL SAFE PLUGIN FOR INTEGRATION TEST -->
685                 <plugin>
686                     <groupId>org.apache.maven.plugins</groupId>
687                     <artifactId>maven-failsafe-plugin</artifactId>
688                     <version>${failsafe.plugin.version}</version>
689                     <executions>
690                         <execution>
691                             <id>integration-tests</id>
692                             <goals>
693                                 <goal>integration-test</goal>
694                                 <goal>verify</goal>
695                             </goals>
696                             <configuration>
697                                 <skipTests>${skip.integration.tests}</skipTests>
698                                 <!-- Sets the VM argument line used when integration tests are run. -->
699                                 <!--suppress MavenModelInspection -->
700                                 <argLine>${failsafeArgLine}</argLine>
701                             </configuration>
702                         </execution>
703                     </executions>
704                 </plugin>
705
706                 <!-- FIND BUGS (STATIC CODE ANALYSIS) PLUGIN -->
707                 <plugin>
708                     <groupId>org.codehaus.mojo</groupId>
709                     <artifactId>findbugs-maven-plugin</artifactId>
710                     <version>${findbugs.plugin.version}</version>
711                     <configuration>
712                         <effort>Max</effort>
713                         <threshold>Low</threshold>
714                         <xmlOutput>true</xmlOutput>
715                         <!-- BUILD FAIL ON FINDBUGS ERRORS -->
716                         <failOnError>${findbugs.failOnError}</failOnError>
717                         <excludeFilterFile>${main.basedir}/findbugs-exclude.xml</excludeFilterFile>
718                         <outputDirectory>${project.reporting.outputDirectory}/findbugs</outputDirectory>
719                         <findbugsXmlOutputDirectory>${project.reporting.outputDirectory}/findbugs
720                         </findbugsXmlOutputDirectory>
721                     </configuration>
722                     <executions>
723                         <execution>
724                             <id>analyze-compile</id>
725                             <phase>compile</phase>
726                             <goals>
727                                 <goal>check</goal>
728                             </goals>
729                         </execution>
730                     </executions>
731                 </plugin>
732
733                 <!-- PMD PLUGIN SETUP -->
734                 <plugin>
735                     <groupId>org.apache.maven.plugins</groupId>
736                     <artifactId>maven-pmd-plugin</artifactId>
737                     <version>${pmd.plugin.version}</version>
738                     <configuration>
739                         <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
740                         <targetJdk>${compiler.target.version}</targetJdk>
741                         <linkXRef>false</linkXRef>
742                         <excludes>
743                             <!-- IGNORE PMD & CPD ANALYTICS MODEL FACADE OBJECTS -->
744                             <exclude>**/model/facade/**/*.java</exclude>
745                         </excludes>
746                         <!-- BUILD FAIL ON PMD VIOLATION -->
747                         <failOnViolation>${pmd.violation.buildfail}</failOnViolation>
748                         <targetDirectory>${project.reporting.outputDirectory}/pmd</targetDirectory>
749                     </configuration>
750                     <executions>
751                         <execution>
752                             <id>pmd-check</id>
753                             <goals>
754                                 <goal>check</goal>
755                             </goals>
756                             <configuration>
757                                 <printFailingErrors>true</printFailingErrors>
758                                 <excludeFromFailureFile>${main.basedir}/pmd-exclude.properties</excludeFromFailureFile>
759                             </configuration>
760                         </execution>
761                         <execution>
762                             <id>cpd-check</id>
763                             <goals>
764                                 <goal>cpd-check</goal>
765                             </goals>
766                             <configuration>
767                                 <printFailingErrors>true</printFailingErrors>
768                                 <excludeFromFailureFile>${main.basedir}/cpd-exclude.properties</excludeFromFailureFile>
769                             </configuration>
770                         </execution>
771                     </executions>
772                 </plugin>
773
774                 <!-- CHECKSTYLE PLUGIN -->
775                 <plugin>
776                     <groupId>org.apache.maven.plugins</groupId>
777                     <artifactId>maven-checkstyle-plugin</artifactId>
778                     <version>${checkstyle.plugin.version}</version>
779                     <executions>
780                         <execution>
781                             <id>validate</id>
782                             <phase>validate</phase>
783                             <configuration>
784                                 <configLocation>${checkstyle.file.name}</configLocation>
785                                 <suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
786                                 <encoding>UTF-8</encoding>
787                                 <consoleOutput>true</consoleOutput>
788                                 <!-- BUILD FAIL ON CHECKSTYLE VIOLATION -->
789                                 <failOnViolation>${checkstyle.failOnViolation}</failOnViolation>
790                                 <includeTestSourceDirectory>true</includeTestSourceDirectory>
791                                 <outputFile>${project.reporting.outputDirectory}/checkstyle</outputFile>
792                             </configuration>
793                             <goals>
794                                 <goal>check</goal>
795                             </goals>
796                         </execution>
797                     </executions>
798                     <dependencies>
799                         <dependency>
800                             <groupId>com.puppycrawl.tools</groupId>
801                             <artifactId>checkstyle</artifactId>
802                             <version>6.19</version>
803                         </dependency>
804                     </dependencies>
805                 </plugin>
806
807                 <!-- ECLIPSE PLUGIN -->
808                 <plugin>
809                     <groupId>org.apache.maven.plugins</groupId>
810                     <artifactId>maven-eclipse-plugin</artifactId>
811                     <version>${eclipe.plugin.version}</version>
812                 </plugin>
813
814
815                 <!-- LOMBOK PLUGIN -->
816                 <plugin>
817                     <groupId>org.projectlombok</groupId>
818                     <artifactId>lombok-maven-plugin</artifactId>
819                     <version>${lombok.plugin.version}</version>
820                     <executions>
821                         <execution>
822                             <id>delombok</id>
823                             <phase>generate-sources</phase>
824                             <goals>
825                                 <goal>delombok</goal>
826                             </goals>
827                             <configuration>
828                                 <addOutputDirectory>false</addOutputDirectory>
829                                 <sourceDirectory>src/main/java</sourceDirectory>
830                             </configuration>
831                         </execution>
832                     </executions>
833                 </plugin>
834
835
836                 <!-- JGIT FLOW PLUGIN -->
837                 <plugin>
838                     <groupId>external.atlassian.jgitflow</groupId>
839                     <artifactId>jgitflow-maven-plugin</artifactId>
840                     <version>${jgitflow.plugin.version}</version>
841                     <configuration>
842                         <!-- Enable this to push to origin using SSH keys -->
843                         <enableSshAgent>true</enableSshAgent>
844                         <!-- Keep your maven sub modules at the same version as the parent POM -->
845                         <autoVersionSubmodules>true</autoVersionSubmodules>
846                         <!--
847                           Pushing in-development features to origin allows all devs to see what each other
848                           are working on
849                         -->
850                         <pushFeatures>true</pushFeatures>
851                         <!--
852                           This allows the CI server (e.g. Jenkins) to automatically push new releases to
853                           origin; you can then either manually deploy them or, if you are doing Continuous
854                           Deployments, auto-deploy them to prod
855                         -->
856                         <pushReleases>true</pushReleases>
857                         <!--
858                           Hot Fixes should be pushed to origin as well so that any dev can pick them up
859                         -->
860                         <pushHotfixes>true</pushHotfixes>
861                         <!--
862                           Prevents deployments from dev workstations so that they can be done by a CI
863                           server
864                         -->
865                         <flowInitContext>
866                             <masterBranchName>master</masterBranchName>
867                             <developBranchName>develop</developBranchName>
868                             <featureBranchPrefix>feature</featureBranchPrefix>
869                             <releaseBranchPrefix>release</releaseBranchPrefix>
870                             <hotfixBranchPrefix>hotfix</hotfixBranchPrefix>
871                         </flowInitContext>
872                         <noDeploy>true</noDeploy>
873                     </configuration>
874                 </plugin>
875
876                 <!-- JAR PLUGIN -->
877                 <plugin>
878                     <groupId>org.apache.maven.plugins</groupId>
879                     <artifactId>maven-jar-plugin</artifactId>
880                     <version>${jar.plugin.version}</version>
881                     <configuration>
882                         <archive>
883                             <manifest>
884                                 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
885                             </manifest>
886                             <manifestEntries>
887                                 <Implementation-Build-Version>${project.version}</Implementation-Build-Version>
888                             </manifestEntries>
889                         </archive>
890                     </configuration>
891                 </plugin>
892
893                 <!-- DEPLOY PLUGIN -->
894                 <plugin>
895                     <groupId>org.apache.maven.plugins</groupId>
896                     <artifactId>maven-deploy-plugin</artifactId>
897                     <version>${deploy.plugin.version}</version>
898                 </plugin>
899
900                 <plugin>
901                     <groupId>org.apache.maven.plugins</groupId>
902                     <artifactId>maven-site-plugin</artifactId>
903                     <version>${maven.site.plugin}</version>
904                 </plugin>
905
906                 <plugin>
907                     <groupId>org.apache.maven.plugins</groupId>
908                     <artifactId>maven-jxr-plugin</artifactId>
909                     <version>${jxr.plugin.version}</version>
910                 </plugin>
911
912                 <plugin>
913                     <groupId>org.apache.maven.plugins</groupId>
914                     <artifactId>maven-project-info-reports-plugin</artifactId>
915                     <version>${project.info.reports.plugin.version}</version>
916                     <configuration>
917                         <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
918                         <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
919                     </configuration>
920                 </plugin>
921
922                 <plugin>
923                     <groupId>org.apache.maven.plugins</groupId>
924                     <artifactId>maven-surefire-report-plugin</artifactId>
925                     <version>${surefire.report.plugin.version}</version>
926                 </plugin>
927
928             </plugins>
929
930         </pluginManagement>
931
932         <plugins>
933
934             <plugin>
935                 <groupId>org.apache.maven.plugins</groupId>
936                 <artifactId>maven-compiler-plugin</artifactId>
937             </plugin>
938
939             <plugin>
940                 <groupId>org.apache.maven.plugins</groupId>
941                 <artifactId>maven-jar-plugin</artifactId>
942             </plugin>
943
944             <plugin>
945                 <groupId>org.apache.maven.plugins</groupId>
946                 <artifactId>maven-surefire-plugin</artifactId>
947             </plugin>
948
949             <plugin>
950                 <groupId>org.apache.maven.plugins</groupId>
951                 <artifactId>maven-failsafe-plugin</artifactId>
952             </plugin>
953
954             <plugin>
955                 <groupId>org.apache.maven.plugins</groupId>
956                 <artifactId>maven-deploy-plugin</artifactId>
957             </plugin>
958
959             <plugin>
960                 <groupId>org.apache.maven.plugins</groupId>
961                 <artifactId>maven-source-plugin</artifactId>
962             </plugin>
963
964             <plugin>
965                 <groupId>org.apache.maven.plugins</groupId>
966                 <artifactId>maven-javadoc-plugin</artifactId>
967             </plugin>
968
969             <plugin>
970                 <groupId>org.apache.maven.plugins</groupId>
971                 <artifactId>maven-pmd-plugin</artifactId>
972             </plugin>
973
974             <plugin>
975                 <groupId>org.codehaus.mojo</groupId>
976                 <artifactId>findbugs-maven-plugin</artifactId>
977             </plugin>
978
979             <plugin>
980                 <groupId>org.apache.maven.plugins</groupId>
981                 <artifactId>maven-checkstyle-plugin</artifactId>
982                 <inherited>false</inherited>
983             </plugin>
984
985             <plugin>
986                 <groupId>external.atlassian.jgitflow</groupId>
987                 <artifactId>jgitflow-maven-plugin</artifactId>
988             </plugin>
989
990         </plugins>
991     </build>
992
993     <reporting>
994         <plugins>
995             <plugin>
996                 <groupId>org.apache.maven.plugins</groupId>
997                 <artifactId>maven-site-plugin</artifactId>
998             </plugin>
999             <plugin>
1000                 <groupId>org.apache.maven.plugins</groupId>
1001                 <artifactId>maven-checkstyle-plugin</artifactId>
1002                 <configuration>
1003                     <configLocation>${checkstyle.file.name}</configLocation>
1004                     <suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
1005                 </configuration>
1006             </plugin>
1007             <plugin>
1008                 <groupId>org.apache.maven.plugins</groupId>
1009                 <artifactId>maven-jxr-plugin</artifactId>
1010             </plugin>
1011             <plugin>
1012                 <groupId>org.apache.maven.plugins</groupId>
1013                 <artifactId>maven-pmd-plugin</artifactId>
1014             </plugin>
1015             <plugin>
1016                 <groupId>org.apache.maven.plugins</groupId>
1017                 <artifactId>maven-project-info-reports-plugin</artifactId>
1018             </plugin>
1019             <plugin>
1020                 <groupId>org.apache.maven.plugins</groupId>
1021                 <artifactId>maven-surefire-report-plugin</artifactId>
1022             </plugin>
1023         </plugins>
1024     </reporting>
1025
1026     <modules>
1027         <module>dcae-analytics-test</module>
1028         <module>dcae-analytics-model</module>
1029         <module>dcae-analytics-common</module>
1030         <module>dcae-analytics-dmaap</module>
1031         <module>dcae-analytics-tca</module>
1032         <module>dcae-analytics-cdap-common</module>
1033         <module>dcae-analytics-cdap-tca</module>
1034         <module>dcae-analytics-cdap-plugins</module>
1035         <module>dcae-analytics-it</module>
1036     </modules>
1037
1038 </project>