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