7e03120c6ea53f09252f72eb590165e741ceec75
[cps.git] / cps-ncmp-rest / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ============LICENSE_START=======================================================
4   Copyright (C) 2021-2023 Nordix Foundation
5   Modifications Copyright (C) 2021 Bell Canada
6   ================================================================================
7   Licensed under the Apache License, Version 2.0 (the "License");
8   you may not use this file except in compliance with the License.
9   You may obtain a copy of the License at
10
11         http://www.apache.org/licenses/LICENSE-2.0
12
13   Unless required by applicable law or agreed to in writing, software
14   distributed under the License is distributed on an "AS IS" BASIS,
15   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   See the License for the specific language governing permissions and
17   limitations under the License.
18
19   SPDX-License-Identifier: Apache-2.0
20   ============LICENSE_END=========================================================
21 -->
22
23 <project 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.onap.cps</groupId>
29         <artifactId>cps-parent</artifactId>
30         <version>3.4.7-SNAPSHOT</version>
31         <relativePath>../cps-parent/pom.xml</relativePath>
32     </parent>
33
34     <artifactId>cps-ncmp-rest</artifactId>
35
36     <properties>
37         <minimum-coverage>0.99</minimum-coverage>
38     </properties>
39
40     <dependencies>
41         <dependency>
42             <groupId>${project.groupId}</groupId>
43             <artifactId>cps-ncmp-service</artifactId>
44             <version>${project.version}</version>
45         </dependency>
46         <dependency>
47             <groupId>org.springframework.boot</groupId>
48             <artifactId>spring-boot-starter-web</artifactId>
49             <exclusions>
50                 <exclusion>
51                     <groupId>org.springframework.boot</groupId>
52                     <artifactId>spring-boot-starter-tomcat</artifactId>
53                 </exclusion>
54             </exclusions>
55         </dependency>
56         <dependency>
57             <groupId>org.springframework.boot</groupId>
58             <artifactId>spring-boot-starter-validation</artifactId>
59         </dependency>
60         <dependency>
61             <groupId>org.springframework.boot</groupId>
62             <artifactId>spring-boot-starter-jetty</artifactId>
63         </dependency>
64         <dependency>
65             <groupId>com.google.code.gson</groupId>
66             <artifactId>gson</artifactId>
67         </dependency>
68         <dependency>
69             <groupId>io.swagger.core.v3</groupId>
70             <artifactId>swagger-annotations</artifactId>
71         </dependency>
72         <dependency>
73             <groupId>io.swagger.core.v3</groupId>
74             <artifactId>swagger-models</artifactId>
75         </dependency>
76         <dependency>
77             <groupId>org.mapstruct</groupId>
78             <artifactId>mapstruct</artifactId>
79         </dependency>
80         <dependency>
81             <groupId>org.mapstruct</groupId>
82             <artifactId>mapstruct-processor</artifactId>
83         </dependency>
84         <dependency>
85             <groupId>org.openapitools</groupId>
86             <artifactId>jackson-databind-nullable</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>org.junit.jupiter</groupId>
127             <artifactId>junit-jupiter</artifactId>
128             <scope>test</scope>
129         </dependency>
130     </dependencies>
131
132     <build>
133         <plugins>
134             <!-- Swagger code generation. -->
135             <plugin>
136                 <groupId>org.openapitools</groupId>
137                 <artifactId>openapi-generator-maven-plugin</artifactId>
138                 <version>6.6.0</version>
139                 <executions>
140                     <execution>
141                         <id>ncmp-code-gen</id>
142                         <goals>
143                             <goal>generate</goal>
144                         </goals>
145                         <configuration>
146                             <inputSpec>${project.basedir}/docs/openapi/openapi.yml</inputSpec>
147                             <invokerPackage>org.onap.cps.ncmp.rest.controller</invokerPackage>
148                             <modelPackage>org.onap.cps.ncmp.rest.model</modelPackage>
149                             <apiPackage>org.onap.cps.ncmp.rest.api</apiPackage>
150                             <generatorName>spring</generatorName>
151                             <generateSupportingFiles>false</generateSupportingFiles>
152                             <generateAliasAsModel>true</generateAliasAsModel>
153                             <configOptions>
154                                 <sourceFolder>src/gen/java</sourceFolder>
155                                 <dateLibrary>java11</dateLibrary>
156                                 <interfaceOnly>true</interfaceOnly>
157                                 <useSpringBoot3>true</useSpringBoot3>
158                                 <useTags>true</useTags>
159                                 <openApiNullable>false</openApiNullable>
160                                 <skipDefaultInterface>true</skipDefaultInterface>
161                             </configOptions>
162                         </configuration>
163                     </execution>
164                     <execution>
165                         <id>ncmp-code-gen-inventory</id>
166                         <goals>
167                             <goal>generate</goal>
168                         </goals>
169                         <configuration>
170                             <inputSpec>${project.basedir}/docs/openapi/openapi-inventory.yml</inputSpec>
171                             <invokerPackage>org.onap.cps.ncmp.rest.controller</invokerPackage>
172                             <modelPackage>org.onap.cps.ncmp.rest.model</modelPackage>
173                             <apiPackage>org.onap.cps.ncmp.rest.api</apiPackage>
174                             <generatorName>spring</generatorName>
175                             <generateSupportingFiles>false</generateSupportingFiles>
176                             <configOptions>
177                                 <sourceFolder>src/gen/java</sourceFolder>
178                                 <dateLibrary>java11</dateLibrary>
179                                 <interfaceOnly>true</interfaceOnly>
180                                 <useSpringBoot3>true</useSpringBoot3>
181                                 <useTags>true</useTags>
182                                 <openApiNullable>false</openApiNullable>
183                                 <skipDefaultInterface>true</skipDefaultInterface>
184                             </configOptions>
185                         </configuration>
186                     </execution>
187                     <execution>
188                         <id>ncmp-inventory-openapi-yaml-gen</id>
189                         <goals>
190                             <goal>generate</goal>
191                         </goals>
192                         <phase>compile</phase>
193                         <configuration>
194                             <inputSpec>${project.basedir}/docs/openapi/openapi-inventory.yml</inputSpec>
195                             <generatorName>openapi-yaml</generatorName>
196                             <configOptions>
197                                 <outputFile>openapi-inventory.yaml</outputFile>
198                             </configOptions>
199                         </configuration>
200                     </execution>
201                     <execution>
202                         <id>ncmp-openapi-yaml-gen</id>
203                         <goals>
204                             <goal>generate</goal>
205                         </goals>
206                         <phase>compile</phase>
207                         <configuration>
208                             <inputSpec>${project.basedir}/docs/openapi/openapi.yml</inputSpec>
209                             <generatorName>openapi-yaml</generatorName>
210                             <configOptions>
211                                 <outputFile>openapi.yaml</outputFile>
212                             </configOptions>
213                         </configuration>
214                     </execution>
215                 </executions>
216             </plugin>
217             <plugin>
218                 <groupId>org.apache.maven.plugins</groupId>
219                 <artifactId>maven-resources-plugin</artifactId>
220                 <executions>
221                     <execution>
222                         <id>copy-resources</id>
223                         <phase>compile</phase>
224                         <goals>
225                             <goal>copy-resources</goal>
226                         </goals>
227                         <configuration>
228                             <outputDirectory>${project.basedir}/target/classes/static/api-docs/cps-ncmp
229                             </outputDirectory>
230                             <resources>
231                                 <resource>
232                                     <directory>${project.basedir}/target/generated-sources/openapi/</directory>
233                                     <includes>
234                                         <include>openapi*.yaml</include>
235                                     </includes>
236                                 </resource>
237                             </resources>
238                         </configuration>
239                     </execution>
240                 </executions>
241             </plugin>
242         </plugins>
243     </build>
244 </project>