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