c4199834302aef16d560e2ff25b499d8a9a003db
[dcaegen2/analytics/tca-gen2.git] / dcae-analytics / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~ ================================================================================
4   ~ Copyright (c) 2018-2020 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>1.2.0-SNAPSHOT</version>
31         </parent>
32
33     <artifactId>dcae-analytics</artifactId>
34     <packaging>pom</packaging>
35
36     <name>DCAE Analytics Parent</name>
37     <description>Parent project for all DCAE Analytics Applications</description>
38
39
40     <modules>
41         <module>dcae-analytics-test</module>
42         <module>dcae-analytics-model</module>
43         <module>dcae-analytics-tca-model</module>
44         <module>dcae-analytics-tca-core</module>
45         <module>dcae-analytics-web</module>
46         <module>dcae-analytics-tca-web</module>
47     </modules>
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         <!-- DEPENDENCIES VERSION -->
57         <eelf.logger.version>1.0.1-SNAPSHOT</eelf.logger.version>
58         <spring.boot.version>2.0.9.RELEASE</spring.boot.version>
59         <spring.cloud.version>Finchley.RC2</spring.cloud.version>
60         <spring.version>5.0.11.RELEASE</spring.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.6.2</junit-jupiter.version>
68         <junit-platform.version>1.6.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.8.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</maven-javadoc-plugin.version>
78         <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
79         <maven-failsafe-plugin.version>2.22.2</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         <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml
84         </sonar.coverage.jacoco.xmlReportPaths>
85         <pmd.plugin.version>3.11.0</pmd.plugin.version>
86         <checkstyle.plugin.version>2.17</checkstyle.plugin.version>
87         <lombok.plugin.version>1.18.0.0</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             <docker-maven-version>1.0.0</docker-maven-version>
91
92         <!--PLUGIN SETTINGS -->
93         <compiler.source.version>11</compiler.source.version>
94         <compiler.target.version>11</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>false</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         <jackson.version>2.11.0</jackson.version>
112         <undertow.version>2.0.27</undertow.version>
113         <spring-webflux.version>5.2.7.RELEASE</spring-webflux.version>
114         <spring-swagger-ui.version>2.10.5</spring-swagger-ui.version>
115
116         <!-- SONAR EXCLUSIONS -->
117         <!-- EXCLUDE TEST COVERAGE ON
118           TEST PACKAGES - USED FOR TESTING - NOT FOR DEPLOYMENT
119           MODEL PACKAGES - MODELS ONLY CONTAINS POJOs AND NO BUSINESS LOGIC,
120           CONFIG PACKAGE -  CONTAINS WIRINGS OF SPRING BEANS,
121           EXCEPTIONS PACKAGE - CONTAINS CUSTOM EXCEPTIONS - NO BUSINESS LOGIC,
122           PREFERENCES CLASSES - JUST POJOS
123           CONTEXTS CLASSES - JUST POJOS
124           ENTITY CLASSES - JUST POJOS
125           -->
126         <sonar.coverage.exclusions>**/test/**,**/model/**,**/config/**,**/exception/**,**/*Preferences.java,**/*Context*.java,**/*Entity.java</sonar.coverage.exclusions>
127
128     </properties>
129
130
131
132     <dependencyManagement>
133
134         <dependencies>
135
136             <!-- PROJECT DEPENDENCIES -->
137             <dependency>
138                 <groupId>${project.groupId}</groupId>
139                 <artifactId>dcae-analytics-test</artifactId>
140                 <version>${project.version}</version>
141                 <scope>test</scope>
142             </dependency>
143
144             <dependency>
145                 <groupId>${project.groupId}</groupId>
146                 <artifactId>dcae-analytics-model</artifactId>
147                 <version>${project.version}</version>
148             </dependency>
149
150             <dependency>
151                 <groupId>${project.groupId}</groupId>
152                 <artifactId>dcae-analytics-web</artifactId>
153                 <version>${project.version}</version>
154             </dependency>
155
156             <dependency>
157                 <groupId>${project.groupId}</groupId>
158                 <artifactId>dcae-analytics-tca-model</artifactId>
159                 <version>${project.version}</version>
160             </dependency>
161
162             <dependency>
163                 <groupId>${project.groupId}</groupId>
164                 <artifactId>dcae-analytics-tca-core</artifactId>
165                 <version>${project.version}</version>
166             </dependency>
167
168             <!-- EELF LOGGER -->
169             <dependency>
170                 <groupId>org.onap.dcaegen2.analytics.tca-gen2</groupId>
171                 <artifactId>eelf-logger-logback-impl</artifactId>
172                 <version>${project.version}</version>
173             </dependency>
174
175             <!-- UTILITIES -->
176             <dependency>
177                 <groupId>org.apache.commons</groupId>
178                 <artifactId>commons-text</artifactId>
179                 <version>${commons.text.version}</version>
180             </dependency>
181
182             <!-- REST API SWAGGER -->
183             <dependency>
184                 <groupId>io.springfox</groupId>
185                 <artifactId>springfox-swagger2</artifactId>
186                 <version>${springfox-swagger2.version}</version>
187             </dependency>
188             <dependency>
189                 <groupId>io.springfox</groupId>
190                 <artifactId>springfox-swagger-ui</artifactId>
191                 <version>${spring-swagger-ui.version}</version>
192             </dependency>
193
194             <!-- FIND BUGS -->
195             <dependency>
196                 <groupId>com.google.code.findbugs</groupId>
197                 <artifactId>jsr305</artifactId>
198                 <version>${findbugs.jsr305.version}</version>
199                 <scope>provided</scope>
200             </dependency>
201             <dependency>
202                 <groupId>com.google.code.findbugs</groupId>
203                 <artifactId>annotations</artifactId>
204                 <version>${findbugs.annotations.version}</version>
205                 <scope>provided</scope>
206             </dependency>
207
208             <!-- JUNIT 5 DEPENDENCIES -->
209             <dependency>
210                 <groupId>org.junit.jupiter</groupId>
211                 <artifactId>junit-jupiter-api</artifactId>
212                 <version>${junit-jupiter.version}</version>
213                 <scope>test</scope>
214             </dependency>
215             <dependency>
216                 <groupId>org.junit.jupiter</groupId>
217                 <artifactId>junit-jupiter-engine</artifactId>
218                 <version>${junit-jupiter.version}</version>
219                 <scope>test</scope>
220             </dependency>
221             <dependency>
222                 <groupId>org.junit.jupiter</groupId>
223                 <artifactId>junit-jupiter-params</artifactId>
224                 <version>${junit-jupiter.version}</version>
225                 <scope>test</scope>
226             </dependency>
227                     <dependency>
228                         <groupId>junit</groupId>
229                         <artifactId>junit</artifactId>
230                         <version>4.13</version>
231                         <scope>test</scope>
232                     </dependency>
233                     <dependency>
234                         <groupId>org.junit.vintage</groupId>
235                         <artifactId>junit-vintage-engine</artifactId>
236                         <version>5.6.2</version>
237                         <scope>test</scope>
238                     </dependency>
239             <dependency>
240                 <groupId>org.junit.platform</groupId>
241                 <artifactId>junit-platform-engine</artifactId>
242                 <version>1.6.2</version>
243                 <scope>test</scope>
244             </dependency>
245             <dependency>
246                 <groupId>org.junit.platform</groupId>
247                 <artifactId>junit-platform-launcher</artifactId>
248                 <version>1.6.2</version>
249                 <scope>test</scope>
250             </dependency>
251             <dependency>
252                 <groupId>org.apiguardian</groupId>
253                 <artifactId>apiguardian-api</artifactId>
254                 <version>${apiguardian-api.version}</version>
255                 <scope>test</scope>
256             </dependency>
257
258             <!-- IMPORT DEPENDENCY MANAGEMENT FROM SPRING BOOT -->
259             <dependency>
260                 <groupId>org.springframework.boot</groupId>
261                 <artifactId>spring-boot-dependencies</artifactId>
262                 <version>${spring.boot.version}</version>
263               <exclusions>
264                 <exclusion>
265                   <groupId>org.springframework</groupId>
266                   <artifactId>spring-web</artifactId>
267                 </exclusion>
268                 <exclusion>
269                             <groupId>org.springframework.boot</groupId>
270                             <artifactId>spring-boot-starter-test</artifactId>
271                 </exclusion>
272                 <exclusion>
273                         <groupId>org.mockito</groupId>
274                         <artifactId>mockito-core</artifactId>
275                 </exclusion>
276                 <exclusion>
277                                 <groupId>io.undertow</groupId>
278                                 <artifactId>undertow-core</artifactId>
279                 </exclusion>
280                 <exclusion>
281                     <groupId>org.springframework</groupId>
282                     <artifactId>spring-webflux</artifactId>
283                 </exclusion>
284                 <exclusion>
285                             <groupId>com.fasterxml.jackson.core</groupId>
286                             <artifactId>jackson-databind</artifactId>
287                 </exclusion>
288                 <exclusion>
289                     <groupId>com.fasterxml.jackson.core</groupId>
290                     <artifactId>jackson-core</artifactId>
291                 </exclusion>
292                 <exclusion>
293                             <groupId>com.fasterxml.jackson.dataformat</groupId>
294                             <artifactId>jackson-dataformat-smile</artifactId>
295                 </exclusion>
296               </exclusions>
297                 <type>pom</type>
298                 <scope>import</scope>
299             </dependency>
300             <!-- IMPORT DEPENDENCY MANAGEMENT FROM SPRING CLOUD -->
301             <dependency>
302                 <groupId>org.springframework.cloud</groupId>
303                 <artifactId>spring-cloud-dependencies</artifactId>
304                 <version>${spring.cloud.version}</version>
305                 <type>pom</type>
306                 <scope>import</scope>
307             </dependency>
308                         <dependency>
309                             <groupId>org.springframework</groupId>
310                             <artifactId>spring-webflux</artifactId>
311                             <version>${spring-webflux.version}</version>
312                         </dependency>
313           <dependency>
314             <groupId>org.springframework</groupId>
315             <artifactId>spring-web</artifactId>
316             <version>${spring.version}</version>
317           </dependency>
318           <dependency>
319              <groupId>org.springframework.boot</groupId>
320              <artifactId>spring-boot-starter-test</artifactId>
321             <version>2.2.0.RELEASE</version>
322           </dependency>
323           <dependency>
324                 <groupId>org.mockito</groupId>
325                 <artifactId>mockito-core</artifactId>
326                 <version>2.23.4</version>
327           </dependency>
328               <dependency>
329                 <groupId>io.undertow</groupId>
330                 <artifactId>undertow-core</artifactId>
331                 <version>2.0.27.Final</version>
332               </dependency>
333                 <dependency>
334                     <groupId>com.fasterxml.jackson.core</groupId>
335                     <artifactId>jackson-databind</artifactId>
336                 <version>${jackson.version}</version>
337                 </dependency>
338                 <dependency>
339                             <groupId>com.fasterxml.jackson.core</groupId>
340                             <artifactId>jackson-core</artifactId>
341                             <version>${jackson.version}</version>
342             </dependency>
343                         <dependency>
344                            <groupId>com.fasterxml.jackson.dataformat</groupId>
345                            <artifactId>jackson-dataformat-smile</artifactId>
346                            <version>${jackson.version}</version>
347                         </dependency>
348
349         </dependencies>
350     </dependencyManagement>
351
352     <build>
353
354         <pluginManagement>
355
356             <plugins>
357
358                 <!-- COMPILER PLUGIN -->
359                 <plugin>
360                     <groupId>org.apache.maven.plugins</groupId>
361                     <artifactId>maven-compiler-plugin</artifactId>
362                     <version>${maven-compiler-plugin.version}</version>
363                     <configuration>
364                         <fork>true</fork>
365                         <debug>true</debug>
366                         <meminitial>256m</meminitial>
367                         <maxmem>1024m</maxmem>
368                         <source>${compiler.target.version}</source>
369                         <target>${compiler.source.version}</target>
370                         <showWarnings>true</showWarnings>
371                         <showDeprecation>true</showDeprecation>
372                     </configuration>
373                 </plugin>
374
375                 <!-- MAVEN SOURCE PLUGIN -->
376                 <plugin>
377                     <groupId>org.apache.maven.plugins</groupId>
378                     <artifactId>maven-source-plugin</artifactId>
379                     <version>${maven-source-plugin.version}</version>
380                     <configuration>
381                         <excludeResources>true</excludeResources>
382                     </configuration>
383                     <executions>
384                         <execution>
385                             <id>attach-sources</id>
386                             <phase>verify</phase>
387                             <goals>
388                                 <goal>jar-no-fork</goal>
389                             </goals>
390                         </execution>
391                     </executions>
392                 </plugin>
393
394                 <!-- MAVEN JAVADOC PLUGIN -->
395                 <plugin>
396                     <groupId>org.apache.maven.plugins</groupId>
397                     <artifactId>maven-javadoc-plugin</artifactId>
398                     <version>${maven-javadoc-plugin.version}</version>
399                     <configuration>
400                         <!-- minimize console output messages -->
401                         <quiet>true</quiet>
402                         <verbose>false</verbose>
403                         <useStandardDocletOptions>false</useStandardDocletOptions>
404                     </configuration>
405                     <executions>
406                         <execution>
407                             <id>aggregate</id>
408                             <phase>site</phase>
409                             <goals>
410                                 <goal>aggregate</goal>
411                             </goals>
412                         </execution>
413                         <execution>
414                             <id>attach-javadoc</id>
415                             <goals>
416                                 <goal>jar</goal>
417                             </goals>
418                         </execution>
419                     </executions>
420                 </plugin>
421
422                 <!-- MAVEN DEPLOY PLUGIN -->
423                 <plugin>
424                     <artifactId>maven-deploy-plugin</artifactId>
425                     <version>${maven-deploy-plugin.version}</version>
426                     <configuration>
427                         <deployAtEnd>true</deployAtEnd>
428                     </configuration>
429                 </plugin>
430
431                 <!-- SUREFIRE TEST PLUGIN -->
432                 <plugin>
433                     <groupId>org.apache.maven.plugins</groupId>
434                     <artifactId>maven-surefire-plugin</artifactId>
435                     <version>${maven-surefire-plugin.version}</version>
436                     <configuration>
437                         <skipTests>${skip.unit.tests}</skipTests>
438                         <argLine>-Xmx2048m -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
439                             -XX:OnOutOfMemoryError="kill -9 %p" -XX:+HeapDumpOnOutOfMemoryError ${surefireArgLine}
440                         </argLine>
441                         <redirectTestOutputToFile>${surefire.redirectTestOutputToFile}</redirectTestOutputToFile>
442                         <parallel>classesAndMethods</parallel>
443                         <threadCount>4</threadCount>
444                         <forkCount>4</forkCount>
445                         <reuseForks>false</reuseForks>
446                         <reportFormat>xml</reportFormat>
447                         <trimStackTrace>false</trimStackTrace>
448                         <systemPropertyVariables>
449                             <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
450                             <logback.configurationFile>
451                                 ${basedir}/src/test/resources/logback-test.xml
452                             </logback.configurationFile>
453                             <logging.config>classpath:logback-test.xml</logging.config>
454                         </systemPropertyVariables>
455                         <includes>
456                             <include>${unit.test.pattern}</include>
457                         </includes>
458                         <excludes>
459                             <exclude>${integration.test.pattern}</exclude>
460                         </excludes>
461                     </configuration>
462                 </plugin>
463
464                 <!-- FAIL SAFE PLUGIN FOR INTEGRATION TEST -->
465                 <plugin>
466                     <groupId>org.apache.maven.plugins</groupId>
467                     <artifactId>maven-failsafe-plugin</artifactId>
468                     <version>${maven-failsafe-plugin.version}</version>
469                     <executions>
470                         <execution>
471                             <id>integration-tests</id>
472                             <goals>
473                                 <goal>integration-test</goal>
474                                 <goal>verify</goal>
475                             </goals>
476                             <configuration>
477                                 <argLine>${failsafeArgLine}</argLine>
478                                 <redirectTestOutputToFile>true</redirectTestOutputToFile>
479                                 <skipTests>${skip.integration.tests}</skipTests>
480                                 <includes>
481                                     <include>${integration.test.pattern}</include>
482                                 </includes>
483                                 <excludes>
484                                     <exclude>${unit.test.pattern}</exclude>
485                                 </excludes>
486                                 <systemPropertyVariables>
487                                     <java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
488                                     <logging.config>classpath:logback-test.xml</logging.config>
489                                 </systemPropertyVariables>
490                             </configuration>
491                         </execution>
492                     </executions>
493                 </plugin>
494
495                 <!-- PMD PLUGIN SETUP -->
496                 <plugin>
497                     <groupId>org.apache.maven.plugins</groupId>
498                     <artifactId>maven-pmd-plugin</artifactId>
499                     <version>${pmd.plugin.version}</version>
500                     <configuration>
501                         <sourceEncoding>${project.build.sourceEncoding}</sourceEncoding>
502                         <targetJdk>${compiler.target.version}</targetJdk>
503                         <linkXRef>false</linkXRef>
504                         <excludes>
505                             <exclude>**/*Mixin.java</exclude>
506                         </excludes>
507                         <!-- BUILD FAIL ON PMD VIOLATION -->
508                         <failOnViolation>${pmd.violation.buildfail}</failOnViolation>
509                         <targetDirectory>${project.reporting.outputDirectory}/pmd</targetDirectory>
510                     </configuration>
511                     <executions>
512                         <execution>
513                             <id>pmd-check</id>
514                             <goals>
515                                 <goal>check</goal>
516                             </goals>
517                             <configuration>
518                                 <printFailingErrors>true</printFailingErrors>
519                                 <excludeFromFailureFile>${main.basedir}/pmd-exclude.properties</excludeFromFailureFile>
520                             </configuration>
521                         </execution>
522                         <execution>
523                             <id>cpd-check</id>
524                             <goals>
525                                 <goal>cpd-check</goal>
526                             </goals>
527                             <configuration>
528                                 <printFailingErrors>true</printFailingErrors>
529                                 <excludeFromFailureFile>${main.basedir}/cpd-exclude.properties</excludeFromFailureFile>
530                             </configuration>
531                         </execution>
532                     </executions>
533                 </plugin>
534
535                 <!-- CHECKSTYLE PLUGIN -->
536                 <plugin>
537                     <groupId>org.apache.maven.plugins</groupId>
538                     <artifactId>maven-checkstyle-plugin</artifactId>
539                     <version>${checkstyle.plugin.version}</version>
540                     <executions>
541                         <execution>
542                             <id>validate</id>
543                             <phase>validate</phase>
544                             <configuration>
545                                     <skip>true</skip>
546                                 <configLocation>${checkstyle.file.name}</configLocation>
547                                 <suppressionsLocation>${checkstyle.suppression.file.name}</suppressionsLocation>
548                                 <encoding>UTF-8</encoding>
549                                 <consoleOutput>true</consoleOutput>
550                                 <!-- BUILD FAIL ON CHECKSTYLE VIOLATION -->
551                                 <failOnViolation>${checkstyle.failOnViolation}</failOnViolation>
552                                 <includeTestSourceDirectory>true</includeTestSourceDirectory>
553                                 <outputFile>${project.reporting.outputDirectory}/checkstyle</outputFile>
554                             </configuration>
555                             <goals>
556                                 <goal>check</goal>
557                             </goals>
558                         </execution>
559                     </executions>
560                     <dependencies>
561                         <dependency>
562                             <groupId>com.puppycrawl.tools</groupId>
563                             <artifactId>checkstyle</artifactId>
564                             <version>6.19</version>
565                         </dependency>
566                     </dependencies>
567                 </plugin>
568
569                 <!-- LOMBOK PLUGIN -->
570                 <plugin>
571                     <groupId>org.projectlombok</groupId>
572                     <artifactId>lombok-maven-plugin</artifactId>
573                     <version>${lombok.plugin.version}</version>
574                     <executions>
575                         <execution>
576                             <id>delombok</id>
577                             <phase>generate-sources</phase>
578                             <goals>
579                                 <goal>delombok</goal>
580                             </goals>
581                             <configuration>
582                                 <addOutputDirectory>false</addOutputDirectory>
583                                 <sourceDirectory>src/main/java</sourceDirectory>
584                             </configuration>
585                         </execution>
586                     </executions>
587                 </plugin>
588
589                 <!-- GIT COMMIT ID PLUGIN -->
590                 <plugin>
591                     <groupId>pl.project13.maven</groupId>
592                     <artifactId>git-commit-id-plugin</artifactId>
593                     <version>${gitcommitid.plugin.version}</version>
594                     <executions>
595                         <execution>
596                             <id>generate-git-properties</id>
597                             <phase>generate-resources</phase>
598                             <goals>
599                                 <goal>revision</goal>
600                             </goals>
601                             <configuration>
602                                 <failOnNoGitDirectory>false</failOnNoGitDirectory>
603                                 <generateGitPropertiesFile>true</generateGitPropertiesFile>
604                                 <generateGitPropertiesFilename>
605                                     ${project.build.directory}/git/git.properties
606                                 </generateGitPropertiesFilename>
607                             </configuration>
608                         </execution>
609                     </executions>
610                 </plugin>
611
612                 <!-- JAR PLUGIN -->
613                 <plugin>
614                     <groupId>org.apache.maven.plugins</groupId>
615                     <artifactId>maven-jar-plugin</artifactId>
616                     <version>${maven-jar-plugin.version}</version>
617                     <configuration>
618                         <archive>
619                             <manifest>
620                                 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
621                             </manifest>
622                             <manifestEntries>
623                                 <Implementation-Build-Version>${project.version}</Implementation-Build-Version>
624                             </manifestEntries>
625                         </archive>
626                     </configuration>
627                 </plugin>
628
629
630                 <!-- ASSEMBLY PLUGIN -->
631                 <plugin>
632                     <groupId>org.apache.maven.plugins</groupId>
633                     <artifactId>maven-assembly-plugin</artifactId>
634                     <version>${maven-assembly-plugin.version}</version>
635                     <configuration>
636                         <descriptors>
637                             <descriptor>${main.basedir}/assembly/cdp-assembly-descriptor.xml</descriptor>
638                         </descriptors>
639                     </configuration>
640                     <executions>
641                         <execution>
642                             <id>cdp-assembly</id>
643                             <phase>package</phase>
644                             <goals>
645                                 <goal>single</goal>
646                             </goals>
647                         </execution>
648                     </executions>
649                 </plugin>
650
651                 <!-- BUILD HELPER PLUGIN -->
652                 <plugin>
653                     <groupId>org.codehaus.mojo</groupId>
654                     <artifactId>build-helper-maven-plugin</artifactId>
655                     <version>${maven.build.helper.plugin.version}</version>
656                 </plugin>
657
658                 <!-- SPRING BOOT PLUGIN -->
659                 <plugin>
660                     <groupId>org.springframework.boot</groupId>
661                     <artifactId>spring-boot-maven-plugin</artifactId>
662                     <version>${spring.boot.version}</version>
663                     <executions>
664                         <execution>
665                             <id>build-info</id>
666                             <goals>
667                                 <goal>build-info</goal>
668                             </goals>
669                         </execution>
670                         <execution>
671                             <id>spring-boot-uber-jar</id>
672                             <goals>
673                                 <goal>repackage</goal>
674                             </goals>
675                         </execution>
676                     </executions>
677                 </plugin>
678
679                 <!-- DOCKER PLUGIN -->
680                 <!--
681                 <plugin>
682                     <groupId>com.spotify</groupId>
683                     <artifactId>docker-maven-plugin</artifactId>
684                     <version>${docker-maven-version}</version>
685                     <configuration>
686                         <repository>${docker.repository}/onap/${project.groupId}.${project.artifactId}</repository>
687                         <tag>${project.version}</tag>
688                     </configuration>
689                 </plugin>
690                 -->
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.apache.maven.plugins</groupId>
741                 <artifactId>maven-checkstyle-plugin</artifactId>
742             </plugin> 
743
744             <plugin>
745                 <groupId>org.jacoco</groupId>
746                 <artifactId>jacoco-maven-plugin</artifactId>
747             </plugin>
748
749         </plugins>
750     </build>
751
752 </project>