5330b8633face3c04b36786bf495d1604ae622d6
[cps.git] / cps-rest / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ============LICENSE_START=======================================================
4   Copyright (c) 2020 Linux Foundation.
5   Modifications Copyright (C) 2020-2023 Nordix Foundation.
6   Modifications Copyright (C) 2021 Bell Canada.
7   ================================================================================
8   Licensed under the Apache License, Version 2.0 (the "License");
9   you may not use this file except in compliance with the License.
10   You may obtain a copy of the License at
11
12         http://www.apache.org/licenses/LICENSE-2.0
13
14   Unless required by applicable law or agreed to in writing, software
15   distributed under the License is distributed on an "AS IS" BASIS,
16   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17   See the License for the specific language governing permissions and
18   limitations under the License.
19
20   SPDX-License-Identifier: Apache-2.0
21   ============LICENSE_END=========================================================
22 -->
23
24 <project xmlns="http://maven.apache.org/POM/4.0.0"
25          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
26          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
27     <modelVersion>4.0.0</modelVersion>
28     <parent>
29         <groupId>org.onap.cps</groupId>
30         <artifactId>cps-parent</artifactId>
31         <version>3.3.7-SNAPSHOT</version>
32         <relativePath>../cps-parent/pom.xml</relativePath>
33     </parent>
34
35     <artifactId>cps-rest</artifactId>
36
37     <dependencies>
38         <dependency>
39             <groupId>${project.groupId}</groupId>
40             <artifactId>cps-service</artifactId>
41         </dependency>
42         <dependency>
43             <groupId>org.springframework.boot</groupId>
44             <artifactId>spring-boot-starter-web</artifactId>
45             <exclusions>
46                 <exclusion>
47                     <groupId>org.springframework.boot</groupId>
48                     <artifactId>spring-boot-starter-tomcat</artifactId>
49                 </exclusion>
50             </exclusions>
51         </dependency>
52         <dependency>
53             <groupId>org.springframework.boot</groupId>
54             <artifactId>spring-boot-starter-validation</artifactId>
55         </dependency>
56         <dependency>
57             <groupId>org.springframework.boot</groupId>
58             <artifactId>spring-boot-starter-jetty</artifactId>
59         </dependency>
60         <dependency>
61             <groupId>org.springframework.retry</groupId>
62             <artifactId>spring-retry</artifactId>
63         </dependency>
64         <dependency>
65             <groupId>org.springframework</groupId>
66             <artifactId>spring-aspects</artifactId>
67         </dependency>
68         <dependency>
69             <groupId>io.swagger.core.v3</groupId>
70             <artifactId>swagger-annotations</artifactId>
71         </dependency>
72         <dependency>
73             <groupId>org.springdoc</groupId>
74             <artifactId>springdoc-openapi-ui</artifactId>
75         </dependency>
76         <dependency>
77             <groupId>org.apache.commons</groupId>
78             <artifactId>commons-lang3</artifactId>
79         </dependency>
80         <dependency>
81             <groupId>org.mapstruct</groupId>
82             <artifactId>mapstruct</artifactId>
83         </dependency>
84         <dependency>
85             <groupId>org.mapstruct</groupId>
86             <artifactId>mapstruct-processor</artifactId>
87         </dependency>
88         <!-- T E S T   D E P E N D E N C I E S -->
89         <dependency>
90             <groupId>org.codehaus.groovy</groupId>
91             <artifactId>groovy</artifactId>
92             <scope>test</scope>
93         </dependency>
94         <dependency>
95             <groupId>org.codehaus.groovy</groupId>
96             <artifactId>groovy-json</artifactId>
97             <scope>test</scope>
98         </dependency>
99         <dependency>
100             <groupId>org.spockframework</groupId>
101             <artifactId>spock-core</artifactId>
102             <scope>test</scope>
103         </dependency>
104         <dependency>
105             <groupId>org.spockframework</groupId>
106             <artifactId>spock-spring</artifactId>
107             <scope>test</scope>
108         </dependency>
109         <dependency>
110             <groupId>cglib</groupId>
111             <artifactId>cglib-nodep</artifactId>
112             <scope>test</scope>
113         </dependency>
114         <dependency>
115             <groupId>org.springframework.boot</groupId>
116             <artifactId>spring-boot-starter-test</artifactId>
117             <scope>test</scope>
118             <exclusions>
119                 <exclusion>
120                     <groupId>org.junit.vintage</groupId>
121                     <artifactId>junit-vintage-engine</artifactId>
122                 </exclusion>
123             </exclusions>
124         </dependency>
125         <dependency>
126             <groupId>jakarta.validation</groupId>
127             <artifactId>jakarta.validation-api</artifactId>
128         </dependency>
129         <dependency>
130             <groupId>io.gsonfire</groupId>
131             <artifactId>gson-fire</artifactId>
132         </dependency>
133     </dependencies>
134
135     <build>
136         <plugins>
137             <!-- Swagger code generation. -->
138             <plugin>
139                 <groupId>org.openapitools</groupId>
140                 <artifactId>openapi-generator-maven-plugin</artifactId>
141                 <version>6.6.0</version>
142                 <executions>
143                     <execution>
144                         <id>code-gen</id>
145                         <goals>
146                             <goal>generate</goal>
147                         </goals>
148                         <configuration>
149                             <inputSpec>${project.basedir}/docs/openapi/openapi.yml</inputSpec>
150                             <invokerPackage>org.onap.cps.rest.controller</invokerPackage>
151                             <modelPackage>org.onap.cps.rest.model</modelPackage>
152                             <apiPackage>org.onap.cps.rest.api</apiPackage>
153                             <generatorName>spring</generatorName>
154                             <generateSupportingFiles>false</generateSupportingFiles>
155                             <configOptions>
156                                 <sourceFolder>src/gen/java</sourceFolder>
157                                 <dateLibrary>java11</dateLibrary>
158                                 <interfaceOnly>true</interfaceOnly>
159                                 <useSpringBoot3>true</useSpringBoot3>
160                                 <useTags>true</useTags>
161                                 <openApiNullable>false</openApiNullable>
162                                 <skipDefaultInterface>true</skipDefaultInterface>
163                             </configOptions>
164                         </configuration>
165                     </execution>
166                     <execution>
167                         <id>openapi-yaml-gen</id>
168                         <goals>
169                             <goal>generate</goal>
170                         </goals>
171                         <phase>compile</phase>
172                         <configuration>
173                             <inputSpec>${project.basedir}/docs/openapi/openapi.yml</inputSpec>
174                             <generatorName>openapi-yaml</generatorName>
175                             <configOptions>
176                                 <outputFile>openapi.yaml</outputFile>
177                             </configOptions>
178                         </configuration>
179                     </execution>
180                 </executions>
181             </plugin>
182             <plugin>
183                 <groupId>org.apache.maven.plugins</groupId>
184                 <artifactId>maven-resources-plugin</artifactId>
185                 <executions>
186                     <execution>
187                         <id>copy-resources</id>
188                         <phase>compile</phase>
189                         <goals>
190                             <goal>copy-resources</goal>
191                         </goals>
192                         <configuration>
193                             <outputDirectory>${project.basedir}/target/classes/static/api-docs/cps-core</outputDirectory>
194                             <resources>
195                                 <resource>
196                                     <directory>${project.basedir}/target/generated-sources/openapi/</directory>
197                                     <includes>
198                                       <include>openapi.yaml</include>
199                                     </includes>
200                                 </resource>
201                             </resources>
202                         </configuration>
203                     </execution>
204                 </executions>
205             </plugin>
206         </plugins>
207     </build>
208 </project>