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