1 <?xml version="1.0" encoding="UTF-8"?>
4 Copyright (c) 2018 Orange
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
10 http://www.apache.org/licenses/LICENSE-2.0
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 See the License for the specific language governing permissions and
16 limitations under the License.
19 <!-- Copyright (c) 2018 Orange Licensed under the Apache License, Version
20 2.0 (the "License"); you may not use this file except in compliance with
21 the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
22 Unless required by applicable law or agreed to in writing, software distributed
23 under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
24 OR CONDITIONS OF ANY KIND, either express or implied. See the License for
25 the specific language governing permissions and limitations under the License. -->
26 <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
27 xmlns="http://maven.apache.org/POM/4.0.0"
28 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
29 <modelVersion>4.0.0</modelVersion>
31 <groupId>org.onap.externalapi-nbi</groupId>
32 <artifactId>nbi-rest-services</artifactId>
33 <version>5.0.1-SNAPSHOT</version>
34 <packaging>jar</packaging>
36 <name>externalapi-nbi</name>
39 <groupId>org.onap.oparent</groupId>
40 <artifactId>oparent</artifactId>
41 <version>3.0.0</version>
45 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
46 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
47 <start-class>org.onap.nbi.Application</start-class>
48 <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
49 <nexusproxy>https://nexus.onap.org</nexusproxy>
50 <snapshotNexusPath>content/repositories/snapshots/</snapshotNexusPath>
51 <releaseNexusPath>content/repositories/releases/</releaseNexusPath>
52 <stagingNexusPath>content/repositories/staging/</stagingNexusPath>
53 <java.version>1.8</java.version>
54 <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
55 <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
56 <timestamp>${maven.build.timestamp}</timestamp>
57 <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
59 <docker.tag>${project.version}-${timestamp}</docker.tag>
60 <docker.latest.tag>${project.version}-latest</docker.latest.tag>
62 <sonar.language>java</sonar.language>
63 <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports
64 </sonar.surefire.reportsPath>
65 <sonar.coverage.jacoco.xmlReportPaths>${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
66 <sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
67 <sonar.projectVersion>${project.version}</sonar.projectVersion>
68 <sonar.coverage.exclusions>**/model/**/*</sonar.coverage.exclusions>
73 <!--<id>maven2-repository.java.net</id>-->
74 <!--<name>Java.net Repository for Maven</name>-->
75 <!--<url>http://download.java.net/maven/2/</url>-->
76 <!--<layout>default</layout>-->
79 <!--<id>ecomp-release</id>-->
80 <!--<name>Snapshot Repository</name>-->
81 <!--<url>https://nexus.onap.org/content/repositories/releases/</url>-->
84 <!--<id>ecomp-staging</id>-->
85 <!--<name>Staging Repository</name>-->
86 <!--<url>https://nexus.onap.org/content/repositories/staging/</url>-->
89 <!--<id>ecomp-snapshots</id>-->
90 <!--<name>Snapshot Repository</name>-->
91 <!--<url>https://nexus.onap.org/content/repositories/snapshots/</url>-->
93 <!--</repositories>-->
95 <distributionManagement>
97 <id>ecomp-releases</id>
98 <name>Release Repository</name>
99 <url>${nexusproxy}/${releaseNexusPath}</url>
102 <id>ecomp-snapshots</id>
103 <name>Snapshot Repository</name>
104 <url>${nexusproxy}/${snapshotNexusPath}</url>
105 </snapshotRepository>
106 </distributionManagement>
111 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
115 <dependencyManagement>
118 <groupId>org.springframework.boot</groupId>
119 <artifactId>spring-boot-dependencies</artifactId>
120 <version>2.2.2.RELEASE</version>
122 <scope>import</scope>
125 </dependencyManagement>
130 <groupId>org.springframework.boot</groupId>
131 <artifactId>spring-boot-starter-web</artifactId>
134 <groupId>org.apache.tomcat.embed</groupId>
135 <artifactId>tomcat-embed-core</artifactId>
141 <groupId>org.apache.tomcat.embed</groupId>
142 <artifactId>tomcat-embed-core</artifactId>
143 <version>9.0.30</version>
147 <groupId>org.springframework.boot</groupId>
148 <artifactId>spring-boot-starter-data-jpa</artifactId>
152 <groupId>org.springframework.boot</groupId>
153 <artifactId>spring-boot-starter-aop</artifactId>
157 <groupId>commons-io</groupId>
158 <artifactId>commons-io</artifactId>
159 <version>2.6</version>
163 <groupId>commons-beanutils</groupId>
164 <artifactId>commons-beanutils</artifactId>
168 <groupId>javax.validation</groupId>
169 <artifactId>validation-api</artifactId>
173 <groupId>org.apache.commons</groupId>
174 <artifactId>commons-lang3</artifactId>
180 <groupId>org.springframework.boot</groupId>
181 <artifactId>spring-boot-starter-data-mongodb</artifactId>
187 <groupId>org.mariadb.jdbc</groupId>
188 <artifactId>mariadb-java-client</artifactId>
194 <groupId>io.swagger</groupId>
195 <artifactId>swagger-annotations</artifactId>
196 <version>1.5.23</version>
199 <!-- swagger core -->
201 <groupId>io.swagger</groupId>
202 <artifactId>swagger-core</artifactId>
203 <version>1.5.23</version>
209 <groupId>com.fasterxml.jackson.core</groupId>
210 <artifactId>jackson-databind</artifactId>
211 <version>2.10.1</version>
215 <groupId>com.fasterxml.jackson.dataformat</groupId>
216 <artifactId>jackson-dataformat-yaml</artifactId>
219 <!-- sdc tosca parser -->
222 <groupId>org.onap.sdc.sdc-tosca</groupId>
223 <artifactId>sdc-tosca</artifactId>
224 <version>1.6.0</version>
227 <groupId>com.google.guava</groupId>
228 <artifactId>guava</artifactId>
231 <groupId>commons-codec</groupId>
232 <artifactId>commons-codec</artifactId>
238 <groupId>commons-codec</groupId>
239 <artifactId>commons-codec</artifactId>
240 <version>1.13</version>
246 <groupId>com.bazaarvoice.jolt</groupId>
247 <artifactId>jolt-core</artifactId>
248 <version>0.1.1</version>
251 <groupId>com.fasterxml.jackson.core</groupId>
252 <artifactId>jackson-databind</artifactId>
258 <groupId>com.bazaarvoice.jolt</groupId>
259 <artifactId>json-utils</artifactId>
260 <version>0.1.1</version>
263 <groupId>com.fasterxml.jackson.core</groupId>
264 <artifactId>jackson-databind</artifactId>
272 <groupId>org.springframework.boot</groupId>
273 <artifactId>spring-boot-starter-test</artifactId>
280 <groupId>com.h2database</groupId>
281 <artifactId>h2</artifactId>
286 <groupId>de.flapdoodle.embed</groupId>
287 <artifactId>de.flapdoodle.embed.mongo</artifactId>
291 <!-- test wiremock -->
294 <groupId>org.springframework.cloud</groupId>
295 <artifactId>spring-cloud-contract-wiremock</artifactId>
296 <version>1.2.7.RELEASE</version>
300 <groupId>com.fasterxml.jackson.core</groupId>
301 <artifactId>jackson-databind</artifactId>
304 <groupId>commons-codec</groupId>
305 <artifactId>commons-codec</artifactId>
311 <groupId>org.eclipse.jetty</groupId>
312 <artifactId>jetty-servlet</artifactId>
317 <groupId>org.eclipse.jetty</groupId>
318 <artifactId>jetty-servlets</artifactId>
325 <groupId>org.springframework.boot</groupId>
326 <artifactId>spring-boot-devtools</artifactId>
327 <scope>runtime</scope>
332 <groupId>org.onap.msb.java-sdk</groupId>
333 <artifactId>msb-java-sdk</artifactId>
334 <version>1.2.5</version>
337 <groupId>com.google.guava</groupId>
338 <artifactId>guava</artifactId>
341 <groupId>com.squareup.okhttp3</groupId>
342 <artifactId>okhttp</artifactId>
345 <groupId>com.squareup.retrofit2</groupId>
346 <artifactId>retrofit</artifactId>
352 <groupId>com.squareup.okhttp3</groupId>
353 <artifactId>okhttp</artifactId>
354 <version>4.3.1</version>
358 <groupId>com.google.guava</groupId>
359 <artifactId>guava</artifactId>
363 <groupId>com.squareup.retrofit2</groupId>
364 <artifactId>retrofit</artifactId>
365 <version>2.7.1</version>
371 <groupId>com.intuit.karate</groupId>
372 <artifactId>karate-junit4</artifactId>
373 <version>0.9.4</version>
378 <groupId>com.intuit.karate</groupId>
379 <artifactId>karate-apache</artifactId>
380 <version>0.9.4</version>
389 <directory>src/test/java</directory>
391 <exclude>**/*.java</exclude>
395 <directory>src/test/resources</directory>
400 <groupId>org.springframework.boot</groupId>
401 <artifactId>spring-boot-maven-plugin</artifactId>
402 <version>2.2.1.RELEASE</version>
406 <goal>repackage</goal>
409 <mainClass>org.onap.nbi.Application</mainClass>
415 <groupId>org.apache.maven.plugins</groupId>
416 <artifactId>maven-surefire-plugin</artifactId>
417 <version>2.22.2</version>
420 <!-- --illegal-access=permit-->
423 <include>org/onap/nbi/test/KarateApiTest.java</include>
424 <include>org/onap/nbi/test/ExecutionTaskTest.java</include>
425 <include>org/onap/nbi/test/ServiceOrderRepositoryTest.java</include>
426 <include>org/onap/nbi/apis/servicecatalog/ToscaInfosProcessorTest.java</include>
431 <groupId>org.apache.maven.plugins</groupId>
432 <artifactId>maven-site-plugin</artifactId>
435 <groupId>org.apache.maven.wagon</groupId>
436 <artifactId>wagon-webdav-jackrabbit</artifactId>
437 <version>2.10</version>
442 <groupId>com.mycila</groupId>
443 <artifactId>license-maven-plugin</artifactId>
444 <version>3.0</version>
446 <header>LICENSE.TXT</header>
448 <include>restclient/**</include>
449 <include>src/**</include>
450 <include>**/*.xml</include>
451 <include>**/*.xsd</include>
452 <include>**/*.yml</include>
453 <include>**/*.yaml</include>
454 <include>**/*.plantuml</include>
457 <!-- karate-config.js doesn't support comment, and is mandatory by
459 <exclude>src/test/java/karate-config.js</exclude>
460 <exclude>releases/**/*.yaml</exclude>
462 <skipExistingHeaders>true</skipExistingHeaders>
465 <http>SCRIPT_STYLE</http>
467 <yaml>SCRIPT_STYLE</yaml>
468 <yml>SCRIPT_STYLE</yml>
469 <feature>SCRIPT_STYLE</feature>
470 <plantuml>SCRIPT_STYLE</plantuml>
476 <!-- Set goal to "format" to auto update license headers -->
479 <phase>process-sources</phase>
484 <groupId>org.codehaus.mojo</groupId>
485 <artifactId>sonar-maven-plugin</artifactId>
486 <version>3.2</version>
489 <groupId>org.jacoco</groupId>
490 <artifactId>jacoco-maven-plugin</artifactId>
491 <version>0.8.5</version>
493 <dumpOnExit>true</dumpOnExit>
495 <include>org.onap.nbi.*</include>
498 <exclude>**/model/**/*</exclude>
503 <id>prepare-agent</id>
505 <goal>prepare-agent</goal>
514 <dataFile>${project.build.directory}/code-coverage/jacoco.exec</dataFile>
515 <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
519 <id>pre-unit-test</id>
521 <goal>prepare-agent</goal>
524 <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
528 <id>pre-integration-test</id>
529 <phase>pre-integration-test</phase>
531 <goal>prepare-agent</goal>
534 <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
541 <phase>post-integration-test</phase>
545 implementation="org.apache.maven.shared.model.fileset.FileSet">
546 <directory>${project.build.directory}/coverage-reports</directory>
548 <include>*.exec</include>
552 <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
558 <artifactId>maven-source-plugin</artifactId>
559 <version>3.2.0</version>
562 <id>attach-sources</id>
563 <phase>deploy</phase>
565 <goal>jar-no-fork</goal>
579 <groupId>io.fabric8</groupId>
580 <artifactId>docker-maven-plugin</artifactId>
581 <version>0.28.0</version>
583 <verbose>true</verbose>
584 <apiVersion>1.23</apiVersion>
585 <pullRegistry>${docker.pull.registry}</pullRegistry>
586 <pushRegistry>${docker.push.registry}</pushRegistry>
589 <name>onap/externalapi/nbi:${docker.tag}</name>
591 <cleanup>true</cleanup>
594 <tag>${docker.latest.tag}</tag>
596 <dockerFileDir>${project.basedir}</dockerFileDir>
598 <PKG_FILENAME>${project.build.finalName}.${project.packaging}</PKG_FILENAME>
606 <id>clean-images</id>
607 <phase>pre-clean</phase>
612 <removeMode>all</removeMode>
616 <id>generate-images</id>
617 <phase>package</phase>
624 <phase>deploy</phase>
635 <id>onap-settings</id>
637 <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
638 <onap.nexus.rawrepo.baseurl.upload>https://nexus.onap.org/content/sites/raw
639 </onap.nexus.rawrepo.baseurl.upload>
640 <onap.nexus.rawrepo.baseurl.download>
641 https://nexus.onap.org/service/local/repositories/raw/content
642 </onap.nexus.rawrepo.baseurl.download>
643 <onap.nexus.rawrepo.serverid>ecomp-raw</onap.nexus.rawrepo.serverid>
645 <!-- properties for Nexus Docker registry -->
646 <onap.nexus.dockerregistry.daily>nexus3.onap.org:10003</onap.nexus.dockerregistry.daily>
647 <onap.nexus.dockerregistry.release>nexus3.onap.org:10002</onap.nexus.dockerregistry.release>
648 <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
649 <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
653 <id>onap-snapshots</id>
656 <id>onap-snapshots</id>
657 <name>onap-snapshots</name>
658 <url>https://nexus.onap.org/content/repositories/snapshots/</url>
660 <enabled>false</enabled>
663 <enabled>true</enabled>
669 <id>onap-snapshots</id>
670 <name>onap-snapshots</name>
671 <url>https://nexus.onap.org/content/repositories/snapshots/</url>
673 <enabled>false</enabled>
676 <enabled>true</enabled>
679 </pluginRepositories>
682 <id>onap-releases</id>
685 <id>onap-releases</id>
686 <name>onap-releases</name>
687 <url>https://nexus.onap.org/content/repositories/releases/</url>
689 <enabled>true</enabled>
692 <enabled>false</enabled>
698 <id>onap-releases</id>
699 <name>onap-releases</name>
700 <url>https://nexus.onap.org/content/repositories/releases/</url>
702 <enabled>true</enabled>
705 <enabled>false</enabled>
708 </pluginRepositories>
715 <url>http://repo1.maven.org/maven2/</url>
719 <name>onap-public</name>
720 <url>https://nexus.onap.org/content/repositories/public/</url>
722 <enabled>true</enabled>
725 <enabled>false</enabled>
732 <url>http://repo1.maven.org/maven2/</url>
736 <name>onap-public</name>
737 <url>https://nexus.onap.org/content/repositories/public/</url>
739 <enabled>true</enabled>
742 <enabled>false</enabled>
745 </pluginRepositories>