Declare properties as policies
[sdc.git] / pom.xml
1 <!--
2 ============LICENSE_START=======================================================
3 SDC
4 ================================================================================
5 Copyright (C) 2017 AT&T Intellectual Property. 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 Modifications copyright (c) 2018 Nokia
20 ================================================================================
21 -->
22 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
24     <modelVersion>4.0.0</modelVersion>
25
26     <groupId>org.openecomp.sdc</groupId>
27     <artifactId>sdc-main</artifactId>
28     <version>1.4.0-SNAPSHOT</version>
29     <packaging>pom</packaging>
30     <name>sdc</name>
31     <properties>
32         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
33
34         <tosca.datatype.version>1.3.2-SNAPSHOT</tosca.datatype.version>
35
36         <!-- 3rd parties versions -->
37         <bean-matcher.version>0.11</bean-matcher.version>
38         <lang3.version>3.3.2</lang3.version>
39         <lang3.version>3.3.2</lang3.version>
40         <guava.version>18.0</guava.version>
41         <titan.version>1.0.0</titan.version>
42         <sdc.titan.version>1.2.0</sdc.titan.version>
43         <spring.version>4.3.18.RELEASE</spring.version>
44         <spring.security.version>3.2.3.RELEASE</spring.security.version>
45         <spring.ldap.version>2.0.1.RELEASE</spring.ldap.version>
46         <jersey-bom.version>2.27</jersey-bom.version>
47         <servlet-api.version>3.1.0</servlet-api.version>
48         <wire-mock.version>2.18.0</wire-mock.version>
49         <ecomp.version>2.4.0</ecomp.version>
50         <cassandra.unit.version>3.5.0.1</cassandra.unit.version>
51         <lombok.version>1.18.2</lombok.version>
52
53         <commons.collections.version>4.1</commons.collections.version>
54
55         <!-- Elastic Search mapper (reference the elastic search version actually). -->
56         <elastic-search.version>2.4.0</elastic-search.version>
57         <catalog-artifacts.version>1.0.0-SNAPSHOT</catalog-artifacts.version>
58         <catalog-builders.version>1.0.0-SNAPSHOT</catalog-builders.version>
59         <jetty.version>9.4.11.v20180605</jetty.version>
60
61         <!-- JSON and YAML Parsing -->
62         <jackson.version>2.8.10</jackson.version>
63         <jackson-annotations.version>2.8.0</jackson-annotations.version>
64         <jackson.mapper.version>1.9.13</jackson.mapper.version>
65
66         <!-- Yaml for properties -->
67         <snakeyaml.version>1.14</snakeyaml.version>
68         <functionaljava.version>4.7</functionaljava.version>
69         <httpclient.version>4.5.3</httpclient.version>
70         <httpcore.version>4.4.1</httpcore.version>
71         <json-simple.version>1.1</json-simple.version>
72
73         <!-- Logging start -->
74         <!-- logback -->
75         <logback.version>1.2.3</logback.version>
76         <slf4j-api.version>1.7.25</slf4j-api.version>
77         <commons-codec>1.10</commons-codec>
78         <commons-logging>1.2</commons-logging>
79         <janino.version>3.0.6</janino.version>
80
81         <!-- aspects -->
82         <jcabi.version>0.20.1</jcabi.version>
83         <aspectjrt.version>1.8.4</aspectjrt.version>
84         <aspectj.version>1.7.4</aspectj.version>
85         <jcabi.maven.plugin.version>0.13.2</jcabi.maven.plugin.version>
86
87         <!-- Logging end -->
88         <!-- System Metrics -->
89         <sigar.version>1.6.4</sigar.version>
90
91         <regex.version>3.0.3</regex.version>
92
93         <!--GSON-->
94         <gson.version>2.3.1</gson.version>
95
96         <!--listen to file changes-->
97         <commons-jci-core.version>1.1</commons-jci-core.version>
98
99         <!--TESTING-->
100         <mockito.version>2.18.3</mockito.version>
101         <jmockit.version>1.33</jmockit.version>
102         <junit.version>4.12</junit.version>
103         <assertj.version>3.10.0</assertj.version>
104         <testng.version>6.9.10</testng.version>
105         <extentreports.version>3.0.3</extentreports.version>
106         <cucumber.version>2.4.0</cucumber.version>
107         <bean-matchers.version>0.11</bean-matchers.version>
108         <hamcrest-all.version>1.3</hamcrest-all.version>
109
110         <!-- parser-->
111         <sdc-tosca-parser.version>1.3.5</sdc-tosca-parser.version>
112
113         <!-- sonar -->
114         <sonar.language>java</sonar.language>
115         <sonar.sourceEncoding>${project.build.sourceEncoding}</sonar.sourceEncoding>
116         <sonar.projectBaseDir>${project.basedir}</sonar.projectBaseDir>
117         <sonar.branch>${project.version}</sonar.branch>
118
119         <!--cassandra -->
120         <cassandra.driver.version>3.0.0</cassandra.driver.version>
121         <!-- maven central (Nexus) -->
122         <nexus.id.release>nexus</nexus.id.release>
123         <nexus.id.snapshot>nexus</nexus.id.snapshot>
124
125         <!--nexus-->
126         <npm.registry>https://registry.npmjs.org/</npm.registry>
127         <!-- https://nexus.onap.org/content/repositories/npm/ -->
128         <nexus.proxy>https://nexus.onap.org</nexus.proxy>
129         <sitePath>/content/sites/site/org/openecomp/sdc/${project.version}</sitePath>
130         <staging.profile.id>176c31dfe190a</staging.profile.id>
131         <!--maven-->
132         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
133         <!--docker tags-->
134         <docker.tag>${project.version}-${maven.build.timestamp}</docker.tag>
135
136         <joda.time.version>2.9.9</joda.time.version>
137
138
139     </properties>
140
141
142     <dependencyManagement>
143         <dependencies>
144             <dependency>
145                 <groupId>org.glassfish.jersey.ext</groupId>
146                 <artifactId>jersey-bean-validation</artifactId>
147                 <version>${jersey-bom.version}</version>
148             </dependency>
149
150             <dependency>
151                 <groupId>org.glassfish.hk2.external</groupId>
152                 <artifactId>asm-all-repackaged</artifactId>
153                 <version>2.4.0</version>
154             </dependency>
155
156             <dependency>
157                 <groupId>org.assertj</groupId>
158                 <artifactId>assertj-core</artifactId>
159                 <version>${assertj.version}</version>
160             </dependency>
161
162             <dependency>
163                 <groupId>org.mockito</groupId>
164                 <artifactId>mockito-core</artifactId>
165                 <version>${mockito.version}</version>
166             </dependency>
167             
168                         <dependency>
169                         <groupId>org.jmockit</groupId>
170                                 <artifactId>jmockit</artifactId>
171                                 <version>${jmockit.version}</version>
172                         </dependency>
173                         
174
175             <dependency>
176                 <groupId>com.github.tomakehurst</groupId>
177                 <artifactId>wiremock-standalone</artifactId>
178                 <version>${wire-mock.version}</version>
179             </dependency>
180
181             <dependency>
182                 <groupId>io.cucumber</groupId>
183                 <artifactId>cucumber-java</artifactId>
184                 <version>${cucumber.version}</version>
185             </dependency>
186
187             <dependency>
188                 <groupId>io.cucumber</groupId>
189                 <artifactId>cucumber-junit</artifactId>
190                 <version>${cucumber.version}</version>
191             </dependency>
192
193             <dependency>
194                 <groupId>org.apache.commons</groupId>
195                 <artifactId>commons-lang3</artifactId>
196                 <version>${lang3.version}</version>
197             </dependency>
198             <dependency>
199                 <groupId>org.codehaus.groovy</groupId>
200                 <artifactId>groovy</artifactId>
201                 <version>2.4.13</version>
202             </dependency>
203             <dependency>
204                 <groupId>io.netty</groupId>
205                 <artifactId>netty-all</artifactId>
206                 <version>4.0.45.Final</version>
207             </dependency>
208             <dependency>
209                 <groupId>io.netty</groupId>
210                 <artifactId>netty-handler</artifactId>
211                 <version>4.0.45.Final</version>
212             </dependency>
213         </dependencies>
214     </dependencyManagement>
215
216     <reporting>
217         <plugins>
218             <plugin>
219                 <groupId>org.apache.maven.plugins</groupId>
220                 <artifactId>maven-javadoc-plugin</artifactId>
221                 <version>3.0.1</version>
222                 <configuration>
223                     <failOnError>false</failOnError>
224                     <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
225                     <docletArtifact>
226                         <groupId>org.umlgraph</groupId>
227                         <artifactId>umlgraph</artifactId>
228                         <version>5.6</version>
229                     </docletArtifact>
230                     <useStandardDocletOptions>true</useStandardDocletOptions>
231                 </configuration>
232             </plugin>
233         </plugins>
234     </reporting>
235
236     <build>
237         <pluginManagement>
238             <plugins>
239                 <plugin>
240                     <groupId>org.jacoco</groupId>
241                     <artifactId>jacoco-maven-plugin</artifactId>
242                     <version>0.8.1</version>
243                 </plugin>
244                 <plugin>
245                     <groupId>org.apache.maven.plugins</groupId>
246                     <artifactId>maven-assembly-plugin</artifactId>
247                     <version>3.1.0</version>
248                 </plugin>
249
250                 <plugin>
251                     <groupId>org.codehaus.mojo</groupId>
252                     <artifactId>exec-maven-plugin</artifactId>
253                     <version>1.6.0</version>
254                 </plugin>
255                 <plugin>
256                     <groupId>org.sonarsource.scanner.maven</groupId>
257                     <artifactId>sonar-maven-plugin</artifactId>
258                     <version>3.4.1.1168</version>
259                 </plugin>
260                 <plugin>
261                     <groupId>org.apache.maven.plugins</groupId>
262                     <artifactId>maven-clean-plugin</artifactId>
263                     <version>3.1.0</version>
264                 </plugin>
265                 <plugin>
266                     <groupId>ru.yaal.maven</groupId>
267                     <artifactId>write-text-files-maven-plugin</artifactId>
268                     <version>1.1</version>
269                 </plugin>
270                 <plugin>
271                     <groupId>org.codehaus.gmaven</groupId>
272                     <artifactId>gmaven-plugin</artifactId>
273                     <version>1.5</version>
274                 </plugin>
275                 <plugin>
276                     <groupId>org.codehaus.mojo</groupId>
277                     <artifactId>build-helper-maven-plugin</artifactId>
278                     <version>3.0.0</version>
279                 </plugin>
280                 <plugin>
281                     <groupId>org.apache.maven.plugins</groupId>
282                     <artifactId>maven-deploy-plugin</artifactId>
283                     <version>2.8.2</version>
284                 </plugin>
285                 <plugin>
286                     <groupId>org.apache.maven.plugins</groupId>
287                     <artifactId>maven-shade-plugin</artifactId>
288                     <version>3.1.1</version>
289                 </plugin>
290                 <plugin>
291                     <groupId>org.apache.maven.plugins</groupId>
292                     <artifactId>maven-resources-plugin</artifactId>
293                     <version>3.1.0</version>
294                 </plugin>
295                 <plugin>
296                     <groupId>io.fabric8</groupId>
297                     <artifactId>docker-maven-plugin</artifactId>
298                     <version>0.26.0</version>
299                 </plugin>
300                 <plugin>
301                     <groupId>org.apache.maven.plugins</groupId>
302                     <artifactId>maven-war-plugin</artifactId>
303                     <version>3.2.2</version>
304                 </plugin>
305                 <plugin>
306                     <groupId>com.github.eirslett</groupId>
307                     <artifactId>frontend-maven-plugin</artifactId>
308                     <version>1.6</version>
309                 </plugin>
310                 <plugin>
311                     <groupId>org.apache.maven.plugins</groupId>
312                     <artifactId>maven-surefire-plugin</artifactId>
313                     <version>2.22.0</version>
314                 </plugin>
315                 <plugin>
316                     <groupId>org.apache.maven.plugins</groupId>
317                     <artifactId>maven-compiler-plugin</artifactId>
318                     <version>3.8.0</version>
319                 </plugin>
320                 <plugin>
321                     <groupId>org.sonatype.plugins</groupId>
322                     <artifactId>nexus-staging-maven-plugin</artifactId>
323                     <version>1.6.8</version>
324                 </plugin>
325                 <plugin>
326                     <groupId>com.github.sylvainlaurent.maven</groupId>
327                     <artifactId>yaml-json-validator-maven-plugin</artifactId>
328                     <version>1.0.1</version>
329                 </plugin>
330                 <plugin>
331                     <groupId>pl.project13.maven</groupId>
332                     <artifactId>git-commit-id-plugin</artifactId>
333                     <version>2.2.6</version>
334                 </plugin>
335             </plugins>
336         </pluginManagement>
337
338         <plugins>
339
340             <!-- Staging Plugin -->
341             <plugin>
342                 <groupId>org.sonatype.plugins</groupId>
343                 <artifactId>nexus-staging-maven-plugin</artifactId>
344                 <extensions>true</extensions>
345                 <configuration>
346                     <nexusUrl>${nexus.proxy}</nexusUrl>
347                     <stagingProfileId>${staging.profile.id}</stagingProfileId>
348                     <serverId>ecomp-staging</serverId>
349                 </configuration>
350             </plugin>
351
352             <!-- plugin for parsing the project version -->
353             <plugin>
354                 <groupId>org.codehaus.mojo</groupId>
355                 <artifactId>build-helper-maven-plugin</artifactId>
356                 <executions>
357                     <execution>
358                         <id>parse-version</id>
359                         <phase>pre-clean</phase>
360                         <goals>
361                             <goal>parse-version</goal>
362                         </goals>
363                     </execution>
364                 </executions>
365             </plugin>
366
367             <!-- Java Code Coverage -->
368             <plugin>
369                 <groupId>org.jacoco</groupId>
370                 <artifactId>jacoco-maven-plugin</artifactId>
371                 <executions>
372                     <execution>
373                         <id>default-prepare-agent</id>
374                         <goals>
375                             <goal>prepare-agent</goal>
376                         </goals>
377                     </execution>
378                     <execution>
379                         <id>default-report</id>
380                         <goals>
381                             <goal>report</goal>
382                         </goals>
383                     </execution>
384                 </executions>
385             </plugin>
386
387             <plugin>
388                 <groupId>org.apache.maven.plugins</groupId>
389                 <artifactId>maven-site-plugin</artifactId>
390                 <version>3.7.1</version>
391                 <dependencies>
392                     <dependency>
393                         <groupId>org.apache.maven.wagon</groupId>
394                         <artifactId>wagon-webdav-jackrabbit</artifactId>
395                         <version>3.0.0</version>
396                     </dependency>
397                 </dependencies>
398             </plugin>
399
400             <!-- Set the deployment repositories properties. -->
401             <plugin>
402                 <groupId>org.codehaus.gmaven</groupId>
403                 <artifactId>gmaven-plugin</artifactId>
404                 <executions>
405                     <execution>
406                         <inherited>false</inherited>
407                         <phase>integration-test</phase>
408                         <goals>
409                             <goal>execute</goal>
410                         </goals>
411                         <configuration>
412                             <source>
413                                 pom.properties['deploy.url'] =
414                                 pom.version.contains('-SNAPSHOT') ?
415                                 project.distributionManagement.snapshotRepository.url :
416                                 project.distributionManagement.repository.url;
417                                 pom.properties['repo.id'] = pom.version.contains('-SNAPSHOT') ?
418                                 project.distributionManagement.snapshotRepository.id :
419                                 project.distributionManagement.repository.id;
420                             </source>
421                         </configuration>
422                     </execution>
423                 </executions>
424             </plugin>
425             <plugin>
426                 <groupId>org.apache.maven.plugins</groupId>
427                 <artifactId>maven-compiler-plugin</artifactId>
428                 <configuration>
429                     <source>1.8</source>
430                     <target>1.8</target>
431                 </configuration>
432             </plugin>
433             <plugin>
434                 <groupId>org.apache.maven.plugins</groupId>
435                 <artifactId>maven-surefire-plugin</artifactId>
436                 <configuration>
437                     <printSummary>false</printSummary>
438                 </configuration>
439             </plugin>
440             <plugin>
441                <groupId>pl.project13.maven</groupId>
442                <artifactId>git-commit-id-plugin</artifactId>
443                <executions>
444                   <execution>
445                      <goals>
446                         <goal>revision</goal>
447                      </goals>
448                   </execution>
449                </executions>
450                <configuration>
451                   <generateGitPropertiesFile>true</generateGitPropertiesFile>
452                   <generateGitPropertiesFilename>${project.build.outputDirectory}/META-INF/git.properties</generateGitPropertiesFilename>
453                   <failOnNoGitDirectory>true</failOnNoGitDirectory>
454                   <verbose>false</verbose>
455                   <includeOnlyProperties>
456                      <includeOnlyProperty>git.build.version</includeOnlyProperty>
457                      <includeOnlyProperty>git.build.time</includeOnlyProperty>
458                      <includeOnlyProperty>git.commit.id</includeOnlyProperty>
459                      <includeOnlyProperty>git.commit.time</includeOnlyProperty>
460                      <includeOnlyProperty>git.commit.user.name</includeOnlyProperty>
461                      <includeOnlyProperty>git.commit.user.email</includeOnlyProperty>
462                      <includeOnlyProperty>git.commit.message.short</includeOnlyProperty>
463                      <includeOnlyProperty>git.commit.message.full</includeOnlyProperty>
464                   </includeOnlyProperties>
465                   <gitDescribe>
466                      <skip>true</skip>
467                   </gitDescribe>
468                   <useNativeGit>false</useNativeGit>
469                </configuration>
470             </plugin>
471         </plugins>
472     </build>
473
474     <profiles>
475         <profile>
476             <id>all</id>
477             <activation>
478                 <activeByDefault>true</activeByDefault>
479             </activation>
480             <modules>
481                 <module>onboarding</module>
482                 <module>security-utils</module>
483                 <module>common-app-api</module>
484                 <module>common-be</module>
485                 <module>catalog-dao</module>
486                 <module>catalog-model</module>
487                 <module>catalog-be</module>
488                 <module>asdctool</module>
489                 <module>catalog-ui</module>
490                 <module>catalog-fe</module>
491                 <module>test-apis-ci</module>
492                 <module>ui-ci</module>
493                 <module>sdc-os-chef</module>
494                 <module>utils/webseal-simulator</module>
495             </modules>
496
497         </profile>
498
499         <profile>
500             <id>catalog</id>
501             <activation>
502                 <activeByDefault>false</activeByDefault>
503             </activation>
504             <modules>
505                 <module>security-utils</module>
506                 <module>common-app-api</module>
507                 <module>common-be</module>
508                 <module>catalog-dao</module>
509                 <module>catalog-model</module>
510                 <module>catalog-be</module>
511                 <module>asdctool</module>
512                 <module>catalog-ui</module>
513                 <module>catalog-fe</module>
514                 <module>test-apis-ci</module>
515                 <module>ui-ci</module>
516             </modules>
517
518             <properties>
519                 <sdc-tosca-parser.version>1.1.32</sdc-tosca-parser.version>
520             </properties>
521         </profile>
522
523         <profile>
524             <id>onboarding</id>
525             <activation>
526                 <activeByDefault>false</activeByDefault>
527             </activation>
528             <modules>
529                 <module>onboarding</module>
530             </modules>
531         </profile>
532
533     </profiles>
534
535     <repositories>
536         <!-- LF repositories -->
537         <repository>
538             <id>ecomp-releases</id>
539             <name>Release Repository</name>
540             <url>${nexus.proxy}/content/repositories/releases/</url>
541         </repository>
542         <repository>
543             <id>ecomp-snapshots</id>
544             <name>Snapshots Repository</name>
545             <url>${nexus.proxy}/content/repositories/snapshots/</url>
546         </repository>
547         <repository>
548             <id>ecomp-public</id>
549             <name>Public Repository</name>
550             <url>${nexus.proxy}/content/repositories/public/</url>
551         </repository>
552         <!-- LF repositories END-->
553     </repositories>
554
555     <distributionManagement>
556         <repository>
557             <id>ecomp-releases</id>
558             <name>Release Repository</name>
559             <url>${nexus.proxy}/content/repositories/releases/</url>
560         </repository>
561         <snapshotRepository>
562             <id>ecomp-snapshots</id>
563             <name>Snapshot Repository</name>
564             <url>${nexus.proxy}/content/repositories/snapshots/</url>
565         </snapshotRepository>
566         <site>
567             <id>ecomp-site</id>
568             <url>dav:${nexus.proxy}${sitePath}</url>
569         </site>
570     </distributionManagement>
571 </project>