97305cfe987f713e661e7559dced225b4e643f55
[cps.git] / cps-ncmp-rest / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ============LICENSE_START=======================================================
4   Copyright (C) 2021-2022 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.0.0-SNAPSHOT</version>
31         <relativePath>../cps-parent/pom.xml</relativePath>
32     </parent>
33
34     <artifactId>cps-ncmp-rest</artifactId>
35
36     <dependencies>
37         <dependency>
38             <groupId>${project.groupId}</groupId>
39             <artifactId>cps-ncmp-service</artifactId>
40             <version>${project.version}</version>
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>io.swagger.core.v3</groupId>
62             <artifactId>swagger-annotations</artifactId>
63         </dependency>
64         <dependency>
65             <groupId>org.mapstruct</groupId>
66             <artifactId>mapstruct</artifactId>
67         </dependency>
68         <dependency>
69             <groupId>org.mapstruct</groupId>
70             <artifactId>mapstruct-processor</artifactId>
71         </dependency>
72         <!-- T E S T   D E P E N D E N C I E S -->
73         <dependency>
74             <groupId>org.codehaus.groovy</groupId>
75             <artifactId>groovy</artifactId>
76             <scope>test</scope>
77         </dependency>
78         <dependency>
79             <groupId>org.codehaus.groovy</groupId>
80             <artifactId>groovy-json</artifactId>
81             <scope>test</scope>
82         </dependency>
83         <dependency>
84             <groupId>org.spockframework</groupId>
85             <artifactId>spock-core</artifactId>
86             <scope>test</scope>
87         </dependency>
88         <dependency>
89             <groupId>org.spockframework</groupId>
90             <artifactId>spock-spring</artifactId>
91             <scope>test</scope>
92         </dependency>
93         <dependency>
94             <groupId>cglib</groupId>
95             <artifactId>cglib-nodep</artifactId>
96             <scope>test</scope>
97         </dependency>
98         <dependency>
99             <groupId>org.springframework.boot</groupId>
100             <artifactId>spring-boot-starter-test</artifactId>
101             <scope>test</scope>
102             <exclusions>
103                 <exclusion>
104                     <groupId>org.junit.vintage</groupId>
105                     <artifactId>junit-vintage-engine</artifactId>
106                 </exclusion>
107             </exclusions>
108         </dependency>
109         <dependency>
110             <groupId>com.google.code.gson</groupId>
111             <artifactId>gson</artifactId>
112         </dependency>
113     </dependencies>
114
115     <build>
116         <plugins>
117             <!-- Swagger code generation. -->
118             <plugin>
119                 <groupId>io.swagger.codegen.v3</groupId>
120                 <artifactId>swagger-codegen-maven-plugin</artifactId>
121                 <executions>
122                     <execution>
123                         <id>ncmp-code-gen</id>
124                         <goals>
125                             <goal>generate</goal>
126                         </goals>
127                         <configuration>
128                             <inputSpec>${project.basedir}/docs/openapi/openapi.yml</inputSpec>
129                             <invokerPackage>org.onap.cps.ncmp.rest.controller</invokerPackage>
130                             <modelPackage>org.onap.cps.ncmp.rest.model</modelPackage>
131                             <apiPackage>org.onap.cps.ncmp.rest.api</apiPackage>
132                             <language>spring</language>
133                             <generateSupportingFiles>false</generateSupportingFiles>
134                             <configOptions>
135                                 <sourceFolder>src/gen/java</sourceFolder>
136                                 <dateLibrary>java11</dateLibrary>
137                                 <interfaceOnly>true</interfaceOnly>
138                                 <useTags>true</useTags>
139                             </configOptions>
140                         </configuration>
141                     </execution>
142                     <execution>
143                         <id>ncmp-code-gen-inventory</id>
144                         <goals>
145                             <goal>generate</goal>
146                         </goals>
147                         <configuration>
148                             <inputSpec>${project.basedir}/docs/openapi/openapi-inventory.yml</inputSpec>
149                             <invokerPackage>org.onap.cps.ncmp.rest.controller</invokerPackage>
150                             <modelPackage>org.onap.cps.ncmp.rest.model</modelPackage>
151                             <apiPackage>org.onap.cps.ncmp.rest.api</apiPackage>
152                             <language>spring</language>
153                             <generateSupportingFiles>false</generateSupportingFiles>
154                             <configOptions>
155                                 <sourceFolder>src/gen/java</sourceFolder>
156                                 <dateLibrary>java11</dateLibrary>
157                                 <interfaceOnly>true</interfaceOnly>
158                                 <useTags>true</useTags>
159                             </configOptions>
160                         </configuration>
161                     </execution>
162                     <execution>
163                         <id>ncmp-inventory-openapi-yaml-gen</id>
164                         <goals>
165                             <goal>generate</goal>
166                         </goals>
167                         <phase>compile</phase>
168                         <configuration>
169                             <inputSpec>${project.basedir}/docs/openapi/openapi-inventory.yml</inputSpec>
170                             <language>openapi-yaml</language>
171                             <configOptions>
172                                 <outputFile>openapi-inventory.yaml</outputFile>
173                             </configOptions>
174                         </configuration>
175                     </execution>
176                 </executions>
177             </plugin>
178             <plugin>
179                 <artifactId>maven-resources-plugin</artifactId>
180                 <executions>
181                     <execution>
182                         <id>copy-resources</id>
183                         <phase>compile</phase>
184                         <goals>
185                             <goal>copy-resources</goal>
186                         </goals>
187                         <configuration>
188                             <outputDirectory>${project.basedir}/target/classes/static/api-docs/cps-ncmp</outputDirectory>
189                             <resources>
190                                 <resource>
191                                     <directory>${project.basedir}/target/generated-sources/swagger/</directory>
192                                     <includes>
193                                         <include>openapi*.yaml</include>
194                                     </includes>
195                                 </resource>
196                             </resources>
197                         </configuration>
198                     </execution>
199                 </executions>
200             </plugin>
201         </plugins>
202     </build>
203 </project>