Reducing onboarding backend maven build time
[sdc.git] / pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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     <groupId>org.openecomp.sdc</groupId>
6     <artifactId>sdc-main</artifactId>
7     <version>1.2.0-SNAPSHOT</version>
8     <packaging>pom</packaging>
9     <name>sdc</name>
10     <properties>
11
12         <maven.compiler.source>1.8</maven.compiler.source>
13         <maven.compiler.target>1.8</maven.compiler.target>
14
15         <!-- ==================== -->
16         <!-- Generic properties -->
17         <!-- ==================== -->
18         <build.type>-SNAPSHOT</build.type>
19         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
20         <sprint.number>74</sprint.number>
21
22         <!-- 3rd parties versions -->
23         <lang3.version>3.3.2</lang3.version>
24         <guava.version>18.0</guava.version>
25         <titan.version>1.0.0</titan.version>
26         <sdc.titan.version>1.2.0</sdc.titan.version>
27         <spring-boot.version>1.1.6.RELEASE</spring-boot.version>
28         <spring.version>4.3.13.RELEASE</spring.version>
29         <spring.security.version>3.2.3.RELEASE</spring.security.version>
30         <spring.ldap.version>2.0.1.RELEASE</spring.ldap.version>
31         <jersey-bom.version>2.26</jersey-bom.version>
32         <servlet-api.version>2.5</servlet-api.version>
33         <wire-mock.version>2.11.0</wire-mock.version>
34
35         <artifact-generator-api.version>${project.version}</artifact-generator-api.version>
36         <artifact-generator-core.version>${project.version}</artifact-generator-core.version>
37         <ecomp.version>1.1.0</ecomp.version>
38         <dox-common-lib.version>${project.version}</dox-common-lib.version>
39
40         <!-- Elastic Search mapper (reference the elastic search version actually). -->
41         <elastic-search.version>2.4.0</elastic-search.version>
42         <catalog-artifacts.version>1.0.0-SNAPSHOT</catalog-artifacts.version>
43         <catalog-builders.version>1.0.0-SNAPSHOT</catalog-builders.version>
44         <jetty.version>9.2.10.v20150310</jetty.version>
45
46         <!-- JSON and YAML Parsing -->
47         <jackson.version>2.9.4</jackson.version>
48         <jackson.yaml.version>2.9.4</jackson.yaml.version>
49         <jackson.annotations.version>2.9.4</jackson.annotations.version>
50
51         <!-- Yaml for properties -->
52         <snakeyaml.version>1.14</snakeyaml.version>
53         <functionaljava.version>4.4</functionaljava.version>
54         <httpclient.version>4.4.1</httpclient.version>
55         <httpcore.version>4.4.1</httpcore.version>
56         <json-simple.version>1.1</json-simple.version>
57
58         <!-- Logging start -->
59         <!-- logback -->
60         <logback.version>1.2.3</logback.version>
61         <slf4j-api.version>1.7.10</slf4j-api.version>
62         <commons-codec>1.10</commons-codec>
63         <commons-logging>1.2</commons-logging>
64         <groovy.version>2.4.13</groovy.version>
65         <janino.version>3.0.6</janino.version>
66
67         <!-- aspects -->
68         <jcabi.version>0.20.1</jcabi.version>
69         <aspectjrt.version>1.8.4</aspectjrt.version>
70         <aspectj.version>1.7.4</aspectj.version>
71         <jcabi.plugin.version>0.13.2</jcabi.plugin.version>
72
73         <!-- Logging end -->
74         <!-- System Metrics -->
75         <sigar.version>1.6.4</sigar.version>
76
77         <regex.version>3.0.3</regex.version>
78
79         <!--GSON-->
80         <gson.version>2.3.1</gson.version>
81
82         <!--listen to file changes-->
83         <commons-jci-core.version>1.1</commons-jci-core.version>
84
85         <!--TESTING-->
86         <mockito.version>2.12.0</mockito.version>
87         <junit.version>4.12</junit.version>
88         <assertj.version>3.8.0</assertj.version>
89         <testng.version>6.9.10</testng.version>
90         <extentreports.version>3.0.3</extentreports.version>
91         <cucumber.version>2.3.1</cucumber.version>
92
93         <!-- parser-->
94         <sdc-tosca-parser.version>1.2.3-SNAPSHOT</sdc-tosca-parser.version>
95
96         <!--JaCoCO -->
97         <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
98         <sonar.language>java</sonar.language>
99         <!-- Sonar properties -->
100         <sonar.sourceEncoding>${project.build.sourceEncoding}</sonar.sourceEncoding>
101         <sonar.projectBaseDir>${project.basedir}</sonar.projectBaseDir>
102         <sonar.branch>${project.version}</sonar.branch>
103
104         <!--cassandra -->
105         <cassandra.driver.version>3.0.0</cassandra.driver.version>
106         <!-- maven central (Nexus) -->
107         <nexus.id.release>nexus</nexus.id.release>
108         <nexus.id.snapshot>nexus</nexus.id.snapshot>
109
110         <!--nexus-->
111         <nexus.proxy>https://nexus.onap.org</nexus.proxy>
112         <sitePath>/content/sites/site/org/openecomp/sdc/${project.version}</sitePath>
113         <staging.profile.id>176c31dfe190a</staging.profile.id>
114         <!--maven-->
115         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
116         <!--io.fabric8-->
117         <fabric8.version>0.23.0</fabric8.version>
118         <!--docker tags-->
119         <docker.tag>${project.version}-${maven.build.timestamp}</docker.tag>
120         <!--<docker.latest.tag>${project.version}-latest</docker.latest.tag>-->
121
122     </properties>
123
124     <dependencyManagement>
125         <dependencies>
126             <dependency>
127                 <groupId>org.glassfish.jersey.ext</groupId>
128                 <artifactId>jersey-bean-validation</artifactId>
129                 <version>${jersey-bom.version}</version>
130             </dependency>
131
132             <dependency>
133                 <groupId>org.glassfish.hk2.external</groupId>
134                 <artifactId>asm-all-repackaged</artifactId>
135                 <version>2.4.0</version>
136             </dependency>
137
138             <dependency>
139                 <groupId>org.assertj</groupId>
140                 <artifactId>assertj-core</artifactId>
141                 <version>${assertj.version}</version>
142             </dependency>
143
144             <dependency>
145                 <groupId>org.mockito</groupId>
146                 <artifactId>mockito-core</artifactId>
147                 <version>${mockito.version}</version>
148             </dependency>
149
150             <dependency>
151                 <groupId>com.github.tomakehurst</groupId>
152                 <artifactId>wiremock</artifactId>
153                 <version>${wire-mock.version}</version>
154             </dependency>
155
156             <dependency>
157                 <groupId>io.cucumber</groupId>
158                 <artifactId>cucumber-java</artifactId>
159                 <version>${cucumber.version}</version>
160             </dependency>
161
162             <dependency>
163                 <groupId>io.cucumber</groupId>
164                 <artifactId>cucumber-junit</artifactId>
165                 <version>${cucumber.version}</version>
166             </dependency>
167         </dependencies>
168     </dependencyManagement>
169
170     <reporting>
171         <plugins>
172             <plugin>
173                 <groupId>org.apache.maven.plugins</groupId>
174                 <artifactId>maven-javadoc-plugin</artifactId>
175                 <version>3.0.0-M1</version>
176                 <configuration>
177                     <failOnError>false</failOnError>
178                     <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
179                     <docletArtifact>
180                         <groupId>org.umlgraph</groupId>
181                         <artifactId>umlgraph</artifactId>
182                         <version>5.6</version>
183                     </docletArtifact>
184                     <additionalparam>-views</additionalparam>
185                     <useStandardDocletOptions>true</useStandardDocletOptions>
186                 </configuration>
187             </plugin>
188         </plugins>
189     </reporting>
190
191     <build>
192         <pluginManagement>
193             <plugins>
194
195                 <plugin>
196                     <groupId>org.apache.maven.plugins</groupId>
197                     <artifactId>maven-site-plugin</artifactId>
198                     <version>3.4</version>
199                     <dependencies>
200                         <dependency>
201                             <groupId>org.apache.maven.wagon</groupId>
202                             <artifactId>wagon-webdav-jackrabbit</artifactId>
203                             <version>2.10</version>
204                         </dependency>
205                     </dependencies>
206                 </plugin>
207
208
209                 <plugin>
210                     <groupId>org.apache.maven.plugins</groupId>
211                     <artifactId>maven-assembly-plugin</artifactId>
212                     <version>3.1.0</version>
213                 </plugin>
214
215                 <plugin>
216                     <groupId>org.codehaus.mojo</groupId>
217                     <artifactId>exec-maven-plugin</artifactId>
218                     <version>1.4.0</version>
219                 </plugin>
220                 <plugin>
221                     <groupId>org.sonarsource.scanner.maven</groupId>
222                     <artifactId>sonar-maven-plugin</artifactId>
223                     <version>3.0.2</version>
224                 </plugin>
225             </plugins>
226         </pluginManagement>
227
228         <plugins>
229
230             <!-- Staging Plugin -->
231             <plugin>
232                 <groupId>org.sonatype.plugins</groupId>
233                 <artifactId>nexus-staging-maven-plugin</artifactId>
234                 <version>1.6.7</version>
235                 <extensions>true</extensions>
236                 <configuration>
237                     <nexusUrl>${nexus.proxy}</nexusUrl>
238                     <stagingProfileId>${staging.profile.id}</stagingProfileId>
239                     <serverId>ecomp-staging</serverId>
240                 </configuration>
241             </plugin>
242
243             <plugin>
244                 <artifactId>maven-surefire-plugin</artifactId>
245                 <version>2.19.1</version>
246                 <configuration>
247                     <systemPropertyVariables>
248                         <logback.configurationFile>src/test/resources/logback-test.xml</logback.configurationFile>
249                     </systemPropertyVariables>
250                 </configuration>
251             </plugin>
252             <!-- plugin for parsing the project version -->
253             <plugin>
254                 <groupId>org.codehaus.mojo</groupId>
255                 <artifactId>build-helper-maven-plugin</artifactId>
256                 <version>1.8</version>
257                 <executions>
258                     <execution>
259                         <id>parse-version</id>
260                         <goals>
261                             <goal>parse-version</goal>
262                         </goals>
263                     </execution>
264                 </executions>
265             </plugin>
266
267             <!-- Java Code Coverage -->
268             <plugin>
269                 <groupId>org.jacoco</groupId>
270                 <artifactId>jacoco-maven-plugin</artifactId>
271                 <version>0.7.9</version>
272                 <executions>
273                     <execution>
274                         <id>default-prepare-agent</id>
275                         <goals>
276                             <goal>prepare-agent</goal>
277                         </goals>
278                     </execution>
279                     <execution>
280                         <id>default-report</id>
281                         <goals>
282                             <goal>report</goal>
283                         </goals>
284                     </execution>
285                 </executions>
286             </plugin>
287
288             <plugin>
289                 <groupId>org.apache.maven.plugins</groupId>
290                 <artifactId>maven-site-plugin</artifactId>
291                 <dependencies>
292                     <dependency>
293                         <groupId>org.apache.maven.wagon</groupId>
294                         <artifactId>wagon-webdav-jackrabbit</artifactId>
295                         <version>2.10</version>
296                     </dependency>
297                 </dependencies>
298             </plugin>
299
300             <!-- Set the deployment repositories properties. -->
301             <plugin>
302                 <groupId>org.codehaus.gmaven</groupId>
303                 <artifactId>gmaven-plugin</artifactId>
304                 <version>1.4</version>
305                 <executions>
306                     <execution>
307                         <inherited>false</inherited>
308                         <phase>integration-test</phase>
309                         <goals>
310                             <goal>execute</goal>
311                         </goals>
312                         <configuration>
313                             <source>
314                                 pom.properties['deploy.url'] =
315                                         pom.version.contains('-SNAPSHOT') ?
316                                                 project.distributionManagement.snapshotRepository.url :
317                                                 project.distributionManagement.repository.url;
318                                 pom.properties['repo.id'] = pom.version.contains('-SNAPSHOT') ?
319                                         project.distributionManagement.snapshotRepository.id :
320                                         project.distributionManagement.repository.id;
321                             </source>
322                         </configuration>
323                     </execution>
324                 </executions>
325             </plugin>
326
327             <!-- license plugin -->
328             <plugin>
329                 <groupId>org.codehaus.mojo</groupId>
330                 <artifactId>license-maven-plugin</artifactId>
331                 <version>1.10</version>
332                 <configuration>
333                     <addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
334                     <processStartTag>============LICENSE_START=======================================================</processStartTag>
335                     <processEndTag>============LICENSE_END=========================================================</processEndTag>
336                     <sectionDelimiter>================================================================================</sectionDelimiter>
337                     <licenseName>apache_v2</licenseName>
338                     <inceptionYear>2017</inceptionYear>
339                     <organizationName>AT&amp;T Intellectual Property. All rights
340                         reserved.
341                     </organizationName>
342                     <projectName>SDC</projectName>
343                     <canUpdateCopyright>true</canUpdateCopyright>
344                     <canUpdateDescription>true</canUpdateDescription>
345                     <canUpdateLicense>true</canUpdateLicense>
346                     <emptyLineAfterHeader>true</emptyLineAfterHeader>
347                     <verbose>false</verbose>
348                     <includes>
349                         <include>**/*.java</include>
350                         <include>**/*.ts</include>
351                     </includes>
352                     <excludes>
353                         <exclude>**/*.d.ts</exclude>
354                     </excludes>
355                     <roots>
356                         <root>src</root>
357                         <root>app</root>
358                         <root>server-mock</root>
359                         <root>typings</root>
360                     </roots>
361                     <extraExtensions>
362                         <ts>java</ts>
363                     </extraExtensions>
364                 </configuration>
365                 <executions>
366                     <execution>
367                         <id>first</id>
368                         <goals>
369                             <goal>update-file-header</goal>
370                         </goals>
371                         <!--phase>process-sources</phase -->
372                     </execution>
373                 </executions>
374             </plugin>
375         </plugins>
376     </build>
377
378     <profiles>
379         <profile>
380             <id>all</id>
381             <activation>
382                 <activeByDefault>true</activeByDefault>
383             </activation>
384             <modules>
385                 <module>build-tools</module>
386                 <module>onboarding</module>
387                 <module>services/activity-spec</module>
388                 <module>security-utils</module>
389                 <module>common-app-api</module>
390                 <module>common-be</module>
391                 <module>catalog-dao</module>
392                 <module>catalog-model</module>
393                 <module>catalog-be</module>
394                 <module>asdctool</module>
395                 <module>catalog-ui</module>
396                 <module>catalog-fe</module>
397                 <module>test-apis-ci</module>
398                 <module>ui-ci</module>
399                 <module>sdc-os-chef</module>
400                 <module>utils/webseal-simulator</module>
401             </modules>
402
403         </profile>
404
405         <profile>
406             <id>catalog</id>
407             <activation>
408                 <activeByDefault>false</activeByDefault>
409             </activation>
410             <modules>
411                 <module>security-utils</module>
412                 <module>common-app-api</module>
413                 <module>common-be</module>
414                 <module>catalog-dao</module>
415                 <module>catalog-model</module>
416                 <module>catalog-be</module>
417                 <module>asdctool</module>
418                 <module>catalog-ui</module>
419                 <module>catalog-fe</module>
420                 <module>test-apis-ci</module>
421                 <module>ui-ci</module>
422             </modules>
423
424             <properties>
425                 <ecomp.version>1.2.7</ecomp.version>
426                 <artifact-generator-api.version>1802.0.1.167</artifact-generator-api.version>
427                 <artifact-generator-core.version>1802.0.1.167</artifact-generator-core.version>
428                 <dox-common-lib.version>1802.0.1.167</dox-common-lib.version>
429                 <sdc-tosca-parser.version>1.1.32</sdc-tosca-parser.version>
430             </properties>
431         </profile>
432
433         <profile>
434             <id>onboarding</id>
435             <activation>
436                 <activeByDefault>false</activeByDefault>
437             </activation>
438             <modules>
439                 <module>build-tools</module>
440                 <module>onboarding</module>
441             </modules>
442         </profile>
443
444     </profiles>
445
446     <repositories>
447         <!-- LF repositories -->
448         <repository>
449             <id>ecomp-releases</id>
450             <name>Release Repository</name>
451             <url>${nexus.proxy}/content/repositories/releases/</url>
452         </repository>
453         <repository>
454             <id>ecomp-snapshots</id>
455             <name>Snapshots Repository</name>
456             <url>${nexus.proxy}/content/repositories/snapshots/</url>
457         </repository>
458         <repository>
459             <id>ecomp-public</id>
460             <name>Public Repository</name>
461             <url>${nexus.proxy}/content/repositories/public/</url>
462         </repository>
463         <!-- LF repositories END-->
464     </repositories>
465
466     <distributionManagement>
467         <repository>
468             <id>ecomp-releases</id>
469             <name>Release Repository</name>
470             <url>${nexus.proxy}/content/repositories/releases/</url>
471         </repository>
472         <snapshotRepository>
473             <id>ecomp-snapshots</id>
474             <name>Snapshot Repository</name>
475             <url>${nexus.proxy}/content/repositories/snapshots/</url>
476         </snapshotRepository>
477         <site>
478             <id>ecomp-site</id>
479             <url>dav:${nexus.proxy}${sitePath}</url>
480         </site>
481     </distributionManagement>
482 </project>