Modified project group id to tca-gen2
[dcaegen2/analytics/tca-gen2.git] / dcae-analytics / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~ ================================================================================
4   ~ Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
5   ~ ================================================================================
6   ~ Licensed under the Apache License, Version 2.0 (the "License");
7   ~ you may not use this file except in compliance with the License.
8   ~ You may obtain a copy of the License at
9   ~
10   ~      http://www.apache.org/licenses/LICENSE-2.0
11   ~
12   ~ Unless required by applicable law or agreed to in writing, software
13   ~ distributed under the License is distributed on an "AS IS" BASIS,
14   ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   ~ See the License for the specific language governing permissions and
16   ~ limitations under the License.
17   ~ ============LICENSE_END=========================================================
18   ~
19   -->
20
21 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
22          xmlns="http://maven.apache.org/POM/4.0.0"
23          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
24
25     <modelVersion>4.0.0</modelVersion>
26         
27         <parent>
28                 <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
29                 <artifactId>tca-gen2-parent</artifactId>
30                 <version>3.0.0-SNAPSHOT</version>
31         </parent>
32
33     <artifactId>dcae-analytics</artifactId>
34     <version>3.0.0-SNAPSHOT</version>
35     <packaging>pom</packaging>
36
37     <name>DCAE Analytics Parent</name>
38     <description>Parent project for all DCAE Analytics Applications</description>
39
40
41     <modules>
42         <module>dcae-analytics-test</module>
43         <module>dcae-analytics-model</module>
44         <module>dcae-analytics-tca-model</module>
45         <module>dcae-analytics-tca-core</module>
46         <module>dcae-analytics-web</module>
47         <module>dcae-analytics-tca-web</module>
48     </modules>
49
50     <properties>
51
52         <!-- PROJECT SETTINGS-->
53         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
54         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
55         <main.basedir>${project.basedir}</main.basedir>
56
57         <!-- DEPENDENCIES VERSION -->
58         <eelf.logger.version>3.0.0-SNAPSHOT</eelf.logger.version>
59         <spring.boot.version>2.0.1.RELEASE</spring.boot.version>
60         <spring.cloud.version>Finchley.RC2</spring.cloud.version>
61         <commons.text.version>1.4</commons.text.version>
62         <springfox-swagger2.version>2.9.2</springfox-swagger2.version>
63         <findbugs.jsr305.version>3.0.2</findbugs.jsr305.version>
64         <findbugs.annotations.version>3.0.1</findbugs.annotations.version>
65
66         <!-- TEST DEPENDENCIES -->
67         <junit-jupiter.version>5.0.2</junit-jupiter.version>
68         <junit-platform.version>1.0.2</junit-platform.version>
69         <apiguardian-api.version>1.0.0</apiguardian-api.version>
70
71         <!--TEST SETTINGS -->
72         <surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile>
73         <!-- PLUGINS VERSIONS -->
74         <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
75         <maven-jar-plugin.version>3.0.2</maven-jar-plugin.version>
76         <maven-assembly-plugin.version>3.1.0</maven-assembly-plugin.version>
77         <maven-javadoc-plugin.version>3.0.0-M1</maven-javadoc-plugin.version>
78         <maven-surefire-plugin.version>2.19</maven-surefire-plugin.version>
79         <maven-failsafe-plugin.version>2.19.1</maven-failsafe-plugin.version>
80         <maven-source-plugin.version>3.0.1</maven-source-plugin.version>
81         <maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
82         <jacoco.plugin.version>0.8.1</jacoco.plugin.version>
83         <findbugs.plugin.version>3.0.5</findbugs.plugin.version>
84         <pmd.plugin.version>3.8</pmd.plugin.version>
85         <checkstyle.plugin.version>2.17</checkstyle.plugin.version>
86         <lombok.plugin.version>1.16.18.1</lombok.plugin.version>
87         <gitcommitid.plugin.version>2.2.3</gitcommitid.plugin.version>
88         <maven.build.helper.plugin.version>3.0.0</maven.build.helper.plugin.version>
89         <dockerfile-maven-version>1.4.3</dockerfile-maven-version>
90
91         <!--PLUGIN SETTINGS -->
92         <compiler.source.version>1.8</compiler.source.version>
93         <compiler.target.version>1.8</compiler.target.version>
94         <unit.test.pattern>**/*Test.java</unit.test.pattern>
95         <skip.unit.tests>false</skip.unit.tests>
96         <integration.test.pattern>**/*IT.java</integration.test.pattern>
97         <skip.integration.tests>false</skip.integration.tests>
98         <pmd.violation.buildfail>true</pmd.violation.buildfail>
99         <findbugs.failOnError>true</findbugs.failOnError>
100         <checkstyle.failOnViolation>true</checkstyle.failOnViolation>
101         <checkstyle.file.name>checkstyle.xml</checkstyle.file.name>
102         <checkstyle.suppression.file.name>checkstyle-suppressions.xml</checkstyle.suppression.file.name>
103
104
105         <dependency.locations.enabled>false</dependency.locations.enabled>
106         <nexusproxy>https://nexus.onap.org</nexusproxy>
107         <snapshots.path>content/repositories/snapshots/</snapshots.path>
108         <releases.path>content/repositories/releases/</releases.path>
109         <docker.repository>nexus3.onap.org:10003</docker.repository>
110
111     </properties>
112
113   
114
115     <dependencyManagement>
116
117         <dependencies>
118
119             <!-- PROJECT DEPENDENCIES -->
120             <dependency>
121                 <groupId>${project.groupId}</groupId>
122                 <artifactId>dcae-analytics-test</artifactId>
123                 <version>${project.version}</version>
124                 <scope>test</scope>
125             </dependency>
126
127             <dependency>
128                 <groupId>${project.groupId}</groupId>
129                 <artifactId>dcae-analytics-model</artifactId>
130                 <version>${project.version}</version>
131             </dependency>
132
133             <dependency>
134                 <groupId>${project.groupId}</groupId>
135                 <artifactId>dcae-analytics-web</artifactId>
136                 <version>${project.version}</version>
137             </dependency>
138
139             <dependency>
140                 <groupId>${project.groupId}</groupId>
141                 <artifactId>dcae-analytics-tca-model</artifactId>
142                 <version>${project.version}</version>
143             </dependency>
144
145             <dependency>
146                 <groupId>${project.groupId}</groupId>
147                 <artifactId>dcae-analytics-tca-core</artifactId>
148                 <version>${project.version}</version>
149             </dependency>
150
151
152             <!-- EELF LOGGER -->
153             <dependency>
154                 <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
155                 <artifactId>eelf-logger-logback-impl</artifactId>
156                 <version>${eelf.logger.version}</version>
157             </dependency>
158
159             <!-- UTILITIES -->
160             <dependency>
161                 <groupId>org.apache.commons</groupId>
162                 <artifactId>commons-text</artifactId>
163                 <version>${commons.text.version}</version>
164             </dependency>
165
166             <!-- REST API SWAGGER -->
167             <dependency>
168                 <groupId>io.springfox</groupId>
169                 <artifactId>springfox-swagger2</artifactId>
170                 <version>${springfox-swagger2.version}</version>
171             </dependency>
172             <dependency>
173                 <groupId>io.springfox</groupId>
174                 <artifactId>springfox-swagger-ui</artifactId>
175                 <version>${springfox-swagger2.version}</version>
176             </dependency>
177
178             <!-- FIND BUGS -->
179             <dependency>
180                 <groupId>com.google.code.findbugs</groupId>
181                 <artifactId>jsr305</artifactId>
182                 <version>${findbugs.jsr305.version}</version>
183                 <scope>provided</scope>
184             </dependency>
185             <dependency>
186                 <groupId>com.google.code.findbugs</groupId>
187                 <artifactId>annotations</artifactId>
188                 <version>${findbugs.annotations.version}</version>
189                 <scope>provided</scope>
190             </dependency>
191
192             <!-- JUNIT 5 DEPENDENCIES -->
193             <dependency>
194                 <groupId>org.junit.jupiter</groupId>
195                 <artifactId>junit-jupiter-api</artifactId>
196                 <version>${junit-jupiter.version}</version>
197                 <scope>test</scope>
198             </dependency>
199             <dependency>
200                 <groupId>org.junit.jupiter</groupId>
201                 <artifactId>junit-jupiter-engine</artifactId>
202                 <version>${junit-jupiter.version}</version>
203                 <scope>test</scope>
204             </dependency>
205             <dependency>
206                 <groupId>org.junit.jupiter</groupId>
207                 <artifactId>junit-jupiter-params</artifactId>
208                 <version>${junit-jupiter.version}</version>
209                 <scope>test</scope>
210             </dependency>
211             <dependency>
212                 <groupId>org.junit.platform</groupId>
213                 <artifactId>junit-platform-engine</artifactId>
214                 <version>${junit-platform.version}</version>
215                 <scope>test</scope>
216             </dependency>
217             <dependency>
218                 <groupId>org.junit.platform</groupId>
219                 <artifactId>junit-platform-launcher</artifactId>
220                 <version>${junit-platform.version}</version>
221                 <scope>test</scope>
222             </dependency>
223             <dependency>
224                 <groupId>org.apiguardian</groupId>
225                 <artifactId>apiguardian-api</artifactId>
226                 <version>${apiguardian-api.version}</version>
227                 <scope>test</scope>
228             </dependency>
229
230             <!-- IMPORT DEPENDENCY MANAGEMENT FROM SPRING BOOT -->
231             <dependency>
232                 <groupId>org.springframework.boot</groupId>
233                 <artifactId>spring-boot-dependencies</artifactId>
234                 <version>${spring.boot.version}</version>
235                 <type>pom</type>
236                 <scope>import</scope>
237             </dependency>
238             <!-- IMPORT DEPENDENCY MANAGEMENT FROM SPRING CLOUD -->
239             <dependency>
240                 <groupId>org.springframework.cloud</groupId>
241                 <artifactId>spring-cloud-dependencies</artifactId>
242                 <version>${spring.cloud.version}</version>
243                 <type>pom</type>
244                 <scope>import</scope>
245             </dependency>
246
247         </dependencies>
248     </dependencyManagement>
249
250     <build>
251
252         <pluginManagement>
253
254             <plugins>
255
256                 <!-- COMPILER PLUGIN -->
257                 <plugin>
258                     <groupId>org.apache.maven.plugins</groupId>
259                     <artifactId>maven-compiler-plugin</artifactId>
260                     <version>${maven-compiler-plugin.version}</version>
261                     <configuration>
262                         <fork>true</fork>
263                         <debug>true</debug>
264                         <meminitial>256m</meminitial>
265                         <maxmem>1024m</maxmem>
266                         <source>${compiler.target.version}</source>
267                         <target>${compiler.source.version}</target>
268                         <showWarnings>true</showWarnings>
269                         <showDeprecation>true</showDeprecation>
270                     </configuration>
271                 </plugin>
272
273                 <!-- MAVEN SOURCE PLUGIN -->
274                 <plugin>
275                     <groupId>org.apache.maven.plugins</groupId>
276                     <artifactId>maven-source-plugin</artifactId>
277                     <version>${maven-source-plugin.version}</version>
278                     <configuration>
279                         <excludeResources>true</excludeResources>
280                     </configuration>
281                     <executions>
282                         <execution>
283                             <id>attach-sources</id>
284                             <phase>verify</phase>
285                             <goals>
286                                 <goal>jar-no-fork</goal>
287                             </goals>
288                         </execution>
289                     </executions>
290                 </plugin>
291
292                 <!-- MAVEN JAVADOC PLUGIN -->
293                 <plugin>
294                     <groupId>org.apache.maven.plugins</groupId>
295                     <artifactId>maven-javadoc-plugin</artifactId>
296                     <version>${maven-javadoc-plugin.version}</version>
297                     <configuration>
298                         <!-- minimize console output messages -->
299                         <quiet>true</quiet>
300                         <verbose>false</verbose>
301                         <useStandardDocletOptions>false</useStandardDocletOptions>
302                     </configuration>
303                     <executions>
304                         <execution>
305                             <id>aggregate</id>
306                             <phase>site</phase>
307                             <goals>
308                                 <goal>aggregate</goal>
309                             </goals>
310                         </execution>
311                         <execution>
312                             <id>attach-javadoc</id>
313                             <goals>
314                                 <goal>jar</goal>
315                             </goals>
316                         </execution>
317                     </executions>
318                 </plugin>
319
320                 <!-- MAVEN DEPLOY PLUGIN -->
321                 <plugin>
322                     <artifactId>maven-deploy-plugin</artifactId>
323                     <version>${maven-deploy-plugin.version}</version>
324                     <configuration>
325                         <deployAtEnd>true</deployAtEnd>
326                     </configuration>
327                 </plugin>
328
329                 <!-- SUREFIRE TEST PLUGIN -->
330                 <plugin>
331                     <groupId>org.apache.maven.plugins</groupId>
332                     <artifactId>maven-surefire-plugin</artifactId>
333                     <version>${maven-surefire-plugin.version}</version>
334                     <configuration>
335                         <skipTests>${skip.unit.tests}</skipTests>
336                         <argLine>-Xmx2048m -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
337                             -XX:OnOutOfMemoryError="kill -9 %p" -XX:+HeapDumpOnOutOfMemoryError ${surefireArgLine}
338                         </argLine>
339                         <redirectTestOutputToFile>${surefire.redirectTestOutputToFile}</redirectTestOutputToFile>
340                         <parallel>classesAndMethods</parallel>
341                         <threadCount>4</threadCount>
342                         <forkCount>4</forkCount>
343                         <reuseForks>false</reuseForks>
344                         <reportFormat>xml</reportFormat>
345                         <trimStackTrace>false</trimStackTrace>
346                         <systemPropertyVariables>
347                             <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
348                             <logback.configurationFile>
349                                 ${basedir}/src/test/resources/logback-test.xml
350                             </logback.configurationFile>
351                             <logging.config>classpath:logback-test.xml</logging.config>
352                         </systemPropertyVariables>
353                         <includes>
354                             <include>${unit.test.pattern}</include>
355                         </includes>
356                         <excludes>
357                             <exclude>${integration.test.pattern}</exclude>
358                         </excludes>
359                     </configuration>
360                     <dependencies>
361                         <dependency>
362                             <groupId>org.junit.platform</groupId>
363                             <artifactId>junit-platform-surefire-provider</artifactId>
364                             <version>${junit-platform.version}</version>
365                         </dependency>
366                     </dependencies>
367                 </plugin>
368
369                 <!-- FAIL SAFE PLUGIN FOR INTEGRATION TEST -->
370                 <plugin>
371                     <groupId>org.apache.maven.plugins</groupId>
372                     <artifactId>maven-failsafe-plugin</artifactId>
373                     <version>${maven-failsafe-plugin.version}</version>
374                     <dependencies>
375                         <dependency>
376                             <groupId>org.junit.platform</groupId>
377                             <artifactId>junit-platform-surefire-provider</artifactId>
378                             <version>${junit-platform.version}</version>
379                         </dependency>
380                     </dependencies>
381                     <executions>
382                         <execution>
383                             <id>integration-tests</id>
384                             <goals>
385                                 <goal>integration-test</goal>
386                                 <goal>verify</goal>
387                             </goals>
388                             <configuration>
389                                 <argLine>${failsafeArgLine}</argLine>
390                                 <redirectTestOutputToFile>true</redirectTestOutputToFile>
391                                 <skipTests>${skip.integration.tests}</skipTests>
392                                 <includes>
393                                     <include>${integration.test.pattern}</include>
394                                 </includes>
395                                 <excludes>
396                                     <exclude>${unit.test.pattern}</exclude>
397                                 </excludes>
398                                 <systemPropertyVariables>
399                                     <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
400                                     <logging.config>classpath:logback-test.xml</logging.config>
401                                 </systemPropertyVariables>
402                             </configuration>
403                         </execution>
404                     </executions>
405                 </plugin>
406
407
408                 <plugin>
409                     <groupId>org.jacoco</groupId>
410                     <artifactId>jacoco-maven-plugin</artifactId>
411                     <version>${jacoco.plugin.version}</version>
412                     <configuration>
413                         <excludes>
414                             <exclude>**/generated/**</exclude>
415                             <exclude>**/generated-sources/**</exclude>
416                         </excludes>
417                     </configuration>
418                     <executions>
419                         <execution>
420                             <id>pre-unit-test</id>
421                             <goals>
422                                 <goal>prepare-agent</goal>
423                             </goals>
424                             <configuration>
425                                 <!-- Sets the path to the file which contains the execution data. -->
426                                 <destFile>${project.build.directory}/jacoco/jacoco-ut.exec</destFile>
427                                 <propertyName>surefireArgLine</propertyName>
428                             </configuration>
429                         </execution>
430                         <execution>
431                             <id>post-unit-test</id>
432                             <phase>test</phase>
433                             <goals>
434                                 <goal>report</goal>
435                             </goals>
436                             <configuration>
437                                 <!-- Sets the path to the file which contains the execution data. -->
438                                 <dataFile>${project.build.directory}/jacoco/jacoco-ut.exec</dataFile>
439                                 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
440                             </configuration>
441                         </execution>
442                         <execution>
443                             <id>pre-integration-test</id>
444                             <phase>pre-integration-test</phase>
445                             <goals>
446                                 <goal>prepare-agent</goal>
447                             </goals>
448                             <configuration>
449                                 <!-- Sets the path to the file which contains the execution data. -->
450                                 <destFile>${project.build.directory}/jacoco/jacoco-it.exec</destFile>
451                                 <propertyName>failsafeArgLine</propertyName>
452                             </configuration>
453                         </execution>
454                         <execution>
455                             <id>post-integration-test</id>
456                             <phase>post-integration-test</phase>
457                             <goals>
458                                 <goal>report</goal>
459                             </goals>
460                             <configuration>
461                                 <!-- Sets the path to the file which contains the execution data. -->
462                                 <dataFile>${project.build.directory}/jacoco/jacoco-it.exec</dataFile>
463                                 <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
464                             </configuration>
465                         </execution>
466                     </executions>
467
468                 </plugin>
469
470                 <!-- FIND BUGS (STATIC CODE ANALYSIS) PLUGIN -->
471                 <plugin>
472                     <groupId>org.codehaus.mojo</groupId>
473                     <artifactId>findbugs-maven-plugin</artifactId>
474                     <version>${findbugs.plugin.version}</version>
475                     <configuration>
476                         <effort>Max</effort>
477                         <threshold>Low</threshold>
478                         <xmlOutput>true</xmlOutput>
479                         <!-- BUILD FAIL ON FINDBUGS ERRORS -->
480                         <failOnError>${findbugs.failOnError}</failOnError>
481                         <excludeFilterFile>${main.basedir}/findbugs-exclude.xml</excludeFilterFile>
482                         <outputDirectory>${project.reporting.outputDirectory}/findbugs</outputDirectory>
483                         <findbugsXmlOutputDirectory>${project.reporting.outputDirectory}/findbugs
484                         </findbugsXmlOutputDirectory>
485                     </configuration>
486                     <executions>
487                         <execution>
488                             <id>analyze-compile</id>
489                             <phase>compile</phase>
490                             <goals>
491                                 <goal>check</goal>
492                             </goals>
493                         </execution>
494                     </executions>
495                 </plugin>
496
497                 <!-- PMD PLUGIN SETUP -->
498                 <plugin>
499                     <groupId>org.apache.maven.plugins</groupId>
500                     <artifactId>maven-pmd-plugin</artifactId>
501                     <version>${pmd.plugin.version}</version>
502                     <configuration>
503                         <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
504                         <targetJdk>${compiler.target.version}</targetJdk>
505                         <linkXRef>false</linkXRef>
506                         <excludes>
507                             <exclude>**/*Mixin.java</exclude>
508                         </excludes>
509                         <!-- BUILD FAIL ON PMD VIOLATION -->
510                         <failOnViolation>${pmd.violation.buildfail}</failOnViolation>
511                         <targetDirectory>${project.reporting.outputDirectory}/pmd</targetDirectory>
512                     </configuration>
513                     <executions>
514                         <execution>
515                             <id>pmd-check</id>
516                             <goals>
517                                 <goal>check</goal>
518                             </goals>
519                             <configuration>
520                                 <printFailingErrors>true</printFailingErrors>
521                                 <excludeFromFailureFile>${main.basedir}/pmd-exclude.properties</excludeFromFailureFile>
522                             </configuration>
523                         </execution>
524                         <execution>
525                             <id>cpd-check</id>
526                             <goals>
527                                 <goal>cpd-check</goal>
528                             </goals>
529                             <configuration>
530                                 <printFailingErrors>true</printFailingErrors>
531                                 <excludeFromFailureFile>${main.basedir}/cpd-exclude.properties</excludeFromFailureFile>
532                             </configuration>
533                         </execution>
534                     </executions>
535                 </plugin>
536
537                 <!-- CHECKSTYLE PLUGIN -->
538                 <plugin>
539                     <groupId>org.apache.maven.plugins</groupId>
540                     <artifactId>maven-checkstyle-plugin</artifactId>
541                     <version>${checkstyle.plugin.version}</version>
542                     <executions>
543                         <execution>
544                             <id>validate</id>
545                             <phase>validate</phase>
546                             <configuration>
547                                 <configLocation>${checkstyle.file.name}</configLocation>
548                                 <suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
549                                 <encoding>UTF-8</encoding>
550                                 <consoleOutput>true</consoleOutput>
551                                 <!-- BUILD FAIL ON CHECKSTYLE VIOLATION -->
552                                 <failOnViolation>${checkstyle.failOnViolation}</failOnViolation>
553                                 <includeTestSourceDirectory>true</includeTestSourceDirectory>
554                                 <outputFile>${project.reporting.outputDirectory}/checkstyle</outputFile>
555                             </configuration>
556                             <goals>
557                                 <goal>check</goal>
558                             </goals>
559                         </execution>
560                     </executions>
561                     <dependencies>
562                         <dependency>
563                             <groupId>com.puppycrawl.tools</groupId>
564                             <artifactId>checkstyle</artifactId>
565                             <version>6.19</version>
566                         </dependency>
567                     </dependencies>
568                 </plugin>
569
570                 <!-- LOMBOK PLUGIN -->
571                 <plugin>
572                     <groupId>org.projectlombok</groupId>
573                     <artifactId>lombok-maven-plugin</artifactId>
574                     <version>${lombok.plugin.version}</version>
575                     <executions>
576                         <execution>
577                             <id>delombok</id>
578                             <phase>generate-sources</phase>
579                             <goals>
580                                 <goal>delombok</goal>
581                             </goals>
582                             <configuration>
583                                 <addOutputDirectory>false</addOutputDirectory>
584                                 <sourceDirectory>src/main/java</sourceDirectory>
585                             </configuration>
586                         </execution>
587                     </executions>
588                 </plugin>
589
590                 <!-- GIT COMMIT ID PLUGIN -->
591                 <plugin>
592                     <groupId>pl.project13.maven</groupId>
593                     <artifactId>git-commit-id-plugin</artifactId>
594                     <version>${gitcommitid.plugin.version}</version>
595                     <executions>
596                         <execution>
597                             <id>generate-git-properties</id>
598                             <phase>generate-resources</phase>
599                             <goals>
600                                 <goal>revision</goal>
601                             </goals>
602                             <configuration>
603                                 <failOnNoGitDirectory>false</failOnNoGitDirectory>
604                                 <generateGitPropertiesFile>true</generateGitPropertiesFile>
605                                 <generateGitPropertiesFilename>
606                                     ${project.build.directory}/git/git.properties
607                                 </generateGitPropertiesFilename>
608                             </configuration>
609                         </execution>
610                     </executions>
611                 </plugin>
612
613                 <!-- JAR PLUGIN -->
614                 <plugin>
615                     <groupId>org.apache.maven.plugins</groupId>
616                     <artifactId>maven-jar-plugin</artifactId>
617                     <version>${maven-jar-plugin.version}</version>
618                     <configuration>
619                         <archive>
620                             <manifest>
621                                 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
622                             </manifest>
623                             <manifestEntries>
624                                 <Implementation-Build-Version>${project.version}</Implementation-Build-Version>
625                             </manifestEntries>
626                         </archive>
627                     </configuration>
628                 </plugin>
629
630
631                 <!-- ASSEMBLY PLUGIN -->
632                 <plugin>
633                     <groupId>org.apache.maven.plugins</groupId>
634                     <artifactId>maven-assembly-plugin</artifactId>
635                     <version>${maven-assembly-plugin.version}</version>
636                     <configuration>
637                         <descriptors>
638                             <descriptor>${main.basedir}/assembly/cdp-assembly-descriptor.xml</descriptor>
639                         </descriptors>
640                     </configuration>
641                     <executions>
642                         <execution>
643                             <id>cdp-assembly</id>
644                             <phase>package</phase>
645                             <goals>
646                                 <goal>single</goal>
647                             </goals>
648                         </execution>
649                     </executions>
650                 </plugin>
651
652                 <!-- BUILD HELPER PLUGIN -->
653                 <plugin>
654                     <groupId>org.codehaus.mojo</groupId>
655                     <artifactId>build-helper-maven-plugin</artifactId>
656                     <version>${maven.build.helper.plugin.version}</version>
657                 </plugin>
658
659                 <!-- SPRING BOOT PLUGIN -->
660                 <plugin>
661                     <groupId>org.springframework.boot</groupId>
662                     <artifactId>spring-boot-maven-plugin</artifactId>
663                     <version>${spring.boot.version}</version>
664                     <executions>
665                         <execution>
666                             <id>build-info</id>
667                             <goals>
668                                 <goal>build-info</goal>
669                             </goals>
670                         </execution>
671                         <execution>
672                             <id>spring-boot-uber-jar</id>
673                             <goals>
674                                 <goal>repackage</goal>
675                             </goals>
676                         </execution>
677                     </executions>
678                 </plugin>
679
680                 <!-- DOCKER PLUGIN -->
681                 <plugin>
682                     <groupId>com.spotify</groupId>
683                     <artifactId>dockerfile-maven-plugin</artifactId>
684                     <version>${dockerfile-maven-version}</version>
685                     <configuration>
686                         <repository>${docker.repository}/${project.artifactId}</repository>
687                         <tag>${project.version}</tag>
688                     </configuration>
689                 </plugin>
690
691             </plugins>
692
693         </pluginManagement>
694
695
696         <plugins>
697
698             <plugin>
699                 <groupId>org.apache.maven.plugins</groupId>
700                 <artifactId>maven-compiler-plugin</artifactId>
701             </plugin>
702
703             <plugin>
704                 <groupId>org.apache.maven.plugins</groupId>
705                 <artifactId>maven-jar-plugin</artifactId>
706             </plugin>
707
708             <plugin>
709                 <groupId>org.apache.maven.plugins</groupId>
710                 <artifactId>maven-surefire-plugin</artifactId>
711             </plugin>
712
713             <plugin>
714                 <groupId>org.apache.maven.plugins</groupId>
715                 <artifactId>maven-failsafe-plugin</artifactId>
716             </plugin>
717
718             <plugin>
719                 <groupId>org.apache.maven.plugins</groupId>
720                 <artifactId>maven-source-plugin</artifactId>
721             </plugin>
722
723             <plugin>
724                 <groupId>org.apache.maven.plugins</groupId>
725                 <artifactId>maven-javadoc-plugin</artifactId>
726             </plugin>
727
728             <plugin>
729                 <groupId>org.apache.maven.plugins</groupId>
730                 <artifactId>maven-deploy-plugin</artifactId>
731             </plugin>
732
733             <plugin>
734                 <groupId>org.apache.maven.plugins</groupId>
735                 <artifactId>maven-pmd-plugin</artifactId>
736             </plugin>
737
738             <plugin>
739                 <groupId>org.codehaus.mojo</groupId>
740                 <artifactId>findbugs-maven-plugin</artifactId>
741             </plugin>
742
743             <plugin>
744                 <groupId>org.apache.maven.plugins</groupId>
745                 <artifactId>maven-checkstyle-plugin</artifactId>
746             </plugin>
747
748             <plugin>
749                 <groupId>org.jacoco</groupId>
750                 <artifactId>jacoco-maven-plugin</artifactId>
751             </plugin>
752
753         </plugins>
754     </build>
755
756 </project>