Upgrade dependencies relative to security vulnerabilities table
[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>5.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</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.7.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     </dependency>
133
134     <dependency>
135       <groupId>org.springframework.boot</groupId>
136       <artifactId>spring-boot-starter-data-jpa</artifactId>
137     </dependency>
138
139     <dependency>
140       <groupId>org.springframework.boot</groupId>
141       <artifactId>spring-boot-starter-aop</artifactId>
142     </dependency>
143
144     <dependency>
145       <groupId>org.apache.commons</groupId>
146       <artifactId>commons-io</artifactId>
147       <version>1.3.2</version>
148     </dependency>
149
150     <dependency>
151       <groupId>commons-beanutils</groupId>
152       <artifactId>commons-beanutils</artifactId>
153       <version>1.9.3</version>
154     </dependency>
155
156     <dependency>
157       <groupId>javax.validation</groupId>
158       <artifactId>validation-api</artifactId>
159     </dependency>
160
161     <dependency>
162       <groupId>org.apache.commons</groupId>
163       <artifactId>commons-lang3</artifactId>
164     </dependency>
165
166     <!-- mongo -->
167
168     <dependency>
169       <groupId>org.springframework.boot</groupId>
170       <artifactId>spring-boot-starter-data-mongodb</artifactId>
171     </dependency>
172
173     <!-- mysql -->
174
175     <dependency>
176       <groupId>org.mariadb.jdbc</groupId>
177       <artifactId>mariadb-java-client</artifactId>
178     </dependency>
179
180     <!-- swagger -->
181
182     <dependency>
183       <groupId>io.swagger</groupId>
184       <artifactId>swagger-annotations</artifactId>
185       <version>1.5.18</version>
186     </dependency>
187
188     <!-- swagger core -->
189     <dependency>
190       <groupId>io.swagger</groupId>
191       <artifactId>swagger-core</artifactId>
192       <version>1.5.18</version>
193     </dependency>
194
195     <!-- jackson -->
196
197     <dependency>
198       <groupId>com.fasterxml.jackson.dataformat</groupId>
199       <artifactId>jackson-dataformat-yaml</artifactId>
200     </dependency>
201
202     <!-- sdc tosca parser -->
203
204     <dependency>
205       <groupId>org.onap.sdc.sdc-tosca</groupId>
206       <artifactId>sdc-tosca</artifactId>
207       <version>1.6.0</version>
208       <exclusions>
209         <exclusion>
210           <groupId>com.google.guava</groupId>
211           <artifactId>guava</artifactId>
212         </exclusion>
213         <exclusion>
214           <groupId>commons-codec</groupId>
215           <artifactId>commons-codec</artifactId>
216         </exclusion>
217       </exclusions>
218     </dependency>
219
220     <dependency>
221       <groupId>commons-codec</groupId>
222       <artifactId>commons-codec</artifactId>
223       <version>1.13</version>
224     </dependency>
225
226     <!-- jolt -->
227
228     <dependency>
229       <groupId>com.bazaarvoice.jolt</groupId>
230       <artifactId>jolt-core</artifactId>
231       <version>0.1.0</version>
232       <exclusions>
233         <exclusion>
234           <groupId>com.fasterxml.jackson.core</groupId>
235           <artifactId>jackson-databind</artifactId>
236         </exclusion>
237       </exclusions>
238     </dependency>
239
240     <dependency>
241       <groupId>com.bazaarvoice.jolt</groupId>
242       <artifactId>json-utils</artifactId>
243       <version>0.1.0</version>
244       <exclusions>
245         <exclusion>
246           <groupId>com.fasterxml.jackson.core</groupId>
247           <artifactId>jackson-databind</artifactId>
248         </exclusion>
249       </exclusions>
250     </dependency>
251
252     <!-- test -->
253
254     <dependency>
255       <groupId>org.springframework.boot</groupId>
256       <artifactId>spring-boot-starter-test</artifactId>
257       <scope>test</scope>
258     </dependency>
259
260     <!-- test h2 -->
261
262     <dependency>
263       <groupId>com.h2database</groupId>
264       <artifactId>h2</artifactId>
265       <scope>test</scope>
266     </dependency>
267
268     <dependency>
269       <groupId>de.flapdoodle.embed</groupId>
270       <artifactId>de.flapdoodle.embed.mongo</artifactId>
271       <scope>test</scope>
272     </dependency>
273
274     <!-- test wiremock -->
275
276     <dependency>
277       <groupId>org.springframework.cloud</groupId>
278       <artifactId>spring-cloud-contract-wiremock</artifactId>
279       <version>1.2.6.RELEASE</version>
280       <scope>test</scope>
281       <exclusions>
282         <exclusion>
283           <groupId>com.fasterxml.jackson.core</groupId>
284           <artifactId>jackson-databind</artifactId>
285         </exclusion>
286         <exclusion>
287           <groupId>commons-codec</groupId>
288           <artifactId>commons-codec</artifactId>
289         </exclusion>
290       </exclusions>
291     </dependency>
292
293     <dependency>
294       <groupId>org.eclipse.jetty</groupId>
295       <artifactId>jetty-servlet</artifactId>
296       <scope>test</scope>
297     </dependency>
298
299     <dependency>
300       <groupId>org.eclipse.jetty</groupId>
301       <artifactId>jetty-servlets</artifactId>
302       <scope>test</scope>
303     </dependency>
304
305     <!-- runtime dev -->
306
307     <dependency>
308       <groupId>org.springframework.boot</groupId>
309       <artifactId>spring-boot-devtools</artifactId>
310       <scope>runtime</scope>
311     </dependency>
312
313     <!-- MSB SDK -->
314     <dependency>
315       <groupId>org.onap.msb.java-sdk</groupId>
316       <artifactId>msb-java-sdk</artifactId>
317       <version>1.1.1</version>
318       <exclusions>
319         <exclusion>
320           <groupId>com.google.guava</groupId>
321           <artifactId>guava</artifactId>
322         </exclusion>
323         <exclusion>
324           <groupId>com.squareup.okhttp3</groupId>
325           <artifactId>okhttp</artifactId>
326         </exclusion>
327       </exclusions>
328     </dependency>
329
330     <dependency>
331       <groupId>com.squareup.okhttp3</groupId>
332       <artifactId>okhttp</artifactId>
333       <version>3.14.1</version>
334     </dependency>
335
336     <dependency>
337       <groupId>com.google.guava</groupId>
338       <artifactId>guava</artifactId>
339     </dependency>
340
341     <!-- karate -->
342
343     <dependency>
344       <groupId>com.intuit.karate</groupId>
345       <artifactId>karate-junit4</artifactId>
346       <version>0.9.0</version>
347       <scope>test</scope>
348     </dependency>
349
350     <dependency>
351       <groupId>com.intuit.karate</groupId>
352       <artifactId>karate-apache</artifactId>
353       <version>0.9.0</version>
354       <scope>test</scope>
355     </dependency>
356
357   </dependencies>
358
359   <build>
360     <testResources>
361       <testResource>
362         <directory>src/test/java</directory>
363         <excludes>
364           <exclude>**/*.java</exclude>
365         </excludes>
366       </testResource>
367       <testResource>
368         <directory>src/test/resources</directory>
369       </testResource>
370     </testResources>
371     <plugins>
372       <plugin>
373         <groupId>org.springframework.boot</groupId>
374         <artifactId>spring-boot-maven-plugin</artifactId>
375         <executions>
376           <execution>
377             <goals>
378               <goal>repackage</goal>
379             </goals>
380             <configuration>
381               <mainClass>org.onap.nbi.Application</mainClass>
382             </configuration>
383           </execution>
384         </executions>
385       </plugin>
386       <plugin>
387         <groupId>org.apache.maven.plugins</groupId>
388         <artifactId>maven-surefire-plugin</artifactId>
389         <version>2.22.0</version>
390         <configuration>
391 <!--          <argLine>-->
392 <!--            &#45;&#45;illegal-access=permit-->
393 <!--          </argLine>-->
394           <includes>
395             <include>org/onap/nbi/test/KarateApiTest.java</include>
396             <include>org/onap/nbi/test/ExecutionTaskTest.java</include>
397             <include>org/onap/nbi/test/ServiceOrderRepositoryTest.java</include>
398             <include>org/onap/nbi/apis/servicecatalog/ToscaInfosProcessorTest.java</include>
399           </includes>
400         </configuration>
401       </plugin>
402       <plugin>
403         <groupId>org.apache.maven.plugins</groupId>
404         <artifactId>maven-site-plugin</artifactId>
405         <dependencies>
406           <dependency>
407             <groupId>org.apache.maven.wagon</groupId>
408             <artifactId>wagon-webdav-jackrabbit</artifactId>
409             <version>2.10</version>
410           </dependency>
411         </dependencies>
412       </plugin>
413       <plugin>
414         <groupId>com.mycila</groupId>
415         <artifactId>license-maven-plugin</artifactId>
416         <version>3.0</version>
417         <configuration>
418           <header>LICENSE.TXT</header>
419           <includes>
420             <include>restclient/**</include>
421             <include>src/**</include>
422             <include>./**/*.xml</include>
423             <include>./**/*.xml</include>
424             <include>./**/*.yml</include>
425             <include>./**/*.yaml</include>
426           </includes>
427           <excludes>
428             <!-- karate-config.js doesn't support comment, and is mandatory by
429               karate -->
430             <exclude>src/test/java/karate-config.js</exclude>
431           </excludes>
432           <skipExistingHeaders>true</skipExistingHeaders>
433           <skip>false</skip>
434           <mapping>
435             <http>SCRIPT_STYLE</http>
436           </mapping>
437         </configuration>
438         <executions>
439           <execution>
440             <goals>
441               <!-- Set goal to "format" to auto update license headers -->
442               <goal>check</goal>
443             </goals>
444             <phase>process-sources</phase>
445           </execution>
446         </executions>
447       </plugin>
448       <plugin>
449         <groupId>org.codehaus.mojo</groupId>
450         <artifactId>sonar-maven-plugin</artifactId>
451         <version>3.2</version>
452       </plugin>
453       <plugin>
454         <groupId>org.jacoco</groupId>
455         <artifactId>jacoco-maven-plugin</artifactId>
456         <version>0.8.1</version>
457         <configuration>
458           <dumpOnExit>true</dumpOnExit>
459           <includes>
460             <include>org.onap.nbi.*</include>
461           </includes>
462           <excludes>
463             <exclude>**/model/**/*</exclude>
464           </excludes>
465         </configuration>
466         <executions>
467           <execution>
468             <id>pre-unit-test</id>
469             <goals>
470               <goal>prepare-agent</goal>
471             </goals>
472             <configuration>
473               <destFile>${project.build.directory}/coverage-reports/jacoco.exec</destFile>
474             </configuration>
475           </execution>
476           <execution>
477             <id>pre-integration-test</id>
478             <phase>pre-integration-test</phase>
479             <goals>
480               <goal>prepare-agent</goal>
481             </goals>
482             <configuration>
483               <destFile>${project.build.directory}/coverage-reports/jacoco-it.exec</destFile>
484             </configuration>
485           </execution>
486           <execution>
487             <goals>
488               <goal>merge</goal>
489             </goals>
490             <phase>post-integration-test</phase>
491             <configuration>
492               <fileSets>
493                 <fileSet
494                   implementation="org.apache.maven.shared.model.fileset.FileSet">
495                   <directory>${project.build.directory}/coverage-reports</directory>
496                   <includes>
497                     <include>*.exec</include>
498                   </includes>
499                 </fileSet>
500               </fileSets>
501               <destFile>${project.build.directory}/jacoco-dev.exec</destFile>
502             </configuration>
503           </execution>
504         </executions>
505       </plugin>
506       <plugin>
507         <artifactId>maven-source-plugin</artifactId>
508         <executions>
509           <execution>
510             <id>attach-sources</id>
511             <phase>deploy</phase>
512             <goals>
513               <goal>jar-no-fork</goal>
514             </goals>
515           </execution>
516         </executions>
517       </plugin>
518     </plugins>
519   </build>
520
521   <profiles>
522     <profile>
523       <id>docker</id>
524       <build>
525         <plugins>
526           <plugin>
527             <groupId>io.fabric8</groupId>
528             <artifactId>docker-maven-plugin</artifactId>
529             <version>0.28.0</version>
530             <configuration>
531               <verbose>true</verbose>
532               <apiVersion>1.23</apiVersion>
533               <pullRegistry>${docker.pull.registry}</pullRegistry>
534               <pushRegistry>${docker.push.registry}</pushRegistry>
535               <images>
536                 <image>
537                   <name>onap/externalapi/nbi:${docker.tag}</name>
538                   <build>
539                     <cleanup>true</cleanup>
540                     <tags>
541                       <tag>latest</tag>
542                       <tag>${docker.latest.tag}</tag>
543                     </tags>
544                     <dockerFileDir>${project.basedir}</dockerFileDir>
545                     <args>
546                       <PKG_FILENAME>${project.build.finalName}.${project.packaging}</PKG_FILENAME>
547                     </args>
548                   </build>
549                 </image>
550               </images>
551             </configuration>
552             <executions>
553               <execution>
554                 <id>clean-images</id>
555                 <phase>pre-clean</phase>
556                 <goals>
557                   <goal>remove</goal>
558                 </goals>
559                 <configuration>
560                   <removeMode>all</removeMode>
561                 </configuration>
562               </execution>
563               <execution>
564                 <id>generate-images</id>
565                 <phase>package</phase>
566                 <goals>
567                   <goal>build</goal>
568                 </goals>
569               </execution>
570               <execution>
571                 <id>push-images</id>
572                 <phase>deploy</phase>
573                 <goals>
574                   <goal>push</goal>
575                 </goals>
576               </execution>
577             </executions>
578           </plugin>
579         </plugins>
580       </build>
581     </profile>
582     <profile>
583       <id>onap-settings</id>
584       <properties>
585         <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
586         <onap.nexus.rawrepo.baseurl.upload>https://nexus.onap.org/content/sites/raw
587         </onap.nexus.rawrepo.baseurl.upload>
588         <onap.nexus.rawrepo.baseurl.download>
589           https://nexus.onap.org/service/local/repositories/raw/content
590         </onap.nexus.rawrepo.baseurl.download>
591         <onap.nexus.rawrepo.serverid>ecomp-raw</onap.nexus.rawrepo.serverid>
592
593         <!-- properties for Nexus Docker registry -->
594         <onap.nexus.dockerregistry.daily>nexus3.onap.org:10003</onap.nexus.dockerregistry.daily>
595         <onap.nexus.dockerregistry.release>nexus3.onap.org:10002</onap.nexus.dockerregistry.release>
596         <docker.pull.registry>nexus3.onap.org:10001</docker.pull.registry>
597         <docker.push.registry>nexus3.onap.org:10003</docker.push.registry>
598       </properties>
599     </profile>
600     <profile>
601       <id>onap-snapshots</id>
602       <repositories>
603         <repository>
604           <id>onap-snapshots</id>
605           <name>onap-snapshots</name>
606           <url>https://nexus.onap.org/content/repositories/snapshots/</url>
607           <releases>
608             <enabled>false</enabled>
609           </releases>
610           <snapshots>
611             <enabled>true</enabled>
612           </snapshots>
613         </repository>
614       </repositories>
615       <pluginRepositories>
616         <pluginRepository>
617           <id>onap-snapshots</id>
618           <name>onap-snapshots</name>
619           <url>https://nexus.onap.org/content/repositories/snapshots/</url>
620           <releases>
621             <enabled>false</enabled>
622           </releases>
623           <snapshots>
624             <enabled>true</enabled>
625           </snapshots>
626         </pluginRepository>
627       </pluginRepositories>
628     </profile>
629     <profile>
630       <id>onap-releases</id>
631       <repositories>
632         <repository>
633           <id>onap-releases</id>
634           <name>onap-releases</name>
635           <url>https://nexus.onap.org/content/repositories/releases/</url>
636           <releases>
637             <enabled>true</enabled>
638           </releases>
639           <snapshots>
640             <enabled>false</enabled>
641           </snapshots>
642         </repository>
643       </repositories>
644       <pluginRepositories>
645         <pluginRepository>
646           <id>onap-releases</id>
647           <name>onap-releases</name>
648           <url>https://nexus.onap.org/content/repositories/releases/</url>
649           <releases>
650             <enabled>true</enabled>
651           </releases>
652           <snapshots>
653             <enabled>false</enabled>
654           </snapshots>
655         </pluginRepository>
656       </pluginRepositories>
657     </profile>
658     <profile>
659       <id>onap-public</id>
660       <repositories>
661         <repository>
662           <id>central</id>
663           <url>http://repo1.maven.org/maven2/</url>
664         </repository>
665         <repository>
666           <id>onap-public</id>
667           <name>onap-public</name>
668           <url>https://nexus.onap.org/content/repositories/public/</url>
669           <releases>
670             <enabled>true</enabled>
671           </releases>
672           <snapshots>
673             <enabled>false</enabled>
674           </snapshots>
675         </repository>
676       </repositories>
677       <pluginRepositories>
678         <pluginRepository>
679           <id>central</id>
680           <url>http://repo1.maven.org/maven2/</url>
681         </pluginRepository>
682         <pluginRepository>
683           <id>onap-public</id>
684           <name>onap-public</name>
685           <url>https://nexus.onap.org/content/repositories/public/</url>
686           <releases>
687             <enabled>true</enabled>
688           </releases>
689           <snapshots>
690             <enabled>false</enabled>
691           </snapshots>
692         </pluginRepository>
693       </pluginRepositories>
694     </profile>
695   </profiles>
696
697 </project>