Release K: Dependency Updates
[nonrtric/plt/a1policymanagementservice.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3 * ========================LICENSE_START=================================
4 * O-RAN-SC
5 * %%
6 * Copyright (C) 2019-2023: Nordix Foundation
7 * Copyright (C) 2023-2024: OpenInfra Foundation Europe
8 * %%
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
12 *
13 * http://www.apache.org/licenses/LICENSE-2.0
14 *
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 * ========================LICENSE_END===================================
21 -->
22 <project
23         xmlns="http://maven.apache.org/POM/4.0.0"
24         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
25         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
26     <modelVersion>4.0.0</modelVersion>
27     <parent>
28         <groupId>org.springframework.boot</groupId>
29         <artifactId>spring-boot-starter-parent</artifactId>
30         <version>3.3.5</version>
31         <relativePath/>
32     </parent>
33     <groupId>org.o-ran-sc.nonrtric.plt</groupId>
34     <artifactId>a1policymanagementservice</artifactId>
35     <version>2.9.0-SNAPSHOT</version>
36     <licenses>
37         <license>
38             <name>The Apache Software License, Version 2.0</name>
39             <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
40         </license>
41     </licenses>
42     <repositories>
43         <repository>
44             <id>onap-releases</id>
45             <name>onap-releases</name>
46             <url>https://nexus.onap.org/content/repositories/releases/</url>
47         </repository>
48     </repositories>
49     <properties>
50         <java.version>17</java.version>
51         <software.amazon.awssdk.version>2.29.15</software.amazon.awssdk.version>
52         <json.version>20240303</json.version>
53         <commons-io.version>2.16.1</commons-io.version>
54         <guava.version>33.3.0-jre</guava.version>
55         <surefire-maven-plugin.version>3.0.0-M8</surefire-maven-plugin.version>
56         <surefire-report-plugin.version>3.0.0-M8</surefire-report-plugin.version>
57         <maven-compiler-plugin.version>3.10.0</maven-compiler-plugin.version>
58         <docker-maven-plugin>0.43.0</docker-maven-plugin>
59         <sonar-maven-plugin.version>3.7.0.1746</sonar-maven-plugin.version>
60         <jacoco-maven-plugin.version>0.8.8</jacoco-maven-plugin.version>
61         <exec-maven-plugin.version>3.1.0</exec-maven-plugin.version>
62         <localstack.version>1.20.1</localstack.version>
63         <junit.jupiter.version>1.20.3</junit.jupiter.version>
64         <gson.version>2.10.1</gson.version>
65         <javax.annotation-api.version>1.3.2</javax.annotation-api.version>
66         <everit-json-schema.version>1.14.4</everit-json-schema.version>
67         <jackson-databind-nullable.version>0.2.6</jackson-databind-nullable.version>
68         <validation-api.version>2.0.1.Final</validation-api.version>
69         <swagger-annotations.version>2.2.15</swagger-annotations.version>
70         <spring-boot-actuator-autoconfigure.version>3.3.2</spring-boot-actuator-autoconfigure.version>
71         <formatter-maven-plugin.version>2.22.0</formatter-maven-plugin.version>
72         <spotless-maven-plugin.version>2.35.0</spotless-maven-plugin.version>
73         <springdoc.version>2.0.2</springdoc.version>
74         <docker-maven-plugin>0.30.0</docker-maven-plugin>
75         <ccsdk.project.version>${project.version}</ccsdk.project.version>
76         <mapstruct.version>1.6.0</mapstruct.version>
77         <allowskiptests>false</allowskiptests>
78     </properties>
79     <dependencies>
80         <dependency>
81             <groupId>javax.validation</groupId>
82             <artifactId>validation-api</artifactId>
83             <version>${validation-api.version}</version>
84         </dependency>
85         <dependency>
86             <groupId>javax.annotation</groupId>
87             <artifactId>javax.annotation-api</artifactId>
88             <version>${javax.annotation-api.version}</version>
89         </dependency>
90         <dependency>
91             <groupId>io.swagger.core.v3</groupId>
92             <artifactId>swagger-annotations</artifactId>
93             <version>${swagger-annotations.version}</version>
94         </dependency>
95         <dependency>
96             <groupId>org.openapitools</groupId>
97             <artifactId>jackson-databind-nullable</artifactId>
98             <version>${jackson-databind-nullable.version}</version>
99         </dependency>
100         <dependency>
101             <groupId>org.springframework.boot</groupId>
102             <artifactId>spring-boot</artifactId>
103         </dependency>
104         <dependency>
105             <groupId>org.springframework</groupId>
106             <artifactId>spring-context</artifactId>
107         </dependency>
108         <dependency>
109             <groupId>org.springframework.boot</groupId>
110             <artifactId>spring-boot-autoconfigure</artifactId>
111         </dependency>
112         <dependency>
113             <groupId>org.springframework.boot</groupId>
114             <artifactId>spring-boot-starter-webflux</artifactId>
115         </dependency>
116         <dependency>
117             <groupId>org.springframework.boot</groupId>
118             <artifactId>spring-boot-starter-data-r2dbc</artifactId>
119         </dependency>
120         <dependency>
121             <groupId>org.postgresql</groupId>
122             <artifactId>postgresql</artifactId>
123             <scope>runtime</scope>
124         </dependency>
125         <dependency>
126             <groupId>org.postgresql</groupId>
127             <artifactId>r2dbc-postgresql</artifactId>
128             <scope>runtime</scope>
129         </dependency>
130         <dependency>
131             <groupId>org.flywaydb</groupId>
132             <artifactId>flyway-database-postgresql</artifactId>
133             <scope>runtime</scope>
134         </dependency>
135         <dependency>
136             <groupId>org.aspectj</groupId>
137             <artifactId>aspectjweaver</artifactId>
138         </dependency>
139         <dependency>
140             <groupId>org.apache.tomcat.embed</groupId>
141             <artifactId>tomcat-embed-core</artifactId>
142         </dependency>
143         <dependency>
144             <groupId>com.google.guava</groupId>
145             <artifactId>guava</artifactId>
146             <version>${guava.version}</version>
147         </dependency>
148         <dependency>
149             <groupId>com.google.code.gson</groupId>
150             <artifactId>gson</artifactId>
151             <version>${gson.version}</version>
152         </dependency>
153         <dependency>
154             <groupId>org.json</groupId>
155             <artifactId>json</artifactId>
156             <version>${json.version}</version>
157         </dependency>
158         <dependency>
159             <groupId>org.projectlombok</groupId>
160             <artifactId>lombok</artifactId>
161             <scope>provided</scope>
162         </dependency>
163         <dependency>
164             <groupId>org.mapstruct</groupId>
165             <artifactId>mapstruct</artifactId>
166             <version>1.5.5.Final</version>
167         </dependency>
168         <dependency>
169             <groupId>org.mapstruct</groupId>
170             <artifactId>mapstruct-processor</artifactId>
171             <version>1.5.5.Final</version>
172         </dependency>
173         <!-- Actuator dependencies -->
174         <dependency>
175             <groupId>org.springframework.boot</groupId>
176             <artifactId>spring-boot-starter-actuator</artifactId>
177             <scope>runtime</scope>
178         </dependency>
179         <dependency>
180             <groupId>io.micrometer</groupId>
181             <artifactId>micrometer-registry-prometheus</artifactId>
182         </dependency>
183         <dependency>
184             <groupId>org.springframework.boot</groupId>
185             <artifactId>spring-boot-starter-aop</artifactId>
186         </dependency>
187         <dependency>
188             <groupId>software.amazon.awssdk</groupId>
189             <artifactId>s3</artifactId>
190             <version>${software.amazon.awssdk.version}</version>
191         </dependency>
192         <!-- For development help -->
193         <dependency>
194             <groupId>org.springframework.boot</groupId>
195             <artifactId>spring-boot-devtools</artifactId>
196             <optional>true</optional>
197             <scope>runtime</scope>
198         </dependency>
199         <dependency>
200             <groupId>org.springframework.boot</groupId>
201             <artifactId>spring-boot-configuration-processor</artifactId>
202             <optional>true</optional>
203             <scope>runtime</scope>
204         </dependency>
205         <dependency>
206             <groupId>org.testcontainers</groupId>
207             <artifactId>junit-jupiter</artifactId>
208             <version>${junit.jupiter.version}</version>
209             <scope>test</scope>
210         </dependency>
211         <dependency>
212             <groupId>org.testcontainers</groupId>
213             <artifactId>localstack</artifactId>
214             <version>${localstack.version}</version>
215             <scope>test</scope>
216         </dependency>
217         <dependency>
218             <groupId>org.springframework.boot</groupId>
219             <artifactId>spring-boot-starter-test</artifactId>
220             <scope>test</scope>
221         </dependency>
222         <dependency>
223             <groupId>org.awaitility</groupId>
224             <artifactId>awaitility</artifactId>
225             <scope>test</scope>
226         </dependency>
227         <dependency>
228             <groupId>io.projectreactor</groupId>
229             <artifactId>reactor-test</artifactId>
230             <scope>test</scope>
231         </dependency>
232         <dependency>
233             <groupId>org.junit.jupiter</groupId>
234             <artifactId>junit-jupiter-engine</artifactId>
235             <scope>test</scope>
236         </dependency>
237         <dependency>
238             <groupId>org.mockito</groupId>
239             <artifactId>mockito-junit-jupiter</artifactId>
240             <scope>test</scope>
241         </dependency>
242         <dependency>
243             <groupId>org.mockito</groupId>
244             <artifactId>mockito-core</artifactId>
245             <scope>test</scope>
246         </dependency>
247         <dependency>
248             <groupId>com.squareup.okhttp3</groupId>
249             <artifactId>mockwebserver</artifactId>
250             <scope>test</scope>
251         </dependency>
252         <dependency>
253             <groupId>commons-io</groupId>
254             <artifactId>commons-io</artifactId>
255             <version>${commons-io.version}</version>
256             <scope>test</scope>
257         </dependency>
258         <dependency>
259             <groupId>com.github.erosb</groupId>
260             <artifactId>everit-json-schema</artifactId>
261             <version>${everit-json-schema.version}</version>
262         </dependency>
263         <!-- For Tracing -->
264         <dependency>
265             <groupId>io.micrometer</groupId>
266             <artifactId>micrometer-tracing-bridge-otel</artifactId>
267         </dependency>
268         <dependency>
269             <groupId>io.opentelemetry</groupId>
270             <artifactId>opentelemetry-sdk-extension-jaeger-remote-sampler</artifactId>
271         </dependency>
272         <dependency>
273             <groupId>io.opentelemetry.instrumentation</groupId>
274             <artifactId>opentelemetry-spring-webflux-5.3</artifactId>
275         </dependency>
276         <dependency>
277             <groupId>io.opentelemetry.instrumentation</groupId>
278             <artifactId>opentelemetry-spring-boot-starter</artifactId>
279         </dependency>
280         <!-- For ObservationRegistryCustomizer -->
281         <dependency>
282             <groupId>org.springframework.boot</groupId>
283             <artifactId>spring-boot-actuator-autoconfigure</artifactId>
284             <version>3.3.0</version>
285         </dependency>
286     </dependencies>
287     <dependencyManagement>
288         <dependencies>
289             <dependency>
290                 <groupId>io.opentelemetry</groupId>
291                 <artifactId>opentelemetry-bom</artifactId>
292                 <version>1.41.0</version>
293                 <type>pom</type>
294                 <scope>import</scope>
295             </dependency>
296             <dependency>
297                 <groupId>io.opentelemetry.instrumentation</groupId>
298                 <artifactId>opentelemetry-instrumentation-bom-alpha</artifactId>
299                 <version>2.7.0-alpha</version>
300                 <type>pom</type>
301                 <scope>import</scope>
302             </dependency>
303         </dependencies>
304     </dependencyManagement>
305     <build>
306         <plugins>
307             <plugin>
308                 <groupId>org.springframework.boot</groupId>
309                 <artifactId>spring-boot-maven-plugin</artifactId>
310             </plugin>
311             <plugin>
312                 <groupId>org.apache.maven.plugins</groupId>
313                 <artifactId>maven-surefire-plugin</artifactId>
314                 <version>${surefire-maven-plugin.version}</version>
315                 <configuration>
316                     <skipTests>${allowskiptests}</skipTests>
317                 </configuration>
318             </plugin>
319             <plugin>
320                 <artifactId>maven-failsafe-plugin</artifactId>
321             </plugin>
322             <plugin>
323                 <groupId>org.codehaus.mojo</groupId>
324                 <artifactId>build-helper-maven-plugin</artifactId>
325                 <executions>
326                     <execution>
327                         <id>add-additional-source-dirs</id>
328                         <phase>generate-sources</phase>
329                         <goals>
330                             <goal>add-source</goal>
331                         </goals>
332                         <configuration>
333                             <sources>
334                                 <source>${project.build.directory}/generated-sources/annotations/</source>
335                                 <source>${project.basedir}/add-src/main/java</source>
336                                 <source>${project.basedir}/add-src/main/resources</source>
337                             </sources>
338                         </configuration>
339                     </execution>
340                     <execution>
341                         <id>add-additional-testsource-dirs</id>
342                         <phase>generate-sources</phase>
343                         <goals>
344                             <goal>add-test-source</goal>
345                         </goals>
346                         <configuration>
347                             <sources>
348                                 <source>${project.basedir}/add-src/test/java</source>
349                                 <source>${project.basedir}/add-src/test/resources</source>
350                             </sources>
351                         </configuration>
352                     </execution>
353                 </executions>
354             </plugin>
355             <plugin>
356                 <groupId>org.jacoco</groupId>
357                 <artifactId>jacoco-maven-plugin</artifactId>
358                 <version>${jacoco-maven-plugin.version}</version>
359                 <executions>
360                     <execution>
361                         <id>default-prepare-agent</id>
362                         <goals>
363                             <goal>prepare-agent</goal>
364                         </goals>
365                     </execution>
366                     <execution>
367                         <id>default-report</id>
368                         <phase>prepare-package</phase>
369                         <goals>
370                             <goal>report</goal>
371                         </goals>
372                     </execution>
373                 </executions>
374             </plugin>
375             <plugin>
376                 <groupId>org.openapitools</groupId>
377                 <artifactId>openapi-generator-maven-plugin</artifactId>
378                 <version>7.7.0</version>
379                 <executions>
380                     <execution>
381                         <id>generate-openapi-json</id>
382                         <phase>prepare-package</phase>
383                         <goals>
384                             <goal>generate</goal>
385                         </goals>
386                         <configuration>
387                             <inputSpec>${project.basedir}/api/pms-api.yaml</inputSpec>
388                             <generatorName>openapi</generatorName>
389                             <output>${project.basedir}/api</output>
390                             <configOptions>
391                                 <outputFileName>pms-api.json</outputFileName>
392                             </configOptions>
393                         </configuration>
394                     </execution>
395                     <execution>
396                         <id>generate-openapi-json-v3</id>
397                         <phase>prepare-package</phase>
398                         <goals>
399                             <goal>generate</goal>
400                         </goals>
401                         <configuration>
402                             <inputSpec>${project.basedir}/api/pms-api-v3.yaml</inputSpec>
403                             <generatorName>openapi</generatorName>
404                             <output>${project.basedir}/api</output>
405                             <configOptions>
406                                 <outputFileName>pms-api-v3.json</outputFileName>
407                             </configOptions>
408                         </configuration>
409                     </execution>
410                     <execution>
411                         <id>generate-openapi-json-config-a1pms</id>
412                         <phase>prepare-package</phase>
413                         <goals>
414                             <goal>generate</goal>
415                         </goals>
416                         <configuration>
417                             <inputSpec>${project.basedir}/api/pms-api-v3.yaml</inputSpec>
418                             <generatorName>openapi</generatorName>
419                             <apisToGenerate>A1PolicyManagement</apisToGenerate>
420                             <output>${project.basedir}/api</output>
421                             <configOptions>
422                                 <outputFileName>a1pms-api-v3.json</outputFileName>
423                             </configOptions>
424                         </configuration>
425                     </execution>
426                     <execution>
427                         <id>generate-openapi-html</id>
428                         <phase>prepare-package</phase>
429                         <goals>
430                             <goal>generate</goal>
431                         </goals>
432                         <configuration>
433                             <inputSpec>${project.basedir}/api/pms-api.json</inputSpec>
434                             <generatorName>html2</generatorName>
435                             <output>${project.basedir}/api/pms-api</output>
436                             <skipOperationExample>false</skipOperationExample>
437                             <strictSpec>false</strictSpec>
438                             <configOptions>
439                                 <appDescription>The O-RAN Non-RT RIC A1 Policy Management Service
440                                     provides a REST API for managing O-RAN A1 Policies.</appDescription>
441                                 <appName>ONAP CCSDK A1 Policy Management Service</appName>
442                                 <infoUrl>https://lf-onap.atlassian.net/wiki/spaces/DW/pages/16444961/O-RAN+A1+Policies+in+ONAP</infoUrl>
443                                 <licenseInfo>Copyright (C) 2020-2023 Nordix Foundation. Licensed
444                                     under the Apache License, and Copyright (C) 2024 OpenInfra
445                                     Foundation Europe. All rights reserved.</licenseInfo>
446                                 <licenseUrl>http://www.apache.org/licenses/LICENSE-2.0</licenseUrl>
447                             </configOptions>
448                         </configuration>
449                     </execution>
450                     <execution>
451                         <id>generate-openapi-html-v3</id>
452                         <phase>prepare-package</phase>
453                         <goals>
454                             <goal>generate</goal>
455                         </goals>
456                         <configuration>
457                             <inputSpec>${project.basedir}/api/pms-api-v3.json</inputSpec>
458                             <generatorName>html2</generatorName>
459                             <output>${project.basedir}/api/pms-api/v3</output>
460                             <skipOperationExample>false</skipOperationExample>
461                             <strictSpec>false</strictSpec>
462                             <configOptions>
463                                 <appDescription>The O-RAN Non-RT RIC A1 Policy Management Service
464                                     provides a REST API for managing O-RAN A1 Policies.</appDescription>
465                                 <appName>ONAP CCSDK A1 Policy Management Service</appName>
466                                 <infoUrl>https://lf-onap.atlassian.net/wiki/spaces/DW/pages/16444961/O-RAN+A1+Policies+in+ONAP</infoUrl>
467                                 <licenseInfo>Copyright (C) 2024 OpenInfra
468                                     Foundation Europe. All rights reserved.</licenseInfo>
469                                 <licenseUrl>http://www.apache.org/licenses/LICENSE-2.0</licenseUrl>
470                             </configOptions>
471                         </configuration>
472                     </execution>
473                     <execution>
474                         <id>generate-openapi-html-config-a1pms</id>
475                         <phase>prepare-package</phase>
476                         <goals>
477                             <goal>generate</goal>
478                         </goals>
479                         <configuration>
480                             <inputSpec>${project.basedir}/api/pms-api-v3.json</inputSpec>
481                             <generatorName>html2</generatorName>
482                             <output>${project.basedir}/api/pms-api/v3/custom</output>
483                             <skipOperationExample>false</skipOperationExample>
484                             <strictSpec>false</strictSpec>
485                             <apisToGenerate>A1PolicyManagement</apisToGenerate>
486                             <configOptions>
487                                 <appDescription>The O-RAN Non-RT RIC A1 Policy Management Service
488                                     provides a REST API for managing O-RAN A1 Policies.</appDescription>
489                                 <appName>ONAP CCSDK A1 Policy Management Service</appName>
490                                 <infoUrl>https://lf-onap.atlassian.net/wiki/spaces/DW/pages/16444961/O-RAN+A1+Policies+in+ONAP</infoUrl>
491                                 <licenseInfo>Copyright (C) 2024 OpenInfra
492                                     Foundation Europe. All rights reserved.</licenseInfo>
493                                 <licenseUrl>http://www.apache.org/licenses/LICENSE-2.0</licenseUrl>
494                             </configOptions>
495                         </configuration>
496                     </execution>
497                     <execution>
498                         <id>generate-openapi-policy-api</id>
499                         <phase>generate-sources </phase>
500                         <goals>
501                             <goal>generate</goal>
502                         </goals>
503                         <configuration>
504                             <generatorName>spring</generatorName>
505                             <inputSpec>${project.basedir}/api/pms-api.yaml</inputSpec>
506                             <library>spring-boot</library>
507                             <invokerPackage>org.onap.ccsdk.oran.a1policymanagementservice.controllers.v2</invokerPackage>
508                             <apiPackage>org.onap.ccsdk.oran.a1policymanagementservice.controllers.api.v2</apiPackage>
509                             <modelPackage>org.onap.ccsdk.oran.a1policymanagementservice.models.v2</modelPackage>
510                             <generateApiTests>false</generateApiTests>
511                             <generateModelTests>false</generateModelTests>
512                             <generateSupportingFiles>false</generateSupportingFiles>
513                             <skipValidateSpec>false</skipValidateSpec>
514                             <configOptions>
515                                 <interfaceOnly>true</interfaceOnly>
516                                 <useTags>true</useTags>
517                                 <reactive>true</reactive>
518                                 <dateLibrary>java8</dateLibrary>
519                                 <java8>true</java8>
520                                 <unhandledException>true</unhandledException>
521                                 <openApiNullable>false</openApiNullable>
522                                 <skipDefaultInterface>true</skipDefaultInterface>
523                             </configOptions>
524                         </configuration>
525                     </execution>
526                     <execution>
527                         <id>generate-policy-api-v3</id>
528                         <phase>generate-sources </phase>
529                         <goals>
530                             <goal>generate</goal>
531                         </goals>
532                         <configuration>
533                             <inputSpec>${project.basedir}/api/pms-api-v3.yaml</inputSpec>
534                             <invokerPackage>org.onap.ccsdk.oran.a1policymanagementservice.controllers.v3</invokerPackage>
535                             <apiPackage>org.onap.ccsdk.oran.a1policymanagementservice.controllers.api.v3</apiPackage>
536                             <modelPackage>org.onap.ccsdk.oran.a1policymanagementservice.models.v3</modelPackage>
537                             <generateApiTests>false</generateApiTests>
538                             <generateModelTests>false</generateModelTests>
539                             <generatorName>spring</generatorName>
540                             <generateSupportingFiles>false</generateSupportingFiles>
541                             <skipValidateSpec>false</skipValidateSpec>
542                             <library>spring-boot</library>
543                             <configOptions>
544                                 <interfaceOnly>true</interfaceOnly>
545                                 <useTags>true</useTags>
546                                 <reactive>true</reactive>
547                                 <dateLibrary>java8</dateLibrary>
548                                 <java8>true</java8>
549                                 <unhandledException>true</unhandledException>
550                                 <openApiNullable>false</openApiNullable>
551                                 <skipDefaultInterface>true</skipDefaultInterface>
552                             </configOptions>
553                         </configuration>
554                     </execution>
555                 </executions>
556             </plugin>
557             <plugin>
558                 <artifactId>maven-resources-plugin</artifactId>
559                 <executions>
560                     <execution>
561                         <id>copy-resource-configuration-files</id>
562                         <phase>initialize</phase>
563                         <goals>
564                             <goal>copy-resources</goal>
565                         </goals>
566                         <configuration>
567                             <overwrite>true</overwrite>
568                             <verbose>true</verbose>
569                             <outputDirectory>${project.basedir}/config</outputDirectory>
570                             <resources>
571                                 <resource>
572                                     <directory>${project.basedir}/onap/oran/a1-policy-management/config</directory>
573                                 </resource>
574                             </resources>
575                         </configuration>
576                     </execution>
577                     <execution>
578                         <id>copy-resource-openapi-files-fromsubmodule</id>
579                         <phase>initialize</phase>
580                         <goals>
581                             <goal>copy-resources</goal>
582                         </goals>
583                         <configuration>
584                             <verbose>true</verbose>
585                             <overwrite>true</overwrite>
586                             <outputDirectory>${project.basedir}/api</outputDirectory>
587                             <resources>
588                                 <resource>
589                                     <directory>${project.basedir}/onap/oran/a1-policy-management/api</directory>
590                                     <includes>
591                                         <include>pms-api.json</include>
592                                         <include>pms-api.yaml</include>
593                                         <include>pms-api-v3.json</include>
594                                         <include>pms-api-v3.yaml</include>
595                                         <include>a1pms-api-v3.json</include>
596                                         <include>api/pms-api/index.html</include>
597                                         <include>api/pms-api/v3/index.html</include>
598                                         <include>api/pms-api/v3/custom/index.html</include>
599                                     </includes>
600                                 </resource>
601                             </resources>
602                         </configuration>
603                     </execution>
604                     <execution>
605                         <id>copy-resource-doc-openapi</id>
606                         <phase>package</phase>
607                         <goals>
608                             <goal>copy-resources</goal>
609                         </goals>
610                         <configuration>
611                             <outputDirectory>${project.basedir}/docs/offeredapis/swagger</outputDirectory>
612                             <overwrite>true</overwrite>
613                             <verbose>true</verbose>
614                             <resources>
615                                 <resource>
616                                     <directory>${project.basedir}/api</directory>
617                                     <includes>
618                                         <include>pms-api.json</include>
619                                         <include>pms-api.yaml</include>
620                                         <include>pms-api-v3.json</include>
621                                         <include>pms-api-v3.yaml</include>
622                                         <include>a1pms-api-v3.json</include>
623                                     </includes>
624                                 </resource>
625                             </resources>
626                         </configuration>
627                     </execution>
628                     <execution>
629                         <id>copy-resource-openapi-html</id>
630                         <phase>package</phase>
631                         <goals>
632                             <goal>copy-resources</goal>
633                         </goals>
634                         <configuration>
635                             <verbose>true</verbose>
636                             <outputDirectory>
637                                 ${project.basedir}/docs/offeredapis/openapitoolgen/offeredapis/pms-api</outputDirectory>
638                             <resources>
639                                 <resource>
640                                     <directory>${project.basedir}/api/pms-api</directory>
641                                     <includes>
642                                         <include>pms-api.html</include>
643                                         <include>index.html</include>
644                                         <include>v3/index.html</include>
645                                         <include>v3/custom/index.html</include>
646                                     </includes>
647                                 </resource>
648                             </resources>
649                         </configuration>
650                     </execution>
651                 </executions>
652             </plugin>
653             <plugin>
654                 <groupId>io.fabric8</groupId>
655                 <artifactId>docker-maven-plugin</artifactId>
656                 <version>${docker-maven-plugin}</version>
657                 <inherited>false</inherited>
658                 <executions>
659                     <execution>
660                         <id>generate-a1policymanagementservice-image</id>
661                         <phase>package</phase>
662                         <goals>
663                             <goal>build</goal>
664                         </goals>
665                         <configuration>
666                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
667                             <images>
668                                 <image>
669                                     <name>
670                                         o-ran-sc/nonrtric-plt-a1policymanagementservice:${project.version}</name>
671                                     <build>
672                                         <cleanup>try</cleanup>
673                                         <contextDir>${basedir}</contextDir>
674                                         <dockerFile>Dockerfile</dockerFile>
675                                         <filter>false</filter>
676                                         <args>
677                                             <JAR>${project.build.finalName}.jar</JAR>
678                                         </args>
679                                         <tags>
680                                             <tag>${project.version}</tag>
681                                         </tags>
682                                     </build>
683                                 </image>
684                             </images>
685                         </configuration>
686                     </execution>
687                     <execution>
688                         <id>push-a1policymanagementservice-image</id>
689                         <goals>
690                             <goal>build</goal>
691                             <goal>push</goal>
692                         </goals>
693                         <configuration>
694                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
695                             <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
696                             <images>
697                                 <image>
698                                     <name>
699                                         o-ran-sc/nonrtric-plt-a1policymanagementservice:${project.version}</name>
700                                     <build>
701                                         <contextDir>${basedir}</contextDir>
702                                         <dockerFile>Dockerfile</dockerFile>
703                                         <filter>false</filter>
704                                         <args>
705                                             <JAR>${project.build.finalName}.jar</JAR>
706                                         </args>
707                                         <tags>
708                                             <tag>${project.version}</tag>
709                                             <tag>latest</tag>
710                                         </tags>
711                                     </build>
712                                 </image>
713                             </images>
714                         </configuration>
715                     </execution>
716                 </executions>
717             </plugin>
718             <!-- support sonar in multi-module project -->
719             <plugin>
720                 <groupId>org.sonarsource.scanner.maven</groupId>
721                 <artifactId>sonar-maven-plugin</artifactId>
722                 <version>${sonar-maven-plugin.version}</version>
723             </plugin>
724             <plugin>
725                 <groupId>org.codehaus.mojo</groupId>
726                 <artifactId>exec-maven-plugin</artifactId>
727                 <version>${exec-maven-plugin.version}</version>
728                 <executions>
729                     <execution>
730                         <id>git submodule update</id>
731                         <phase>validate</phase>
732                         <configuration>
733                             <executable>git</executable>
734                             <arguments>
735                                 <argument>submodule</argument>
736                                 <argument>update</argument>
737                                 <argument>--init</argument>
738                                 <argument>--recursive</argument>
739                             </arguments>
740                         </configuration>
741                         <goals>
742                             <goal>exec</goal>
743                         </goals>
744                     </execution>
745                 </executions>
746             </plugin>
747         </plugins>
748     </build>
749     <issueManagement>
750         <system>JIRA</system>
751         <url>https://jira.o-ran-sc.org/</url>
752     </issueManagement>
753     <reporting>
754         <plugins>
755             <plugin>
756                 <groupId>org.apache.maven.plugins</groupId>
757                 <artifactId>maven-surefire-report-plugin</artifactId>
758                 <version>${surefire-report-plugin.version}</version>
759             </plugin>
760         </plugins>
761     </reporting>
762 </project>