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