Onboarding build optimization incl Qual Control
[sdc.git] / openecomp-be / pom.xml
1 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
2          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3     <modelVersion>4.0.0</modelVersion>
4
5     <name>openecomp-sdc</name>
6     <groupId>org.openecomp.sdc</groupId>
7     <artifactId>openecomp-sdc</artifactId>
8     <packaging>pom</packaging>
9
10     <url>http://maven.apache.org</url>
11
12     <parent>
13         <groupId>org.openecomp.sdc</groupId>
14         <artifactId>sdc-onboarding</artifactId>
15         <version>1.2.0-SNAPSHOT</version>
16         <relativePath>../onboarding</relativePath>
17     </parent>
18
19     <dependencies>
20         <dependency>
21             <groupId>com.fasterxml.jackson.core</groupId>
22             <artifactId>jackson-annotations</artifactId>
23             <version>${jackson.version}</version>
24         </dependency>
25
26         <!-- Feature Toggle support libraries-->
27         <dependency>
28             <groupId>org.togglz</groupId>
29             <artifactId>togglz-core</artifactId>
30             <version>${togglz.version}</version>
31         </dependency>
32
33         <dependency>
34             <groupId>org.togglz</groupId>
35             <artifactId>togglz-testing</artifactId>
36             <version>${togglz.version}</version>
37             <scope>test</scope>
38         </dependency>
39     </dependencies>
40
41     <build>
42         <plugins>
43
44             <!-- ================================================== -->
45             <!-- Set the JDK compiler version.                      -->
46             <!-- ================================================== -->
47             <plugin>
48                 <groupId>org.apache.maven.plugins</groupId>
49                 <artifactId>maven-compiler-plugin</artifactId>
50                 <version>${mvn.compiler.version}</version>
51                 <inherited>true</inherited>
52                 <executions>
53                     <execution>
54                         <id>default-compile</id>
55                         <configuration>
56                             <skipMain>${skipMainSourceCompile}</skipMain>
57                         </configuration>
58                     </execution>
59                     <execution>
60                         <id>default-testCompile</id>
61                         <configuration>
62                             <skip>${skipTestSourceCompile}</skip>
63                         </configuration>
64                     </execution>
65                 </executions>
66                 <configuration>
67                     <source>${java.source}</source>
68                     <target>${java.target}</target>
69                 </configuration>
70             </plugin>
71             <plugin>
72                 <groupId>org.openecomp.sdc.onboarding</groupId>
73                 <artifactId>artifact-copy-plugin</artifactId>
74                 <version>${project.version}</version>
75                 <executions>
76                     <execution>
77                         <goals>
78                             <goal>init-artifact-helper</goal>
79                             <goal>copy-helper</goal>
80                             <goal>calibrate-artifact-helper</goal>
81                         </goals>
82                     </execution>
83                 </executions>
84                 <configuration>
85                     <groupId>org.openecomp.sdc</groupId>
86                     <artifactId>build-data-installer</artifactId>
87                     <version>${project.version}</version>
88                     <targetLocation>build-data-helper</targetLocation>
89                     <name>build-data-helper-${project.version}.jar</name>
90                     <artifactHelper>
91                         <project>${project}</project>
92                     </artifactHelper>
93                 </configuration>
94             </plugin>
95             <plugin>
96                 <groupId>org.apache.maven.plugins</groupId>
97                 <artifactId>maven-dependency-plugin</artifactId>
98                 <version>${maven.dependency.version}</version>
99                 <executions>
100                     <execution>
101                         <id>id1</id>
102                         <goals>
103                             <goal>get</goal>
104                         </goals>
105                         <phase>pre-clean</phase>
106                         <configuration>
107                             <artifactId>build-data-helper</artifactId>
108                         </configuration>
109                     </execution>
110                     <execution>
111                         <id>id2</id>
112                         <goals>
113                             <goal>get</goal>
114                         </goals>
115                         <phase>pre-clean</phase>
116                         <configuration>
117                             <artifactId>build-data-installer</artifactId>
118                         </configuration>
119                     </execution>
120                 </executions>
121                 <configuration>
122                     <groupId>org.openecomp.sdc</groupId>
123                     <version>${project.version}</version>
124                     <skip>${skipGet}</skip>
125                 </configuration>
126             </plugin>
127             <plugin>
128                 <groupId>org.openecomp.sdc.onboarding</groupId>
129                 <artifactId>compile-helper-plugin</artifactId>
130                 <version>${project.version}</version>
131                 <dependencies>
132                     <dependency>
133                         <groupId>org.openecomp.sdc</groupId>
134                         <artifactId>build-data-helper</artifactId>
135                         <version>${project.version}</version>
136                     </dependency>
137                     <dependency>
138                         <groupId>org.openecomp.sdc.onboarding</groupId>
139                         <artifactId>pmd-helper-plugin</artifactId>
140                         <version>${project.version}</version>
141                     </dependency>
142                 </dependencies>
143                 <executions>
144                     <execution>
145                         <goals>
146                             <goal>init-helper</goal>
147                             <goal>pre-compile-helper</goal>
148                             <goal>post-compile-helper</goal>
149                             <goal>pre-test-compile-helper</goal>
150                             <goal>post-test-run-helper</goal>
151                         </goals>
152                     </execution>
153                 </executions>
154                 <configuration>
155                     <excludePackaging>pom</excludePackaging>
156                     <excludeDependencies>test,runtime</excludeDependencies>
157                     <generatedSourceLocation>${project.build.directory}/generated-sources</generatedSourceLocation>
158                     <buildState>
159                         <project>${project}</project>
160                         <compileStateFilePath>org.openecomp.sdc:sdc-onboarding/target/build-data/compileState.dat</compileStateFilePath>
161                     </buildState>
162                 </configuration>
163             </plugin>
164             <plugin>
165                 <groupId>org.apache.maven.plugins</groupId>
166                 <artifactId>maven-pmd-plugin</artifactId>
167                 <version>${maven.pmd.plugin.version}</version>
168                 <dependencies>
169                     <dependency>
170                         <groupId>org.openecomp.sdc</groupId>
171                         <artifactId>build-tools</artifactId>
172                         <version>${build.tools.version}</version>
173                     </dependency>
174                     <dependency>
175                         <groupId>net.sourceforge.pmd</groupId>
176                         <artifactId>pmd-core</artifactId>
177                         <version>${pmd.core.version}</version>
178                     </dependency>
179                     <dependency>
180                         <groupId>net.sourceforge.pmd</groupId>
181                         <artifactId>pmd-java</artifactId>
182                         <version>${pmd.java.version}</version>
183                     </dependency>
184                 </dependencies>
185                 <configuration>
186                     <skip>${skipPMD}</skip>
187                     <showPmdLog>false</showPmdLog>
188                     <analysisCache>false</analysisCache>
189                     <analysisCacheLocation>${project.build.directory}/pmd/pmd.cache</analysisCacheLocation>
190                     <failOnViolation>false</failOnViolation>
191                     <printFailingErrors>false</printFailingErrors>
192                     <format>csv</format>
193                     <targetDirectory>${project.build.directory}/pmd</targetDirectory>
194                     <includeTests>true</includeTests>
195                     <linkXRef>false</linkXRef>
196                     <aggregate>false</aggregate>
197                     <rulesets>
198                         <ruleset>/category/java/bestpractices.xml</ruleset>
199                         <ruleset>/category/java/codestyle.xml</ruleset>
200                         <ruleset>/category/java/design.xml</ruleset>
201                         <ruleset>/category/java/errorprone.xml</ruleset>
202                         <ruleset>/category/java/multithreading.xml</ruleset>
203                         <ruleset>/category/java/performance.xml</ruleset>
204                         <ruleset>/category/java/security.xml</ruleset>
205                     </rulesets>
206                 </configuration>
207                 <executions>
208                     <execution>
209                         <goals>
210                             <goal>check</goal>
211                         </goals>
212                         <phase>integration-test</phase>
213                     </execution>
214                 </executions>
215             </plugin>
216             <plugin>
217                 <groupId>org.openecomp.sdc.onboarding</groupId>
218                 <artifactId>pmd-helper-plugin</artifactId>
219                 <version>${project.version}</version>
220                 <dependencies>
221                     <dependency>
222                     <groupId>org.openecomp.sdc</groupId>
223                     <artifactId>build-data-helper</artifactId>
224                     <version>${project.version}</version>
225                 </dependency>
226                 </dependencies>
227                 <executions>
228                     <execution>
229                         <goals>
230                             <goal>init-pmd-helper</goal>
231                             <goal>post-verify-helper</goal>
232                         </goals>
233                     </execution>
234                 </executions>
235                 <configuration>
236                     <excludePackaging>pom</excludePackaging>
237                     <pmdTargetLocation>${project.build.directory}/pmd/pmd.xml</pmdTargetLocation>
238                     <pmdFailureReportLocation>${project.build.directory}/pmd.txt</pmdFailureReportLocation>
239                     <pmdReportFile>${project.build.directory}/pmd/pmd.csv</pmdReportFile>
240                     <persistingModuleCoordinates>org.openecomp.sdc:build-data-installer</persistingModuleCoordinates>
241                     <pmdCurrentStateFilePath>org.openecomp.sdc:sdc-onboarding/target/build-data/pmdState.dat</pmdCurrentStateFilePath>
242                     <pmdStateFile>${project.build.outputDirectory}/pmd.dat</pmdStateFile>
243                     <compiledFilesList>${project.build.directory}/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst</compiledFilesList>
244                     <compiledTestFilesList>${project.build.directory}/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst</compiledTestFilesList>
245                 </configuration>
246             </plugin>
247             <plugin>
248                 <groupId>org.apache.maven.plugins</groupId>
249                 <artifactId>maven-jar-plugin</artifactId>
250                 <version>${mvn.jar.version}</version>
251                 <configuration>
252                     <archive>
253                         <addMavenDescriptor>${mvnDsc}</addMavenDescriptor>
254                     </archive>
255                     <excludes>
256                         <exclude>${emptyJAR}</exclude>
257                     </excludes>
258                 </configuration>
259             </plugin>
260             <plugin>
261                 <groupId>org.codehaus.mojo</groupId>
262                 <artifactId>license-maven-plugin</artifactId>
263                 <version>${mvn.license.version}</version>
264                 <configuration>
265                     <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
266                     <processStartTag>============LICENSE_START=======================================================</processStartTag>
267                     <processEndTag>============LICENSE_END=========================================================</processEndTag>
268                     <sectionDelimiter>================================================================================</sectionDelimiter>
269                     <licenseName>apache_v2</licenseName>
270                     <inceptionYear>2017</inceptionYear>
271                     <organizationName>AT&amp;T Intellectual Property. All rights reserved.</organizationName>
272                     <projectName>SDC</projectName>
273                     <canUpdateCopyright>true</canUpdateCopyright>
274                     <canUpdateDescription>true</canUpdateDescription>
275                     <canUpdateLicense>true</canUpdateLicense>
276                     <emptyLineAfterHeader>true</emptyLineAfterHeader>
277                     <verbose>false</verbose>
278                     <includes>
279                         <include>**/*.java</include>
280                         <include>**/*.js</include>
281                         <include>**/*.ts</include>
282                     </includes>
283                     <roots>
284                         <root>src</root>
285                         <root>app</root>
286                         <root>server-mock</root>
287                         <root>typings</root>
288                     </roots>
289                 </configuration>
290                 <executions>
291                     <execution>
292                         <id>first</id>
293                         <goals>
294                             <goal>update-file-header</goal>
295                         </goals>
296                     </execution>
297                 </executions>
298             </plugin>
299             <plugin>
300                 <groupId>org.jacoco</groupId>
301                 <artifactId>jacoco-maven-plugin</artifactId>
302                 <version>${jacoco.version}</version>
303                 <executions>
304                     <execution>
305                         <goals>
306                             <goal>prepare-agent</goal>
307                         </goals>
308                     </execution>
309                     <execution>
310                         <id>report</id>
311                         <phase>prepare-package</phase>
312                         <goals>
313                             <goal>report</goal>
314                         </goals>
315                     </execution>
316                     <execution>
317                         <id>post-unit-test</id>
318                         <phase>test</phase>
319                         <goals>
320                             <goal>report</goal>
321                         </goals>
322                         <configuration>
323                             <!-- Sets the path to the file which contains the execution data. -->
324                             <dataFile>target/jacoco.exec</dataFile>
325                             <!-- Sets the output directory for the code coverage report. -->
326                             <outputDirectory>target/jacoco-ut</outputDirectory>
327                         </configuration>
328                     </execution>
329                 </executions>
330             </plugin>
331
332         </plugins>
333     </build>
334
335     <!--Added to resolve blackduck operational risks for indirect dependencies referred -->
336     <dependencyManagement>
337         <dependencies>
338             <!-- https://mvnrepository.com/artifact/commons-beanutils/commons-beanutils -->
339             <dependency>
340                 <groupId>commons-beanutils</groupId>
341                 <artifactId>commons-beanutils</artifactId>
342                 <version>${commons.beanutils.version}</version>
343             </dependency>
344             <!-- https://mvnrepository.com/artifact/com.beust/jcommander -->
345             <dependency>
346                 <groupId>com.beust</groupId>
347                 <artifactId>jcommander</artifactId>
348                 <version>${jcommander.version}</version>
349             </dependency>
350             <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpasyncclient -->
351             <dependency>
352                 <groupId>org.apache.httpcomponents</groupId>
353                 <artifactId>httpasyncclient</artifactId>
354                 <version>${httpasyncclient.version}</version>
355             </dependency>
356             <!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-impl -->
357             <dependency>
358                 <groupId>com.sun.xml.bind</groupId>
359                 <artifactId>jaxb-impl</artifactId>
360                 <version>${jaxb.impl.version}</version>
361             </dependency>
362             <!-- https://mvnrepository.com/artifact/org.beanshell/bsh -->
363             <dependency>
364                 <groupId>org.beanshell</groupId>
365                 <artifactId>bsh</artifactId>
366                 <version>${bsh.version}</version>
367             </dependency>
368             <!-- https://mvnrepository.com/artifact/commons-digester/commons-digester -->
369             <dependency>
370                 <groupId>commons-digester</groupId>
371                 <artifactId>commons-digester</artifactId>
372                 <version>${commons.digester.version}</version>
373             </dependency>
374             <!-- https://mvnrepository.com/artifact/com.fasterxml/classmate -->
375             <dependency>
376                 <groupId>com.fasterxml</groupId>
377                 <artifactId>classmate</artifactId>
378                 <version>${classmate.version}</version>
379             </dependency>
380             <!--1702 -->
381             <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
382             <dependency>
383                 <groupId>org.slf4j</groupId>
384                 <artifactId>slf4j-api</artifactId>
385                 <version>${slf4j.version}</version>
386             </dependency>
387             <dependency>
388                 <groupId>org.codehaus.groovy</groupId>
389                 <artifactId>groovy-all</artifactId>
390                 <version>${groovy.version}</version>
391             </dependency>
392             <dependency>
393                 <groupId>org.codehaus.janino</groupId>
394                 <artifactId>janino</artifactId>
395                 <version>${janino.version}</version>
396                 <scope>provided</scope>
397             </dependency>
398         </dependencies>
399     </dependencyManagement>
400
401     <modules>
402         <module>/api</module>
403         <module>/lib</module>
404         <module>/tools/swagger-ui</module>
405         <module>/tools/zusammen-tools</module>
406         <module>/backend</module>
407     </modules>
408     <profiles>
409         <!--<profile>-->
410         <!--<id>docker-staging</id>-->
411         <!--<properties>-->
412         <!--<docker.tag>${project.version}-STAGING-${maven.build.timestamp}</docker.tag>-->
413         <!--<docker.latest.tag>${project.version}-STAGING-latest</docker.latest.tag>-->
414         <!--</properties>-->
415         <!--</profile>-->
416
417         <profile>
418             <id>docker</id>
419             <activation>
420                 <activeByDefault>false</activeByDefault>
421             </activation>
422
423             <modules>
424                 <module>/dist</module>
425             </modules>
426         </profile>
427     </profiles>
428 </project>
429