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