Update release note for Dublin
[externalapi/nbi.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Copyright (c) 2018 Orange Licensed under the Apache License, Version 
3         2.0 (the "License"); you may not use this file except in compliance with 
4         the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 
5         Unless required by applicable law or agreed to in writing, software distributed 
6         under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 
7         OR CONDITIONS OF ANY KIND, either express or implied. See the License for 
8         the specific language governing permissions and limitations under the License. -->
9 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
10   xmlns="http://maven.apache.org/POM/4.0.0"
11   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
12   <modelVersion>4.0.0</modelVersion>
13
14   <groupId>org.onap.externalapi-nbi</groupId>
15   <artifactId>nbi-rest-services</artifactId>
16   <version>4.0.0-SNAPSHOT</version>
17   <packaging>jar</packaging>
18
19   <name>externalapi-nbi</name>
20
21   <parent>
22     <groupId>org.onap.oparent</groupId>
23     <artifactId>oparent</artifactId>
24     <version>2.0.0-SNAPSHOT</version>
25   </parent>
26
27   <properties>
28     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
29     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
30     <maven.compiler.target>1.8</maven.compiler.target>
31     <maven.compiler.source>1.8</maven.compiler.source>
32     <start-class>org.onap.nbi.Application</start-class>
33     <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
34     <nexusproxy>https://nexus.onap.org</nexusproxy>
35     <snapshotNexusPath>content/repositories/snapshots/</snapshotNexusPath>
36     <releaseNexusPath>content/repositories/releases/</releaseNexusPath>
37     <stagingNexusPath>content/repositories/staging/</stagingNexusPath>
38     <java.version>1.8</java.version>
39     <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
40     <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
41     <timestamp>${maven.build.timestamp}</timestamp>
42     <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
43     <!--docker -->
44     <docker.tag>${project.version}-${timestamp}</docker.tag>
45     <docker.latest.tag>${project.version}-latest</docker.latest.tag>
46     <!--sonar -->
47     <sonar.language>java</sonar.language>
48     <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
49     <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports
50     </sonar.surefire.reportsPath>
51     <sonar.jacoco.reportPath>${project.build.directory}/coverage-reports/jacoco.exec
52     </sonar.jacoco.reportPath>
53     <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec
54     </sonar.jacoco.itReportPath>
55     <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
56     <sonar.projectVersion>${project.version}</sonar.projectVersion>
57     <sonar.coverage.exclusions>**/model/**/*</sonar.coverage.exclusions>
58   </properties>
59
60   <!--<repositories>-->
61   <!--<repository>-->
62   <!--<id>maven2-repository.java.net</id>-->
63   <!--<name>Java.net Repository for Maven</name>-->
64   <!--<url>http://download.java.net/maven/2/</url>-->
65   <!--<layout>default</layout>-->
66   <!--</repository>-->
67   <!--<repository>-->
68   <!--<id>ecomp-release</id>-->
69   <!--<name>Snapshot Repository</name>-->
70   <!--<url>https://nexus.onap.org/content/repositories/releases/</url>-->
71   <!--</repository>-->
72   <!--<repository>-->
73   <!--<id>ecomp-staging</id>-->
74   <!--<name>Staging Repository</name>-->
75   <!--<url>https://nexus.onap.org/content/repositories/staging/</url>-->
76   <!--</repository>-->
77   <!--<repository>-->
78   <!--<id>ecomp-snapshots</id>-->
79   <!--<name>Snapshot Repository</name>-->
80   <!--<url>https://nexus.onap.org/content/repositories/snapshots/</url>-->
81   <!--</repository>-->
82   <!--</repositories>-->
83
84   <distributionManagement>
85     <repository>
86       <id>ecomp-releases</id>
87       <name>Release Repository</name>
88       <url>${nexusproxy}/${releaseNexusPath}</url>
89     </repository>
90     <snapshotRepository>
91       <id>ecomp-snapshots</id>
92       <name>Snapshot Repository</name>
93       <url>${nexusproxy}/${snapshotNexusPath}</url>
94     </snapshotRepository>
95   </distributionManagement>
96
97   <licenses>
98     <license>
99       <name>Apache2</name>
100       <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
101     </license>
102   </licenses>
103
104   <dependencyManagement>
105     <dependencies>
106       <dependency>
107         <groupId>org.springframework.boot</groupId>
108         <artifactId>spring-boot-dependencies</artifactId>
109         <version>2.1.4.RELEASE</version>
110         <type>pom</type>
111         <scope>import</scope>
112       </dependency>
113     </dependencies>
114   </dependencyManagement>
115
116   <dependencies>
117
118     <dependency>
119       <groupId>org.springframework.boot</groupId>
120       <artifactId>spring-boot-starter-web</artifactId>
121       <exclusions>
122         <exclusion>
123           <groupId>org.apache.tomcat.embed</groupId>
124           <artifactId>tomcat-embed-core</artifactId>
125         </exclusion>
126       </exclusions>
127     </dependency>
128
129     <dependency>
130       <groupId>org.apache.tomcat.embed</groupId>
131       <artifactId>tomcat-embed-core</artifactId>
132       <version>9.0.19</version>
133     </dependency>
134
135     <dependency>
136       <groupId>org.springframework.boot</groupId>
137       <artifactId>spring-boot-starter-data-jpa</artifactId>
138     </dependency>
139
140     <dependency>
141       <groupId>org.springframework.boot</groupId>
142       <artifactId>spring-boot-starter-aop</artifactId>
143     </dependency>
144
145     <dependency>
146       <groupId>org.apache.commons</groupId>
147       <artifactId>commons-io</artifactId>
148       <version>1.3.2</version>
149     </dependency>
150
151     <dependency>
152       <groupId>commons-beanutils</groupId>
153       <artifactId>commons-beanutils</artifactId>
154       <version>1.9.3</version>
155     </dependency>
156
157     <dependency>
158       <groupId>javax.validation</groupId>
159       <artifactId>validation-api</artifactId>
160     </dependency>
161
162     <dependency>
163       <groupId>org.apache.commons</groupId>
164       <artifactId>commons-lang3</artifactId>
165     </dependency>
166
167     <!-- mongo -->
168
169     <dependency>
170       <groupId>org.springframework.boot</groupId>
171       <artifactId>spring-boot-starter-data-mongodb</artifactId>
172     </dependency>
173
174     <!-- mysql -->
175
176     <dependency>
177       <groupId>org.mariadb.jdbc</groupId>
178       <artifactId>mariadb-java-client</artifactId>
179     </dependency>
180
181     <!-- swagger -->
182
183     <dependency>
184       <groupId>io.swagger</groupId>
185       <artifactId>swagger-annotations</artifactId>
186       <version>1.5.18</version>
187     </dependency>
188
189     <!-- swagger core -->
190     <dependency>
191       <groupId>io.swagger</groupId>
192       <artifactId>swagger-core</artifactId>
193       <version>1.5.18</version>
194     </dependency>
195
196     <!-- jackson -->
197
198     <dependency>
199       <groupId>com.fasterxml.jackson.dataformat</groupId>
200       <artifactId>jackson-dataformat-yaml</artifactId>
201     </dependency>
202
203     <!-- sdc tosca parser -->
204
205     <dependency>
206       <groupId>org.onap.sdc.sdc-tosca</groupId>
207       <artifactId>sdc-tosca</artifactId>
208       <version>1.4.6</version>
209       <exclusions>
210         <exclusion>
211           <groupId>com.google.guava</groupId>
212           <artifactId>guava</artifactId>
213         </exclusion>
214         <exclusion>
215           <groupId>commons-codec</groupId>
216           <artifactId>commons-codec</artifactId>
217         </exclusion>
218       </exclusions>
219     </dependency>
220
221     <dependency>
222       <groupId>commons-codec</groupId>
223       <artifactId>commons-codec</artifactId>
224       <version>1.12</version>
225     </dependency>
226
227     <!-- jolt -->
228
229     <dependency>
230       <groupId>com.bazaarvoice.jolt</groupId>
231       <artifactId>jolt-core</artifactId>
232       <version>0.1.0</version>
233       <exclusions>
234         <exclusion>
235           <groupId>com.fasterxml.jackson.core</groupId>
236           <artifactId>jackson-databind</artifactId>
237         </exclusion>
238       </exclusions>
239     </dependency>
240
241     <dependency>
242       <groupId>com.bazaarvoice.jolt</groupId>
243       <artifactId>json-utils</artifactId>
244       <version>0.1.0</version>
245       <exclusions>
246         <exclusion>
247           <groupId>com.fasterxml.jackson.core</groupId>
248           <artifactId>jackson-databind</artifactId>
249         </exclusion>
250       </exclusions>
251     </dependency>
252
253     <!-- test -->
254
255     <dependency>
256       <groupId>org.springframework.boot</groupId>
257       <artifactId>spring-boot-starter-test</artifactId>
258       <scope>test</scope>
259     </dependency>
260
261     <!-- test h2 -->
262
263     <dependency>
264       <groupId>com.h2database</groupId>
265       <artifactId>h2</artifactId>
266       <scope>test</scope>
267     </dependency>
268
269     <dependency>
270       <groupId>de.flapdoodle.embed</groupId>
271       <artifactId>de.flapdoodle.embed.mongo</artifactId>
272       <scope>test</scope>
273     </dependency>
274
275     <!-- test wiremock -->
276
277     <dependency>
278       <groupId>org.springframework.cloud</groupId>
279       <artifactId>spring-cloud-contract-wiremock</artifactId>
280       <version>1.2.6.RELEASE</version>
281       <scope>test</scope>
282       <exclusions>
283         <exclusion>
284           <groupId>com.fasterxml.jackson.core</groupId>
285           <artifactId>jackson-databind</artifactId>
286         </exclusion>
287         <exclusion>
288           <groupId>commons-codec</groupId>
289           <artifactId>commons-codec</artifactId>
290         </exclusion>
291       </exclusions>
292     </dependency>
293
294     <dependency>
295       <groupId>org.eclipse.jetty</groupId>
296       <artifactId>jetty-servlet</artifactId>
297       <scope>test</scope>
298     </dependency>
299
300     <dependency>
301       <groupId>org.eclipse.jetty</groupId>
302       <artifactId>jetty-servlets</artifactId>
303       <scope>test</scope>
304     </dependency>
305
306     <!-- runtime dev -->
307
308     <dependency>
309       <groupId>org.springframework.boot</groupId>
310       <artifactId>spring-boot-devtools</artifactId>
311       <scope>runtime</scope>
312     </dependency>
313
314     <!-- MSB SDK -->
315     <dependency>
316       <groupId>org.onap.msb.java-sdk</groupId>
317       <artifactId>msb-java-sdk</artifactId>
318       <version>1.1.1</version>
319       <exclusions>
320         <exclusion>
321           <groupId>com.google.guava</groupId>
322           <artifactId>guava</artifactId>
323         </exclusion>
324         <exclusion>
325           <groupId>com.squareup.okhttp3</groupId>
326           <artifactId>okhttp</artifactId>
327         </exclusion>
328       </exclusions>
329     </dependency>
330
331     <dependency>
332       <groupId>com.squareup.okhttp3</groupId>
333       <artifactId>okhttp</artifactId>
334       <version>3.14.1</version>
335     </dependency>
336
337     <dependency>
338       <groupId>com.google.guava</groupId>
339       <artifactId>guava</artifactId>
340     </dependency>
341
342     <!-- karate -->
343
344     <dependency>
345       <groupId>com.intuit.karate</groupId>
346       <artifactId>karate-junit4</artifactId>
347       <version>0.9.0</version>
348       <scope>test</scope>
349     </dependency>
350
351     <dependency>
352       <groupId>com.intuit.karate</groupId>
353       <artifactId>karate-apache</artifactId>
354       <version>0.9.0</version>
355       <scope>test</scope>
356     </dependency>
357
358   </dependencies>
359
360   <build>
361     <testResources>
362       <testResource>
363         <directory>src/test/java</directory>
364         <excludes>
365           <exclude>**/*.java</exclude>
366         </excludes>
367       </testResource>
368       <testResource>
369         <directory>src/test/resources</directory>
370       </testResource>
371     </testResources>
372     <plugins>
373       <plugin>
374         <groupId>org.springframework.boot</groupId>
375         <artifactId>spring-boot-maven-plugin</artifactId>
376         <executions>
377           <execution>
378             <goals>
379               <goal>repackage</goal>
380             </goals>
381             <configuration>
382               <mainClass>org.onap.nbi.Application</mainClass>
383             </configuration>
384           </execution>
385         </executions>
386       </plugin>
387       <plugin>
388         <groupId>org.apache.maven.plugins</groupId>
389         <artifactId>maven-surefire-plugin</artifactId>
390         <configuration>
391           <includes>
392             <include>org/onap/nbi/test/KarateApiTest.java</include>
393             <include>org/onap/nbi/test/ExecutionTaskTest.java</include>
394             <include>org/onap/nbi/test/ServiceOrderRepositoryTest.java</include>
395             <include>org/onap/nbi/apis/servicecatalog/ToscaInfosProcessorTest.java</include>
396           </includes>
397         </configuration>
398       </plugin>
399       <plugin>
400         <groupId>org.sonatype.plugins</groupId>
401         <artifactId>nexus-staging-maven-plugin</artifactId>
402         <extensions>true</extensions>
403         <configuration>
404           <nexusUrl>${nexusproxy}</nexusUrl>
405           <stagingProfileId>176c31dfe190a</stagingProfileId>
406           <serverId>ecomp-staging</serverId>
407         </configuration>
408       </plugin>
409       <plugin>
410         <groupId>org.apache.maven.plugins</groupId>
411         <artifactId>maven-site-plugin</artifactId>
412         <dependencies>
413           <dependency>
414             <groupId>org.apache.maven.wagon</groupId>
415             <artifactId>wagon-webdav-jackrabbit</artifactId>
416             <version>2.10</version>
417           </dependency>
418         </dependencies>
419       </plugin>
420       <plugin>
421         <groupId>com.mycila</groupId>
422         <artifactId>license-maven-plugin</artifactId>
423         <version>3.0</version>
424         <configuration>
425           <header>LICENSE.TXT</header>
426           <includes>
427             <include>restclient/**</include>
428             <include>src/**</include>
429             <include>./**/*.xml</include>
430             <include>./**/*.xml</include>
431             <include>./**/*.yml</include>
432             <include>./**/*.yaml</include>
433           </includes>
434           <excludes>
435             <!-- karate-config.js doesn't support comment, and is mandatory by
436               karate -->
437             <exclude>src/test/java/karate-config.js</exclude>
438           </excludes>
439           <skipExistingHeaders>true</skipExistingHeaders>
440           <skip>false</skip>
441           <mapping>
442             <http>SCRIPT_STYLE</http>
443           </mapping>
444         </configuration>
445         <executions>
446           <execution>
447             <goals>
448               <!-- Set goal to "format" to auto update license headers -->
449               <goal>check</goal>
450             </goals>
451             <phase>process-sources</phase>
452           </execution>
453         </executions>
454       </plugin>
455       <plugin>
456         <groupId>org.codehaus.mojo</groupId>
457         <artifactId>sonar-maven-plugin</artifactId>
458         <version>3.2</version>
459       </plugin>
460       <!--       <plugin> -->
461       <!--         <groupId>org.jacoco</groupId> -->
462       <!--         <artifactId>jacoco-maven-plugin</artifactId> -->
463       <!--         <version>0.8.1</version> -->
464       <!--         <configuration> -->
465       <!--           <dumpOnExit>true</dumpOnExit> -->
466       <!--           <includes> -->
467       <!--             <include>org.onap.nbi.*</include> -->
468       <!--           </includes> -->
469       <!--           <excludes> -->
470       <!--             <exclude>**/model/**/*</exclude> -->
471       <!--           </excludes> -->
472       <!--         </configuration> -->
473       <!--         <executions> -->
474       <!--           <execution> -->
475       <!--             <id>pre-unit-test</id> -->
476       <!--             <goals> -->
477       <!--               <goal>prepare-agent</goal> -->
478       <!--             </goals> -->
479       <!--             <configuration> -->
480       <!--               <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile> -->
481       <!--               <append>true</append> -->
482       <!--             </configuration> -->
483       <!--           </execution> -->
484       <!--           <execution> -->
485       <!--             <id>pre-integration-test</id> -->
486       <!--             <phase>pre-integration-test</phase> -->
487       <!--             <goals> -->
488       <!--               <goal>prepare-agent</goal> -->
489       <!--             </goals> -->
490       <!--             <configuration> -->
491       <!--               <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile> -->
492       <!--               <append>true</append> -->
493       <!--             </configuration> -->
494       <!--           </execution> -->
495       <!--           <execution> -->
496       <!--             <goals> -->
497       <!--               <goal>merge</goal> -->
498       <!--             </goals> -->
499       <!--             <phase>post-integration-test</phase> -->
500       <!--             <configuration> -->
501       <!--               <fileSets> -->
502       <!--                 <fileSet -->
503       <!--                   implementation="org.apache.maven.shared.model.fileset.FileSet"> -->
504       <!--                   <directory>${project.build.directory}/coverage-reports</directory> -->
505       <!--                   <includes> -->
506       <!--                     <include>*.exec</include> -->
507       <!--                   </includes> -->
508       <!--                 </fileSet> -->
509       <!--               </fileSets> -->
510       <!--               <destFile>${project.build.directory}/jacoco-dev.exec</destFile> -->
511       <!--             </configuration> -->
512       <!--           </execution> -->
513       <!--         </executions> -->
514       <!--       </plugin> -->
515       <plugin>
516         <artifactId>maven-source-plugin</artifactId>
517         <executions>
518           <execution>
519             <id>attach-sources</id>
520             <phase>deploy</phase>
521             <goals>
522               <goal>jar-no-fork</goal>
523             </goals>
524           </execution>
525         </executions>
526       </plugin>
527     </plugins>
528   </build>
529
530
531   <profiles>
532     <profile>
533       <id>docker</id>
534       <build>
535         <plugins>
536           <plugin>
537             <groupId>io.fabric8</groupId>
538             <artifactId>docker-maven-plugin</artifactId>
539             <version>0.28.0</version>
540             <configuration>
541               <verbose>true</verbose>
542               <apiVersion>1.23</apiVersion>
543               <pullRegistry>${docker.pull.registry}</pullRegistry>
544               <pushRegistry>${docker.push.registry}</pushRegistry>
545               <images>
546                 <image>
547                   <name>onap/externalapi/nbi:${docker.tag}</name>
548                   <build>
549                     <cleanup>true</cleanup>
550                     <tags>
551                       <tag>latest</tag>
552                       <tag>${docker.latest.tag}</tag>
553                     </tags>
554                     <dockerFileDir>${project.basedir}</dockerFileDir>
555                     <args>
556                       <PKG_FILENAME>${project.build.finalName}.${project.packaging}</PKG_FILENAME>
557                     </args>
558                   </build>
559                 </image>
560               </images>
561             </configuration>
562             <executions>
563               <execution>
564                 <id>clean-images</id>
565                 <phase>pre-clean</phase>
566                 <goals>
567                   <goal>remove</goal>
568                 </goals>
569                 <configuration>
570                   <removeMode>all</removeMode>
571                 </configuration>
572               </execution>
573               <execution>
574                 <id>generate-images</id>
575                 <phase>package</phase>
576                 <goals>
577                   <goal>build</goal>
578                 </goals>
579               </execution>
580               <execution>
581                 <id>push-images</id>
582                 <phase>deploy</phase>
583                 <goals>
584                   <goal>push</goal>
585                 </goals>
586               </execution>
587             </executions>
588           </plugin>
589         </plugins>
590       </build>
591     </profile>
592     <profile>
593       <id>onap-settings</id>
594       <properties>
595         <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
596         <onap.nexus.rawrepo.baseurl.upload>https://nexus.onap.org/content/sites/raw
597         </onap.nexus.rawrepo.baseurl.upload>
598         <onap.nexus.rawrepo.baseurl.download>
599           https://nexus.onap.org/service/local/repositories/raw/content
600         </onap.nexus.rawrepo.baseurl.download>
601         <onap.nexus.rawrepo.serverid>ecomp-raw</onap.nexus.rawrepo.serverid>
602
603         <!-- properties for Nexus Docker registry -->
604         <onap.nexus.dockerregistry.daily>nexus3.onap.org:10003</onap.nexus.dockerregistry.daily>
605         <onap.nexus.dockerregistry.release>nexus3.onap.org:10002</onap.nexus.dockerregistry.release>
606         <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
607         <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
608       </properties>
609     </profile>
610     <profile>
611       <id>onap-snapshots</id>
612       <repositories>
613         <repository>
614           <id>onap-snapshots</id>
615           <name>onap-snapshots</name>
616           <url>https://nexus.onap.org/content/repositories/snapshots/</url>
617           <releases>
618             <enabled>false</enabled>
619           </releases>
620           <snapshots>
621             <enabled>true</enabled>
622           </snapshots>
623         </repository>
624       </repositories>
625       <pluginRepositories>
626         <pluginRepository>
627           <id>onap-snapshots</id>
628           <name>onap-snapshots</name>
629           <url>https://nexus.onap.org/content/repositories/snapshots/</url>
630           <releases>
631             <enabled>false</enabled>
632           </releases>
633           <snapshots>
634             <enabled>true</enabled>
635           </snapshots>
636         </pluginRepository>
637       </pluginRepositories>
638     </profile>
639     <profile>
640       <id>onap-releases</id>
641       <repositories>
642         <repository>
643           <id>onap-releases</id>
644           <name>onap-releases</name>
645           <url>https://nexus.onap.org/content/repositories/releases/</url>
646           <releases>
647             <enabled>true</enabled>
648           </releases>
649           <snapshots>
650             <enabled>false</enabled>
651           </snapshots>
652         </repository>
653       </repositories>
654       <pluginRepositories>
655         <pluginRepository>
656           <id>onap-releases</id>
657           <name>onap-releases</name>
658           <url>https://nexus.onap.org/content/repositories/releases/</url>
659           <releases>
660             <enabled>true</enabled>
661           </releases>
662           <snapshots>
663             <enabled>false</enabled>
664           </snapshots>
665         </pluginRepository>
666       </pluginRepositories>
667     </profile>
668     <profile>
669       <id>onap-public</id>
670       <repositories>
671         <repository>
672           <id>central</id>
673           <url>http://repo1.maven.org/maven2/</url>
674         </repository>
675         <repository>
676           <id>onap-public</id>
677           <name>onap-public</name>
678           <url>https://nexus.onap.org/content/repositories/public/</url>
679           <releases>
680             <enabled>true</enabled>
681           </releases>
682           <snapshots>
683             <enabled>false</enabled>
684           </snapshots>
685         </repository>
686       </repositories>
687       <pluginRepositories>
688         <pluginRepository>
689           <id>central</id>
690           <url>http://repo1.maven.org/maven2/</url>
691         </pluginRepository>
692         <pluginRepository>
693           <id>onap-public</id>
694           <name>onap-public</name>
695           <url>https://nexus.onap.org/content/repositories/public/</url>
696           <releases>
697             <enabled>true</enabled>
698           </releases>
699           <snapshots>
700             <enabled>false</enabled>
701           </snapshots>
702         </pluginRepository>
703       </pluginRepositories>
704     </profile>
705   </profiles>
706
707 </project>