Merge "Cleanup project's name in Sonar"
[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
28     <groupId>org.openecomp.dcae.apod.analytics</groupId>
29     <artifactId>dcae-analytics</artifactId>
30     <version>2.0.0-SNAPSHOT</version>
31     <packaging>pom</packaging>
32
33     <name>dcaegen2-analytics-tca</name>
34     <description>Application Framework for DCAE Analytics</description>
35
36     <licenses>
37         <license>
38             <name>The Apache Software License, Version 2.0</name>
39             <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
40         </license>
41     </licenses>
42
43     <pluginRepositories>
44         <!-- Black Duck plugin dependencies -->
45                 <pluginRepository>
46                         <id>JCenter</id>
47                         <name>JCenter Repository</name>
48                         <url>http://jcenter.bintray.com</url>
49                 </pluginRepository>
50  
51                 <pluginRepository>
52                         <id>Restlet</id>
53                         <name>Restlet Repository</name>
54                         <url>http://maven.restlet.com</url>
55                 </pluginRepository>
56         </pluginRepositories>
57
58     <distributionManagement>
59         <repository>
60                         <id>ecomp-releases</id>
61                         <name>OpenECOMP Release Repository</name>
62                         <url>${nexusproxy}/content/repositories/releases</url>
63                 </repository>
64                 <snapshotRepository>
65                         <id>ecomp-snapshots</id>
66                         <name>OpenECOMP Snapshot Repository</name>
67                         <url>${nexusproxy}/content/repositories/snapshots</url>
68                 </snapshotRepository>
69                 <site>
70                         <id>ecomp-site</id>
71                         <url>dav:${nexusproxy}/content/sites/site/org/onap/dcae/apod/analytics/${project.artifactId}/${project.version}/</url>
72                 </site>
73     </distributionManagement>
74
75     <properties>
76
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>
81
82         <!--TEST SETTINGS -->
83         <surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile>
84
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>
101
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>
106
107
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>
114
115
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>
141
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>
159         <nexusproxy>https://nexus.openecomp.org</nexusproxy>
160
161     </properties>
162
163     <dependencyManagement>
164
165         <dependencies>
166
167             <!-- CDAP -->
168             <dependency>
169                 <groupId>co.cask.cdap</groupId>
170                 <artifactId>cdap-api</artifactId>
171                 <version>${cdap.version}</version>
172                 <scope>provided</scope>
173             </dependency>
174
175             <dependency>
176                 <groupId>co.cask.cdap</groupId>
177                 <artifactId>cdap-etl-api</artifactId>
178                 <version>${cdap.version}</version>
179                 <scope>provided</scope>
180             </dependency>
181
182             <dependency>
183                 <groupId>co.cask.cdap</groupId>
184                 <artifactId>cdap-etl-api-spark</artifactId>
185                 <version>${cdap.version}</version>
186                 <scope>provided</scope>
187             </dependency>
188
189             <dependency>
190                 <groupId>co.cask.cdap</groupId>
191                 <artifactId>cdap-etl-realtime</artifactId>
192                 <version>${cdap.version}</version>
193                 <scope>provided</scope>
194             </dependency>
195
196             <dependency>
197                 <groupId>co.cask.cdap</groupId>
198                 <artifactId>cdap-data-pipeline</artifactId>
199                 <version>${cdap.version}</version>
200                 <scope>provided</scope>
201             </dependency>
202
203             <dependency>
204                 <groupId>co.cask.cdap</groupId>
205                 <artifactId>cdap-data-streams</artifactId>
206                 <version>${cdap.version}</version>
207                 <scope>provided</scope>
208             </dependency>
209
210             <dependency>
211                 <groupId>org.apache.spark</groupId>
212                 <artifactId>spark-streaming_2.10</artifactId>
213                 <version>${spark.version}</version>
214                 <scope>provided</scope>
215             </dependency>
216
217             <dependency>
218                 <groupId>co.cask.http</groupId>
219                 <artifactId>netty-http</artifactId>
220                 <version>${netty.http.version}</version>
221             </dependency>
222
223
224             <dependency>
225                 <groupId>co.cask.common</groupId>
226                 <artifactId>common-http</artifactId>
227                 <version>${cask.common.version}</version>
228                 <!-- exclude this, otherwise an old version of asm will get pulled in -->
229                 <exclusions>
230                     <exclusion>
231                         <groupId>org.ow2.asm</groupId>
232                         <artifactId>asm-all</artifactId>
233                     </exclusion>
234                 </exclusions>
235             </dependency>
236
237             <!-- HADOOP -->
238             <dependency>
239                 <groupId>org.apache.hadoop</groupId>
240                 <artifactId>hadoop-common</artifactId>
241                 <version>${hadoop.version}</version>
242                 <scope>provided</scope>
243                 <exclusions>
244                     <exclusion>
245                         <groupId>commons-logging</groupId>
246                         <artifactId>commons-logging</artifactId>
247                     </exclusion>
248                     <exclusion>
249                         <groupId>log4j</groupId>
250                         <artifactId>log4j</artifactId>
251                     </exclusion>
252                     <exclusion>
253                         <groupId>org.slf4j</groupId>
254                         <artifactId>slf4j-log4j12</artifactId>
255                     </exclusion>
256                     <exclusion>
257                         <groupId>org.apache.avro</groupId>
258                         <artifactId>avro</artifactId>
259                     </exclusion>
260                     <exclusion>
261                         <groupId>org.apache.zookeeper</groupId>
262                         <artifactId>zookeeper</artifactId>
263                     </exclusion>
264                     <exclusion>
265                         <artifactId>guava</artifactId>
266                         <groupId>com.google.guava</groupId>
267                     </exclusion>
268                     <exclusion>
269                         <artifactId>jersey-core</artifactId>
270                         <groupId>com.sun.jersey</groupId>
271                     </exclusion>
272                     <exclusion>
273                         <artifactId>jersey-json</artifactId>
274                         <groupId>com.sun.jersey</groupId>
275                     </exclusion>
276                     <exclusion>
277                         <artifactId>jersey-server</artifactId>
278                         <groupId>com.sun.jersey</groupId>
279                     </exclusion>
280                     <exclusion>
281                         <artifactId>servlet-api</artifactId>
282                         <groupId>javax.servlet</groupId>
283                     </exclusion>
284                     <exclusion>
285                         <groupId>org.mortbay.jetty</groupId>
286                         <artifactId>jetty</artifactId>
287                     </exclusion>
288                     <exclusion>
289                         <groupId>org.mortbay.jetty</groupId>
290                         <artifactId>jetty-util</artifactId>
291                     </exclusion>
292                     <exclusion>
293                         <artifactId>jasper-compiler</artifactId>
294                         <groupId>tomcat</groupId>
295                     </exclusion>
296                     <exclusion>
297                         <artifactId>jasper-runtime</artifactId>
298                         <groupId>tomcat</groupId>
299                     </exclusion>
300                     <exclusion>
301                         <artifactId>jsp-api</artifactId>
302                         <groupId>javax.servlet.jsp</groupId>
303                     </exclusion>
304                     <exclusion>
305                         <artifactId>slf4j-api</artifactId>
306                         <groupId>org.slf4j</groupId>
307                     </exclusion>
308                     <exclusion>
309                         <artifactId>httpcore</artifactId>
310                         <groupId>org.apache.httpcomponents</groupId>
311                     </exclusion>
312                 </exclusions>
313             </dependency>
314
315             <dependency>
316                 <groupId>org.apache.hadoop</groupId>
317                 <artifactId>hadoop-mapreduce-client-core</artifactId>
318                 <version>${hadoop.version}</version>
319                 <scope>provided</scope>
320                 <exclusions>
321                     <exclusion>
322                         <groupId>asm</groupId>
323                         <artifactId>asm</artifactId>
324                     </exclusion>
325                     <exclusion>
326                         <groupId>io.netty</groupId>
327                         <artifactId>netty</artifactId>
328                     </exclusion>
329                     <exclusion>
330                         <groupId>org.slf4j</groupId>
331                         <artifactId>slf4j-log4j12</artifactId>
332                     </exclusion>
333                 </exclusions>
334             </dependency>
335
336
337             <!-- SPARK -->
338             <dependency>
339                 <groupId>org.apache.spark</groupId>
340                 <artifactId>spark-core_2.10</artifactId>
341                 <version>${spark.version}</version>
342                 <scope>provided</scope>
343                 <exclusions>
344                     <exclusion>
345                         <groupId>asm</groupId>
346                         <artifactId>asm</artifactId>
347                     </exclusion>
348                     <exclusion>
349                         <groupId>org.slf4j</groupId>
350                         <artifactId>slf4j-log4j12</artifactId>
351                     </exclusion>
352                     <exclusion>
353                         <groupId>log4j</groupId>
354                         <artifactId>log4j</artifactId>
355                     </exclusion>
356                     <exclusion>
357                         <groupId>org.apache.hadoop</groupId>
358                         <artifactId>hadoop-client</artifactId>
359                     </exclusion>
360                     <exclusion>
361                         <groupId>com.esotericsoftware.reflectasm</groupId>
362                         <artifactId>reflectasm</artifactId>
363                     </exclusion>
364                     <exclusion>
365                         <groupId>org.apache.curator</groupId>
366                         <artifactId>curator-recipes</artifactId>
367                     </exclusion>
368                     <exclusion>
369                         <groupId>org.tachyonproject</groupId>
370                         <artifactId>tachyon-client</artifactId>
371                     </exclusion>
372                     <exclusion>
373                         <groupId>org.scala-lang</groupId>
374                         <artifactId>scala-compiler</artifactId>
375                     </exclusion>
376                     <exclusion>
377                         <groupId>org.eclipse.jetty.orbit</groupId>
378                         <artifactId>javax.servlet</artifactId>
379                     </exclusion>
380                 </exclusions>
381             </dependency>
382
383             <!-- LOGGING -->
384             <dependency>
385                 <groupId>org.slf4j</groupId>
386                 <artifactId>slf4j-api</artifactId>
387                 <version>${slf4j.version}</version>
388                 <scope>provided</scope>
389             </dependency>
390
391             <dependency>
392                 <groupId>ch.qos.logback</groupId>
393                 <artifactId>logback-core</artifactId>
394                 <version>${logback.version}</version>
395                 <scope>provided</scope>
396             </dependency>
397
398             <dependency>
399                 <groupId>ch.qos.logback</groupId>
400                 <artifactId>logback-classic</artifactId>
401                 <version>${logback.version}</version>
402                 <scope>provided</scope>
403             </dependency>
404
405             <!-- UTILITIES -->
406             <dependency>
407                 <groupId>com.google.guava</groupId>
408                 <artifactId>guava</artifactId>
409                 <version>${guava.version}</version>
410             </dependency>
411
412             <dependency>
413                 <groupId>com.google.code.gson</groupId>
414                 <artifactId>gson</artifactId>
415                 <version>${gson.version}</version>
416                 <scope>provided</scope>
417             </dependency>
418             <dependency>
419                 <groupId>org.apache.commons</groupId>
420                 <artifactId>commons-lang3</artifactId>
421                 <version>${commons.lang3.version}</version>
422             </dependency>
423
424             <!-- FIND BUGS -->
425             <dependency>
426                 <groupId>com.google.code.findbugs</groupId>
427                 <artifactId>jsr305</artifactId>
428                 <version>${findbugs.jsr305.version}</version>
429                 <scope>provided</scope>
430             </dependency>
431             <dependency>
432                 <groupId>com.google.code.findbugs</groupId>
433                 <artifactId>annotations</artifactId>
434                 <version>${findbugs.annotations.version}</version>
435                 <scope>provided</scope>
436             </dependency>
437
438             <!-- JACKSON JSON -->
439             <dependency>
440                 <groupId>com.fasterxml.jackson.core</groupId>
441                 <artifactId>jackson-core</artifactId>
442                 <version>${jackson.json.version}</version>
443             </dependency>
444             <dependency>
445                 <groupId>com.fasterxml.jackson.core</groupId>
446                 <artifactId>jackson-databind</artifactId>
447                 <version>${jackson.json.version}</version>
448             </dependency>
449             <dependency>
450                 <groupId>com.fasterxml.jackson.core</groupId>
451                 <artifactId>jackson-annotations</artifactId>
452                 <version>${jackson.json.version}</version>
453             </dependency>
454
455             <!-- JSON PATH -->
456             <dependency>
457                 <groupId>com.jayway.jsonpath</groupId>
458                 <artifactId>json-path</artifactId>
459                 <version>${json.path.version}</version>
460             </dependency>
461
462             <!-- CODE GENERATION -->
463             <dependency>
464                 <groupId>org.projectlombok</groupId>
465                 <artifactId>lombok</artifactId>
466                 <version>${lombok.version}</version>
467                 <scope>provided</scope>
468             </dependency>
469
470
471             <!-- DEPENDENCY INJECTION -->
472             <dependency>
473                 <groupId>com.google.inject</groupId>
474                 <artifactId>guice</artifactId>
475                 <version>${guice.version}</version>
476             </dependency>
477             <dependency>
478                 <groupId>com.google.inject.extensions</groupId>
479                 <artifactId>guice-assistedinject</artifactId>
480                 <version>${guice.version}</version>
481             </dependency>
482             <dependency>
483                 <groupId>com.google.inject.extensions</groupId>
484                 <artifactId>guice-multibindings</artifactId>
485                 <version>${guice.version}</version>
486             </dependency>
487
488             <!-- SCHEDULER -->
489             <dependency>
490                 <groupId>org.quartz-scheduler</groupId>
491                 <artifactId>quartz</artifactId>
492                 <version>${quartz.version}</version>
493             </dependency>
494
495             <!-- HTTP CLIENT -->
496             <dependency>
497                 <groupId>org.apache.httpcomponents</groupId>
498                 <artifactId>httpclient</artifactId>
499                 <version>${httpclient.version}</version>
500             </dependency>
501
502
503             <!-- TEST DEPENDENCIES -->
504             <dependency>
505                 <groupId>co.cask.cdap</groupId>
506                 <artifactId>cdap-unit-test</artifactId>
507                 <version>${cdap.version}</version>
508                 <scope>test</scope>
509             </dependency>
510
511             <dependency>
512                 <groupId>co.cask.cdap</groupId>
513                 <artifactId>hydrator-test</artifactId>
514                 <version>${cdap.version}</version>
515                 <scope>test</scope>
516             </dependency>
517
518             <dependency>
519                 <groupId>junit</groupId>
520                 <artifactId>junit</artifactId>
521                 <version>${junit.version}</version>
522                 <scope>test</scope>
523             </dependency>
524
525             <dependency>
526                 <groupId>org.mockito</groupId>
527                 <artifactId>mockito-core</artifactId>
528                 <version>${mockito.version}</version>
529             </dependency>
530
531             <dependency>
532                 <groupId>com.jayway.jsonpath</groupId>
533                 <artifactId>json-path-assert</artifactId>
534                 <version>${jayway.jsonpath.version}</version>
535                 <scope>test</scope>
536             </dependency>
537
538             <dependency>
539                 <groupId>org.skyscreamer</groupId>
540                 <artifactId>jsonassert</artifactId>
541                 <version>${jsonassert.version}</version>
542                 <scope>test</scope>
543             </dependency>
544
545             <!-- BDD TEST DEPENDENCIES -->
546             <dependency>
547                 <groupId>info.cukes</groupId>
548                 <artifactId>cucumber-java</artifactId>
549                 <version>${cucumber.version}</version>
550                 <scope>test</scope>
551             </dependency>
552
553             <dependency>
554                 <groupId>info.cukes</groupId>
555                 <artifactId>cucumber-guice</artifactId>
556                 <version>${cucumber.version}</version>
557                 <scope>test</scope>
558             </dependency>
559
560             <dependency>
561                 <groupId>info.cukes</groupId>
562                 <artifactId>cucumber-junit</artifactId>
563                 <version>${cucumber.version}</version>
564                 <scope>test</scope>
565             </dependency>
566
567         </dependencies>
568         
569     </dependencyManagement>
570
571
572     <build>
573
574         <extensions>
575             <extension>
576                 <groupId>org.apache.maven.wagon</groupId>
577                 <artifactId>wagon-webdav-jackrabbit</artifactId>
578                 <version>1.0-beta-7</version>
579             </extension>
580         </extensions>
581
582         <pluginManagement>
583
584             <plugins>
585
586                 <!-- COMPILER PLUGIN -->
587                 <plugin>
588                     <groupId>org.apache.maven.plugins</groupId>
589                     <artifactId>maven-compiler-plugin</artifactId>
590                     <version>${compiler.plugin.version}</version>
591                     <configuration>
592                         <source>${compiler.target.version}</source>
593                         <target>${compiler.source.version}</target>
594                     </configuration>
595                 </plugin>
596
597                 <!-- MAVEN SOURCE PLUGIN -->
598                 <plugin>
599                     <groupId>org.apache.maven.plugins</groupId>
600                     <artifactId>maven-source-plugin</artifactId>
601                     <version>${source.plugin.version}</version>
602                     <configuration>
603                         <excludeResources>true</excludeResources>
604                     </configuration>
605                     <executions>
606                         <execution>
607                             <id>attach-sources</id>
608                             <phase>verify</phase>
609                             <goals>
610                                 <goal>jar-no-fork</goal>
611                             </goals>
612                         </execution>
613                     </executions>
614                 </plugin>
615
616
617                 <!-- MAVEN JAVADOC PLUGIN -->
618                 <plugin>
619                     <groupId>org.apache.maven.plugins</groupId>
620                     <artifactId>maven-javadoc-plugin</artifactId>
621                     <version>${javadoc.plugin.version}</version>
622                     <configuration>
623                         <!-- minimize console output messages -->
624                         <quiet>true</quiet>
625                         <verbose>false</verbose>
626                         <useStandardDocletOptions>false</useStandardDocletOptions>
627                     </configuration>
628                     <executions>
629                         <execution>
630                             <id>aggregate</id>
631                             <phase>site</phase>
632                             <goals>
633                                 <goal>aggregate</goal>
634                             </goals>
635                         </execution>
636                         <execution>
637                             <id>attach-javadoc</id>
638                             <goals>
639                                 <goal>jar</goal>
640                             </goals>
641                         </execution>
642                     </executions>
643                 </plugin>
644
645                 <!-- MAVEN BUNDLE PLUGIN -->
646                 <plugin>
647                     <groupId>org.apache.felix</groupId>
648                     <artifactId>maven-bundle-plugin</artifactId>
649                     <version>${bundle.plugin.version}</version>
650                     <extensions>true</extensions>
651                     <configuration>
652                         <instructions>
653                             <Embed-Dependency>*;inline=false;scope=compile</Embed-Dependency>
654                             <Embed-Transitive>true</Embed-Transitive>
655                             <Embed-Directory>lib</Embed-Directory>
656                         </instructions>
657                     </configuration>
658                     <executions>
659                         <execution>
660                             <id>Bundling CDAP Jar</id>
661                             <phase>package</phase>
662                             <goals>
663                                 <goal>bundle</goal>
664                             </goals>
665                         </execution>
666                     </executions>
667                 </plugin>
668
669                 <!-- MAVEN AUTO RUN PLUGIN -->
670                 <plugin>
671                     <groupId>org.apache.maven.plugins</groupId>
672                     <artifactId>maven-antrun-plugin</artifactId>
673                     <version>${autorun.plugin.version}</version>
674                 </plugin>
675
676                 <!-- JACOCO CODE COVERAGE PLUGIN -->
677                 <plugin>
678                     <groupId>org.jacoco</groupId>
679                     <artifactId>jacoco-maven-plugin</artifactId>
680                     <version>${jacoco.plugin.version}</version>
681                     <configuration>
682                         <excludes>
683                             <!-- Exclude all test classes for code coverage reports -->
684                             <exclude>**/test/**</exclude>
685                             <!-- Exclude all domain classes as they should only contain domain objects, no logic -->
686                             <exclude>**/domain/**</exclude>
687                             <!-- Exclude all facade classes as they should only contain facade objects, no logic -->
688                             <exclude>**/facade/**</exclude>
689                             <!-- Exclude mixin class for code coverage as they are just for json parsing hints -->
690                             <exclude>**/mixin/**</exclude>
691                             <!-- Exclude classes ending with "Constants" as they should only store static constants -->
692                             <exclude>**/*Constants.*</exclude>
693                             <!-- Exclude classes ending with "Module" as they are used for wiring beans by guice -->
694                             <exclude>**/*Module.*</exclude>
695                             <!-- Exclude classes ending with "Exception" as they are mostly wrapper over java
696                             exceptions -->
697                             <exclude>**/*Exception.*</exclude>
698                             <!-- Exclude classes ending with "Entity" as they should not contain any logic -->
699                             <exclude>**/*Entity.*</exclude>
700                         </excludes>
701                     </configuration>
702                     <executions>
703                         <!-- prepare jacoco agent before unit tests -->
704                         <execution>
705                             <id>pre-unit-test</id>
706                             <goals>
707                                 <goal>prepare-agent</goal>
708                             </goals>
709                             <configuration>
710                                 <destFile>${jacoco.ut.execution.data.file}</destFile>
711                                 <propertyName>surefireArgLine</propertyName>
712                             </configuration>
713                         </execution>
714                         <!-- generate unit test coverage report -->
715                         <execution>
716                             <id>post-unit-test</id>
717                             <phase>test</phase>
718                             <goals>
719                                 <goal>report</goal>
720                             </goals>
721                             <configuration>
722                                 <dataFile>${jacoco.ut.execution.data.file}</dataFile>
723                                 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
724                             </configuration>
725                         </execution>
726                         <!-- prepare jacoco agent before integration tests -->
727                         <execution>
728                             <id>pre-integration-test</id>
729                             <phase>pre-integration-test</phase>
730                             <goals>
731                                 <goal>prepare-agent</goal>
732                             </goals>
733                             <configuration>
734                                 <destFile>${jacoco.it.execution.data.file}</destFile>
735                                 <propertyName>failsafeArgLine</propertyName>
736                             </configuration>
737                         </execution>
738                         <!-- generate integration test coverage report -->
739                         <execution>
740                             <id>post-integration-test</id>
741                             <phase>post-integration-test</phase>
742                             <goals>
743                                 <goal>report</goal>
744                             </goals>
745                             <configuration>
746                                 <dataFile>${jacoco.it.execution.data.file}</dataFile>
747                                 <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
748                             </configuration>
749                         </execution>
750                     </executions>
751                 </plugin>
752
753
754                 <!-- SUREFIRE TEST PLUGIN -->
755                 <plugin>
756                     <groupId>org.apache.maven.plugins</groupId>
757                     <artifactId>maven-surefire-plugin</artifactId>
758                     <version>${surefire.plugin.version}</version>
759                     <configuration>
760                         <skipTests>${skip.unit.tests}</skipTests>
761                         <argLine>-Xmx2048m -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
762                             -XX:OnOutOfMemoryError="kill -9 %p" -XX:+HeapDumpOnOutOfMemoryError
763                         </argLine>
764                         <redirectTestOutputToFile>${surefire.redirectTestOutputToFile}</redirectTestOutputToFile>
765                         <parallel>methods</parallel>
766                         <threadCount>8</threadCount>
767                         <forkCount>8</forkCount>
768                         <reuseForks>true</reuseForks>
769                         <reportFormat>xml</reportFormat>
770                         <trimStackTrace>false</trimStackTrace>
771                         <systemPropertyVariables>
772                             <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
773                             <logback.configurationFile>
774                                 ${basedir}/src/test/resources/logback-test.xml
775                             </logback.configurationFile>
776                             <HADOOP_HOME>${project.build.directory}</HADOOP_HOME>
777                         </systemPropertyVariables>
778                         <includes>
779                             <include>${unit.test.pattern}</include>
780                         </includes>
781                         <excludes>
782                             <exclude>${integration.test.pattern}</exclude>
783                         </excludes>
784                         <!-- Sets the VM argument line used when unit tests are run. -->
785                         <argLine>${surefireArgLine}</argLine>
786                     </configuration>
787                     <dependencies>
788                         <dependency>
789                             <groupId>org.apache.maven.surefire</groupId>
790                             <artifactId>surefire-junit47</artifactId>
791                             <version>${surefire.plugin.version}</version>
792                         </dependency>
793                     </dependencies>
794                 </plugin>
795
796                 <!-- FAIL SAFE PLUGIN FOR INTEGRATION TEST -->
797                 <plugin>
798                     <groupId>org.apache.maven.plugins</groupId>
799                     <artifactId>maven-failsafe-plugin</artifactId>
800                     <version>${failsafe.plugin.version}</version>
801                     <executions>
802                         <execution>
803                             <id>integration-tests</id>
804                             <goals>
805                                 <goal>integration-test</goal>
806                                 <goal>verify</goal>
807                             </goals>
808                             <configuration>
809                                 <skipTests>${skip.integration.tests}</skipTests>
810                                 <!-- Sets the VM argument line used when integration tests are run. -->
811                                 <!--suppress MavenModelInspection -->
812                                 <argLine>${failsafeArgLine}</argLine>
813                             </configuration>
814                         </execution>
815                     </executions>
816                 </plugin>
817
818
819                 <!-- FIND BUGS (STATIC CODE ANALYSIS) PLUGIN -->
820                 <plugin>
821                     <groupId>org.codehaus.mojo</groupId>
822                     <artifactId>findbugs-maven-plugin</artifactId>
823                     <version>${findbugs.plugin.version}</version>
824                     <configuration>
825                         <effort>Max</effort>
826                         <threshold>Low</threshold>
827                         <xmlOutput>true</xmlOutput>
828                         <!-- BUILD FAIL ON FINDBUGS ERRORS -->
829                         <failOnError>${findbugs.failOnError}</failOnError>
830                         <excludeFilterFile>${main.basedir}/findbugs-exclude.xml</excludeFilterFile>
831                         <outputDirectory>${project.reporting.outputDirectory}/findbugs</outputDirectory>
832                         <findbugsXmlOutputDirectory>${project.reporting.outputDirectory}/findbugs
833                         </findbugsXmlOutputDirectory>
834                     </configuration>
835                     <executions>
836                         <execution>
837                             <id>analyze-compile</id>
838                             <phase>compile</phase>
839                             <goals>
840                                 <goal>check</goal>
841                             </goals>
842                         </execution>
843                     </executions>
844                 </plugin>
845
846                 <!-- PMD PLUGIN SETUP -->
847                 <plugin>
848                     <groupId>org.apache.maven.plugins</groupId>
849                     <artifactId>maven-pmd-plugin</artifactId>
850                     <version>${pmd.plugin.version}</version>
851                     <configuration>
852                         <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
853                         <targetJdk>${compiler.target.version}</targetJdk>
854                         <linkXRef>false</linkXRef>
855                         <excludes>
856                             <!-- IGNORE PMD & CPD ANALYTICS MODEL FACADE OBJECTS -->
857                             <exclude>**/model/facade/**/*.java</exclude>
858                         </excludes>
859                         <!-- BUILD FAIL ON PMD VIOLATION -->
860                         <failOnViolation>${pmd.violation.buildfail}</failOnViolation>
861                         <targetDirectory>${project.reporting.outputDirectory}/pmd</targetDirectory>
862                     </configuration>
863                     <executions>
864                         <execution>
865                             <id>pmd-check</id>
866                             <goals>
867                                 <goal>check</goal>
868                             </goals>
869                             <configuration>
870                                 <printFailingErrors>true</printFailingErrors>
871                                 <excludeFromFailureFile>${main.basedir}/pmd-exclude.properties</excludeFromFailureFile>
872                             </configuration>
873                         </execution>
874                         <execution>
875                             <id>cpd-check</id>
876                             <goals>
877                                 <goal>cpd-check</goal>
878                             </goals>
879                             <configuration>
880                                 <printFailingErrors>true</printFailingErrors>
881                                 <excludeFromFailureFile>${main.basedir}/cpd-exclude.properties</excludeFromFailureFile>
882                             </configuration>
883                         </execution>
884                     </executions>
885                 </plugin>
886
887
888                 <!-- CHECKSTYLE PLUGIN -->
889                 <plugin>
890                     <groupId>org.apache.maven.plugins</groupId>
891                     <artifactId>maven-checkstyle-plugin</artifactId>
892                     <version>${checkstyle.plugin.version}</version>
893                     <executions>
894                         <execution>
895                             <id>validate</id>
896                             <phase>validate</phase>
897                             <configuration>
898                                 <configLocation>${checkstyle.file.name}</configLocation>
899                                 <suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
900                                 <encoding>UTF-8</encoding>
901                                 <consoleOutput>true</consoleOutput>
902                                 <!-- BUILD FAIL ON CHECKSTYLE VIOLATION -->
903                                 <failOnViolation>${checkstyle.failOnViolation}</failOnViolation>
904                                 <includeTestSourceDirectory>true</includeTestSourceDirectory>
905                                 <outputFile>${project.reporting.outputDirectory}/checkstyle</outputFile>
906                             </configuration>
907                             <goals>
908                                 <goal>check</goal>
909                             </goals>
910                         </execution>
911                     </executions>
912                     <dependencies>
913                         <dependency>
914                             <groupId>com.puppycrawl.tools</groupId>
915                             <artifactId>checkstyle</artifactId>
916                             <version>6.19</version>
917                         </dependency>
918                     </dependencies>
919                 </plugin>
920
921                 <!-- ECLIPSE PLUGIN -->
922                 <plugin>
923                     <groupId>org.apache.maven.plugins</groupId>
924                     <artifactId>maven-eclipse-plugin</artifactId>
925                     <version>${eclipe.plugin.version}</version>
926                 </plugin>
927
928
929                 <!-- LOMBOK PLUGIN -->
930                 <plugin>
931                     <groupId>org.projectlombok</groupId>
932                     <artifactId>lombok-maven-plugin</artifactId>
933                     <version>${lombok.plugin.version}</version>
934                     <executions>
935                         <execution>
936                             <id>delombok</id>
937                             <phase>generate-sources</phase>
938                             <goals>
939                                 <goal>delombok</goal>
940                             </goals>
941                             <configuration>
942                                 <addOutputDirectory>false</addOutputDirectory>
943                                 <sourceDirectory>src/main/java</sourceDirectory>
944                             </configuration>
945                         </execution>
946                     </executions>
947                 </plugin>
948
949
950                 <!-- JGIT FLOW PLUGIN -->
951
952                 <plugin>
953                     <groupId>external.atlassian.jgitflow</groupId>
954                     <artifactId>jgitflow-maven-plugin</artifactId>
955                     <version>${jgitflow.plugin.version}</version>
956                     <configuration>
957                         <!-- Enable this to push to origin using SSH keys -->
958                         <enableSshAgent>true</enableSshAgent>
959                         <!-- Keep your maven sub modules at the same version as the parent POM -->
960                         <autoVersionSubmodules>true</autoVersionSubmodules>
961                         <!--
962                           Pushing in-development features to origin allows all devs to see what each other
963                           are working on
964                         -->
965                         <pushFeatures>true</pushFeatures>
966                         <!--
967                           This allows the CI server (e.g. Jenkins) to automatically push new releases to
968                           origin; you can then either manually deploy them or, if you are doing Continuous
969                           Deployments, auto-deploy them to prod
970                         -->
971                         <pushReleases>true</pushReleases>
972                         <!--
973                           Hot Fixes should be pushed to origin as well so that any dev can pick them up
974                         -->
975                         <pushHotfixes>true</pushHotfixes>
976                         <!--
977                           Prevents deployments from dev workstations so that they can be done by a CI
978                           server
979                         -->
980                         <flowInitContext>
981                             <masterBranchName>master</masterBranchName>
982                             <developBranchName>develop</developBranchName>
983                             <featureBranchPrefix>feature</featureBranchPrefix>
984                             <releaseBranchPrefix>release</releaseBranchPrefix>
985                             <hotfixBranchPrefix>hotfix</hotfixBranchPrefix>
986                         </flowInitContext>
987                         <noDeploy>true</noDeploy>
988                     </configuration>
989                 </plugin>
990
991                 <!-- JAR PLUGIN -->
992                 <plugin>
993                     <groupId>org.apache.maven.plugins</groupId>
994                     <artifactId>maven-jar-plugin</artifactId>
995                     <version>${jar.plugin.version}</version>
996                     <configuration>
997                         <archive>
998                             <manifest>
999                                 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
1000                             </manifest>
1001                             <manifestEntries>
1002                                 <Implementation-Build-Version>${project.version}</Implementation-Build-Version>
1003                             </manifestEntries>
1004                         </archive>
1005                     </configuration>
1006                 </plugin>
1007
1008
1009                 <!-- BLACK DUCK LICENSE SCANNER -->
1010                 <!--
1011                 <plugin>
1012                     <groupId>com.blackducksoftware.integration</groupId>
1013                     <artifactId>hub-maven-plugin</artifactId>
1014                     <version>${blackduck.hub.version}</version>
1015                     <inherited>false</inherited>
1016                     <configuration>
1017                         <hubProjectName>${project.name}</hubProjectName>
1018                         <outputDirectory>${project.basedir}</outputDirectory>
1019                         <deployHubBdio>false</deployHubBdio>
1020                     </configuration>
1021                     <executions>
1022                         <execution>
1023                             <id>create-bdio-file</id>
1024                             <phase>package</phase>
1025                             <goals>
1026                                 <goal>build-bom</goal>
1027                             </goals>
1028                         </execution>
1029                     </executions>
1030                 </plugin>
1031                 -->
1032
1033                 <!-- LICENSE PLUGIN -->
1034                 <!--
1035                 <plugin>
1036                     <groupId>org.codehaus.mojo</groupId>
1037                     <artifactId>license-maven-plugin</artifactId>
1038                     <version>${license.plugin.version}</version>
1039                     <configuration>
1040                         <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
1041                         <processStartTag>============LICENSE_START=======================================================</processStartTag>
1042                         <processEndTag>============LICENSE_END=========================================================</processEndTag>
1043                         <sectionDelimiter>================================================================================</sectionDelimiter>
1044                         <licenseName>apache_v2</licenseName>
1045                         <inceptionYear>2017</inceptionYear>
1046                         <organizationName>AT&amp;T Intellectual Property. All rights reserved.</organizationName>
1047                         <projectName>dcae-analytics</projectName>
1048                         <canUpdateCopyright>true</canUpdateCopyright>
1049                         <canUpdateDescription>true</canUpdateDescription>
1050                         <canUpdateLicense>true</canUpdateLicense>
1051                         <emptyLineAfterHeader>true</emptyLineAfterHeader>
1052                     </configuration>
1053                     <executions>
1054                         <execution>
1055                             <id>first</id>
1056                             <goals>
1057                                 <goal>update-file-header</goal>
1058                             </goals>
1059                             <phase>process-sources</phase>
1060                         </execution>
1061                     </executions>
1062                 </plugin>
1063                 -->
1064
1065                 <!-- SONAR PLUGIN -->
1066                 <plugin>
1067                     <groupId>org.codehaus.mojo</groupId>
1068                     <artifactId>sonar-maven-plugin</artifactId>
1069                     <version>${sonar.plugin.version}</version>
1070                 </plugin>
1071
1072                 <!-- DEPLOY PLUGIN -->
1073                 <plugin>
1074                     <groupId>org.apache.maven.plugins</groupId>
1075                     <artifactId>maven-deploy-plugin</artifactId>
1076                     <version>${deploy.plugin.version}</version>
1077                 </plugin>
1078
1079                 <plugin>
1080                     <groupId>org.apache.maven.plugins</groupId>
1081                     <artifactId>maven-site-plugin</artifactId>
1082                     <version>${maven.site.plugin}</version>
1083                 </plugin>
1084
1085
1086                 <plugin>
1087                     <groupId>org.apache.maven.plugins</groupId>
1088                     <artifactId>maven-jxr-plugin</artifactId>
1089                     <version>${jxr.plugin.version}</version>
1090                 </plugin>
1091
1092                 <plugin>
1093                     <groupId>org.apache.maven.plugins</groupId>
1094                     <artifactId>maven-project-info-reports-plugin</artifactId>
1095                     <version>${project.info.reports.plugin.version}</version>
1096                     <configuration>
1097                         <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
1098                         <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
1099                     </configuration>
1100                 </plugin>
1101
1102                 <plugin>
1103                     <groupId>org.apache.maven.plugins</groupId>
1104                     <artifactId>maven-surefire-report-plugin</artifactId>
1105                     <version>${surefire.report.plugin.version}</version>
1106                 </plugin>
1107
1108             </plugins>
1109
1110         </pluginManagement>
1111
1112         <plugins>
1113
1114             <plugin>
1115                 <groupId>org.apache.maven.plugins</groupId>
1116                 <artifactId>maven-compiler-plugin</artifactId>
1117             </plugin>
1118
1119             <plugin>
1120                 <groupId>org.apache.maven.plugins</groupId>
1121                 <artifactId>maven-jar-plugin</artifactId>
1122             </plugin>
1123
1124             <plugin>
1125                 <groupId>org.apache.maven.plugins</groupId>
1126                 <artifactId>maven-surefire-plugin</artifactId>
1127                 <configuration>
1128                     <skipTests>true</skipTests>
1129                 </configuration>
1130             </plugin>
1131
1132             <plugin>
1133                 <groupId>org.apache.maven.plugins</groupId>
1134                 <artifactId>maven-failsafe-plugin</artifactId>
1135             </plugin>
1136
1137             <plugin>
1138                 <groupId>org.jacoco</groupId>
1139                 <artifactId>jacoco-maven-plugin</artifactId>
1140             </plugin>
1141
1142             <plugin>
1143                 <groupId>org.apache.maven.plugins</groupId>
1144                 <artifactId>maven-deploy-plugin</artifactId>
1145             </plugin>
1146
1147
1148             <plugin>
1149                 <groupId>org.apache.maven.plugins</groupId>
1150                 <artifactId>maven-source-plugin</artifactId>
1151             </plugin>
1152
1153             <plugin>
1154                 <groupId>org.apache.maven.plugins</groupId>
1155                 <artifactId>maven-javadoc-plugin</artifactId>
1156             </plugin>
1157
1158             <plugin>
1159                 <groupId>org.apache.maven.plugins</groupId>
1160                 <artifactId>maven-pmd-plugin</artifactId>
1161             </plugin>
1162
1163             <plugin>
1164                 <groupId>org.codehaus.mojo</groupId>
1165                 <artifactId>findbugs-maven-plugin</artifactId>
1166             </plugin>
1167
1168             <plugin>
1169                 <groupId>org.apache.maven.plugins</groupId>
1170                 <artifactId>maven-checkstyle-plugin</artifactId>
1171             </plugin>
1172
1173             <plugin>
1174                 <groupId>external.atlassian.jgitflow</groupId>
1175                 <artifactId>jgitflow-maven-plugin</artifactId>
1176             </plugin>
1177
1178             <!--
1179             <plugin>
1180                 <groupId>com.blackducksoftware.integration</groupId>
1181                 <artifactId>hub-maven-plugin</artifactId>
1182             </plugin>
1183             -->
1184
1185         </plugins>
1186     </build>
1187
1188
1189     <reporting>
1190         <plugins>
1191             <plugin>
1192                 <groupId>org.apache.maven.plugins</groupId>
1193                 <artifactId>maven-site-plugin</artifactId>
1194             </plugin>
1195             <plugin>
1196                 <groupId>org.apache.maven.plugins</groupId>
1197                 <artifactId>maven-checkstyle-plugin</artifactId>
1198                 <configuration>
1199                     <configLocation>${checkstyle.file.name}</configLocation>
1200                     <suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
1201                 </configuration>
1202             </plugin>
1203             <plugin>
1204                 <groupId>org.jacoco</groupId>
1205                 <artifactId>jacoco-maven-plugin</artifactId>
1206                 <version>${jacoco.plugin.version}</version>
1207                 <configuration>
1208                     <dataFile>${jacoco.ut.execution.data.file}</dataFile>
1209                     <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
1210                 </configuration>
1211             </plugin>
1212             <plugin>
1213                 <groupId>org.apache.maven.plugins</groupId>
1214                 <artifactId>maven-jxr-plugin</artifactId>
1215             </plugin>
1216             <plugin>
1217                 <groupId>org.apache.maven.plugins</groupId>
1218                 <artifactId>maven-pmd-plugin</artifactId>
1219             </plugin>
1220             <plugin>
1221                 <groupId>org.apache.maven.plugins</groupId>
1222                 <artifactId>maven-project-info-reports-plugin</artifactId>
1223             </plugin>
1224             <plugin>
1225                 <groupId>org.apache.maven.plugins</groupId>
1226                 <artifactId>maven-surefire-report-plugin</artifactId>
1227             </plugin>
1228         </plugins>
1229     </reporting>
1230
1231     <modules>
1232         <module>dcae-analytics-test</module>
1233         <module>dcae-analytics-model</module>
1234         <module>dcae-analytics-common</module>
1235         <module>dcae-analytics-dmaap</module>
1236         <module>dcae-analytics-tca</module>
1237         <module>dcae-analytics-cdap-common</module>
1238         <module>dcae-analytics-cdap-tca</module>
1239         <module>dcae-analytics-cdap-plugins</module>
1240         <module>dcae-analytics-it</module>
1241     </modules>
1242
1243 </project>