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>
14 <groupId>org.onap.externalapi-nbi</groupId>
15 <artifactId>nbi-rest-services</artifactId>
16 <version>5.0.0-SNAPSHOT</version>
17 <packaging>jar</packaging>
19 <name>externalapi-nbi</name>
22 <groupId>org.onap.oparent</groupId>
23 <artifactId>oparent</artifactId>
24 <version>2.0.0</version>
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>
44 <docker.tag>${project.version}-${timestamp}</docker.tag>
45 <docker.latest.tag>${project.version}-latest</docker.latest.tag>
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>
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>-->
68 <!--<id>ecomp-release</id>-->
69 <!--<name>Snapshot Repository</name>-->
70 <!--<url>https://nexus.onap.org/content/repositories/releases/</url>-->
73 <!--<id>ecomp-staging</id>-->
74 <!--<name>Staging Repository</name>-->
75 <!--<url>https://nexus.onap.org/content/repositories/staging/</url>-->
78 <!--<id>ecomp-snapshots</id>-->
79 <!--<name>Snapshot Repository</name>-->
80 <!--<url>https://nexus.onap.org/content/repositories/snapshots/</url>-->
82 <!--</repositories>-->
84 <distributionManagement>
86 <id>ecomp-releases</id>
87 <name>Release Repository</name>
88 <url>${nexusproxy}/${releaseNexusPath}</url>
91 <id>ecomp-snapshots</id>
92 <name>Snapshot Repository</name>
93 <url>${nexusproxy}/${snapshotNexusPath}</url>
95 </distributionManagement>
100 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
104 <dependencyManagement>
107 <groupId>org.springframework.boot</groupId>
108 <artifactId>spring-boot-dependencies</artifactId>
109 <version>2.1.7.RELEASE</version>
111 <scope>import</scope>
114 </dependencyManagement>
119 <groupId>org.springframework.boot</groupId>
120 <artifactId>spring-boot-starter-web</artifactId>
123 <groupId>org.apache.tomcat.embed</groupId>
124 <artifactId>tomcat-embed-core</artifactId>
130 <groupId>org.apache.tomcat.embed</groupId>
131 <artifactId>tomcat-embed-core</artifactId>
135 <groupId>org.springframework.boot</groupId>
136 <artifactId>spring-boot-starter-data-jpa</artifactId>
140 <groupId>org.springframework.boot</groupId>
141 <artifactId>spring-boot-starter-aop</artifactId>
145 <groupId>org.apache.commons</groupId>
146 <artifactId>commons-io</artifactId>
147 <version>1.3.2</version>
151 <groupId>commons-beanutils</groupId>
152 <artifactId>commons-beanutils</artifactId>
153 <version>1.9.3</version>
157 <groupId>javax.validation</groupId>
158 <artifactId>validation-api</artifactId>
162 <groupId>org.apache.commons</groupId>
163 <artifactId>commons-lang3</artifactId>
169 <groupId>org.springframework.boot</groupId>
170 <artifactId>spring-boot-starter-data-mongodb</artifactId>
176 <groupId>org.mariadb.jdbc</groupId>
177 <artifactId>mariadb-java-client</artifactId>
183 <groupId>io.swagger</groupId>
184 <artifactId>swagger-annotations</artifactId>
185 <version>1.5.18</version>
188 <!-- swagger core -->
190 <groupId>io.swagger</groupId>
191 <artifactId>swagger-core</artifactId>
192 <version>1.5.18</version>
198 <groupId>com.fasterxml.jackson.core</groupId>
199 <artifactId>jackson-databind</artifactId>
200 <version>2.9.9.3</version>
204 <groupId>com.fasterxml.jackson.dataformat</groupId>
205 <artifactId>jackson-dataformat-yaml</artifactId>
208 <!-- sdc tosca parser -->
211 <groupId>org.onap.sdc.sdc-tosca</groupId>
212 <artifactId>sdc-tosca</artifactId>
213 <version>1.6.0</version>
216 <groupId>com.google.guava</groupId>
217 <artifactId>guava</artifactId>
220 <groupId>commons-codec</groupId>
221 <artifactId>commons-codec</artifactId>
227 <groupId>commons-codec</groupId>
228 <artifactId>commons-codec</artifactId>
229 <version>1.13</version>
235 <groupId>com.bazaarvoice.jolt</groupId>
236 <artifactId>jolt-core</artifactId>
237 <version>0.1.0</version>
240 <groupId>com.fasterxml.jackson.core</groupId>
241 <artifactId>jackson-databind</artifactId>
247 <groupId>com.bazaarvoice.jolt</groupId>
248 <artifactId>json-utils</artifactId>
249 <version>0.1.0</version>
252 <groupId>com.fasterxml.jackson.core</groupId>
253 <artifactId>jackson-databind</artifactId>
261 <groupId>org.springframework.boot</groupId>
262 <artifactId>spring-boot-starter-test</artifactId>
269 <groupId>com.h2database</groupId>
270 <artifactId>h2</artifactId>
275 <groupId>de.flapdoodle.embed</groupId>
276 <artifactId>de.flapdoodle.embed.mongo</artifactId>
280 <!-- test wiremock -->
283 <groupId>org.springframework.cloud</groupId>
284 <artifactId>spring-cloud-contract-wiremock</artifactId>
285 <version>1.2.6.RELEASE</version>
289 <groupId>com.fasterxml.jackson.core</groupId>
290 <artifactId>jackson-databind</artifactId>
293 <groupId>commons-codec</groupId>
294 <artifactId>commons-codec</artifactId>
300 <groupId>org.eclipse.jetty</groupId>
301 <artifactId>jetty-servlet</artifactId>
306 <groupId>org.eclipse.jetty</groupId>
307 <artifactId>jetty-servlets</artifactId>
314 <groupId>org.springframework.boot</groupId>
315 <artifactId>spring-boot-devtools</artifactId>
316 <scope>runtime</scope>
321 <groupId>org.onap.msb.java-sdk</groupId>
322 <artifactId>msb-java-sdk</artifactId>
323 <version>1.1.1</version>
326 <groupId>com.google.guava</groupId>
327 <artifactId>guava</artifactId>
330 <groupId>com.squareup.okhttp3</groupId>
331 <artifactId>okhttp</artifactId>
337 <groupId>com.squareup.okhttp3</groupId>
338 <artifactId>okhttp</artifactId>
339 <version>3.14.1</version>
343 <groupId>com.google.guava</groupId>
344 <artifactId>guava</artifactId>
350 <groupId>com.intuit.karate</groupId>
351 <artifactId>karate-junit4</artifactId>
352 <version>0.9.0</version>
357 <groupId>com.intuit.karate</groupId>
358 <artifactId>karate-apache</artifactId>
359 <version>0.9.0</version>
368 <directory>src/test/java</directory>
370 <exclude>**/*.java</exclude>
374 <directory>src/test/resources</directory>
379 <groupId>org.springframework.boot</groupId>
380 <artifactId>spring-boot-maven-plugin</artifactId>
384 <goal>repackage</goal>
387 <mainClass>org.onap.nbi.Application</mainClass>
393 <groupId>org.apache.maven.plugins</groupId>
394 <artifactId>maven-surefire-plugin</artifactId>
395 <version>2.22.0</version>
398 <!-- --illegal-access=permit-->
401 <include>org/onap/nbi/test/KarateApiTest.java</include>
402 <include>org/onap/nbi/test/ExecutionTaskTest.java</include>
403 <include>org/onap/nbi/test/ServiceOrderRepositoryTest.java</include>
404 <include>org/onap/nbi/apis/servicecatalog/ToscaInfosProcessorTest.java</include>
409 <groupId>org.apache.maven.plugins</groupId>
410 <artifactId>maven-site-plugin</artifactId>
413 <groupId>org.apache.maven.wagon</groupId>
414 <artifactId>wagon-webdav-jackrabbit</artifactId>
415 <version>2.10</version>
420 <groupId>com.mycila</groupId>
421 <artifactId>license-maven-plugin</artifactId>
422 <version>3.0</version>
424 <header>LICENSE.TXT</header>
426 <include>restclient/**</include>
427 <include>src/**</include>
428 <include>./**/*.xml</include>
429 <include>./**/*.xml</include>
430 <include>./**/*.yml</include>
431 <include>./**/*.yaml</include>
434 <!-- karate-config.js doesn't support comment, and is mandatory by
436 <exclude>src/test/java/karate-config.js</exclude>
438 <skipExistingHeaders>true</skipExistingHeaders>
441 <http>SCRIPT_STYLE</http>
447 <!-- Set goal to "format" to auto update license headers -->
450 <phase>process-sources</phase>
455 <groupId>org.codehaus.mojo</groupId>
456 <artifactId>sonar-maven-plugin</artifactId>
457 <version>3.2</version>
460 <groupId>org.jacoco</groupId>
461 <artifactId>jacoco-maven-plugin</artifactId>
462 <version>0.8.1</version>
464 <dumpOnExit>true</dumpOnExit>
466 <include>org.onap.nbi.*</include>
469 <exclude>**/model/**/*</exclude>
474 <id>pre-unit-test</id>
476 <goal>prepare-agent</goal>
479 <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
483 <id>pre-integration-test</id>
484 <phase>pre-integration-test</phase>
486 <goal>prepare-agent</goal>
489 <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
496 <phase>post-integration-test</phase>
500 implementation="org.apache.maven.shared.model.fileset.FileSet">
501 <directory>${project.build.directory}/coverage-reports</directory>
503 <include>*.exec</include>
507 <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
513 <artifactId>maven-source-plugin</artifactId>
516 <id>attach-sources</id>
517 <phase>deploy</phase>
519 <goal>jar-no-fork</goal>
533 <groupId>io.fabric8</groupId>
534 <artifactId>docker-maven-plugin</artifactId>
535 <version>0.28.0</version>
537 <verbose>true</verbose>
538 <apiVersion>1.23</apiVersion>
539 <pullRegistry>${docker.pull.registry}</pullRegistry>
540 <pushRegistry>${docker.push.registry}</pushRegistry>
543 <name>onap/externalapi/nbi:${docker.tag}</name>
545 <cleanup>true</cleanup>
548 <tag>${docker.latest.tag}</tag>
550 <dockerFileDir>${project.basedir}</dockerFileDir>
552 <PKG_FILENAME>${project.build.finalName}.${project.packaging}</PKG_FILENAME>
560 <id>clean-images</id>
561 <phase>pre-clean</phase>
566 <removeMode>all</removeMode>
570 <id>generate-images</id>
571 <phase>package</phase>
578 <phase>deploy</phase>
589 <id>onap-settings</id>
591 <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
592 <onap.nexus.rawrepo.baseurl.upload>https://nexus.onap.org/content/sites/raw
593 </onap.nexus.rawrepo.baseurl.upload>
594 <onap.nexus.rawrepo.baseurl.download>
595 https://nexus.onap.org/service/local/repositories/raw/content
596 </onap.nexus.rawrepo.baseurl.download>
597 <onap.nexus.rawrepo.serverid>ecomp-raw</onap.nexus.rawrepo.serverid>
599 <!-- properties for Nexus Docker registry -->
600 <onap.nexus.dockerregistry.daily>nexus3.onap.org:10003</onap.nexus.dockerregistry.daily>
601 <onap.nexus.dockerregistry.release>nexus3.onap.org:10002</onap.nexus.dockerregistry.release>
602 <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
603 <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
607 <id>onap-snapshots</id>
610 <id>onap-snapshots</id>
611 <name>onap-snapshots</name>
612 <url>https://nexus.onap.org/content/repositories/snapshots/</url>
614 <enabled>false</enabled>
617 <enabled>true</enabled>
623 <id>onap-snapshots</id>
624 <name>onap-snapshots</name>
625 <url>https://nexus.onap.org/content/repositories/snapshots/</url>
627 <enabled>false</enabled>
630 <enabled>true</enabled>
633 </pluginRepositories>
636 <id>onap-releases</id>
639 <id>onap-releases</id>
640 <name>onap-releases</name>
641 <url>https://nexus.onap.org/content/repositories/releases/</url>
643 <enabled>true</enabled>
646 <enabled>false</enabled>
652 <id>onap-releases</id>
653 <name>onap-releases</name>
654 <url>https://nexus.onap.org/content/repositories/releases/</url>
656 <enabled>true</enabled>
659 <enabled>false</enabled>
662 </pluginRepositories>
669 <url>http://repo1.maven.org/maven2/</url>
673 <name>onap-public</name>
674 <url>https://nexus.onap.org/content/repositories/public/</url>
676 <enabled>true</enabled>
679 <enabled>false</enabled>
686 <url>http://repo1.maven.org/maven2/</url>
690 <name>onap-public</name>
691 <url>https://nexus.onap.org/content/repositories/public/</url>
693 <enabled>true</enabled>
696 <enabled>false</enabled>
699 </pluginRepositories>