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