Adding swagger codegen
[cps.git] / cps / cps-rest / pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0"\r
2   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
3   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">\r
4     <modelVersion>4.0.0</modelVersion>\r
5     <artifactId>cps-rest</artifactId>\r
6     <parent>\r
7         <groupId>org.onap.cps</groupId>\r
8         <artifactId>cps</artifactId>\r
9         <version>0.0.1-SNAPSHOT</version>\r
10     </parent>\r
11 \r
12     <dependencies>\r
13 \r
14         <dependency>\r
15             <groupId>org.onap.cps</groupId>\r
16             <artifactId>cps-service</artifactId>\r
17             <version>${project.version}</version>\r
18         </dependency>\r
19 \r
20         <dependency>\r
21             <groupId>org.onap.cps</groupId>\r
22             <artifactId>cps-ri</artifactId>\r
23             <version>${project.version}</version>\r
24         </dependency>\r
25 \r
26         <dependency>\r
27             <groupId>org.glassfish.jersey.media</groupId>\r
28             <artifactId>jersey-media-multipart</artifactId>\r
29         </dependency>\r
30 \r
31         <dependency>\r
32             <groupId>org.springframework</groupId>\r
33             <artifactId>spring-webmvc</artifactId>\r
34         </dependency>\r
35 \r
36         <dependency>\r
37             <groupId>org.springframework.boot</groupId>\r
38             <artifactId>spring-boot-starter-jersey</artifactId>\r
39             <exclusions>\r
40                 <exclusion>\r
41                     <groupId>org.springframework.boot</groupId>\r
42                     <artifactId>spring-boot-starter-tomcat</artifactId>\r
43                 </exclusion>\r
44             </exclusions>\r
45         </dependency>\r
46 \r
47         <dependency>\r
48             <groupId>org.springframework.boot</groupId>\r
49             <artifactId>spring-boot-starter-jetty</artifactId>\r
50         </dependency>\r
51 \r
52         <dependency>\r
53             <groupId>io.swagger.core.v3</groupId>\r
54             <artifactId>swagger-annotations</artifactId>\r
55             <version>${swagger.version}</version>\r
56         </dependency>\r
57 \r
58         <dependency>\r
59             <groupId>io.swagger.core.v3</groupId>\r
60             <artifactId>swagger-jaxrs2</artifactId>\r
61             <version>${swagger.version}</version>\r
62         </dependency>\r
63 \r
64         <dependency>\r
65             <groupId>org.springframework.boot</groupId>\r
66             <artifactId>spring-boot-starter-test</artifactId>\r
67             <scope>test</scope>\r
68             <exclusions>\r
69                 <exclusion>\r
70                     <groupId>org.junit.vintage</groupId>\r
71                     <artifactId>junit-vintage-engine</artifactId>\r
72                 </exclusion>\r
73             </exclusions>\r
74         </dependency>\r
75 \r
76         <!--   Used by the generated API     -->\r
77         <dependency>\r
78             <groupId>org.apache.cxf</groupId>\r
79             <artifactId>cxf-bundle-jaxrs</artifactId>\r
80             <version>${cxf-bundle-jaxrs.version}</version>\r
81         </dependency>\r
82 \r
83         <!--   Used by the generated API     -->\r
84         <dependency>\r
85             <groupId>org.apache.cxf</groupId>\r
86             <artifactId>cxf-rt-rs-service-description</artifactId>\r
87             <version>${cxf-rt-rs-service.version}</version>\r
88         </dependency>\r
89 \r
90     </dependencies>\r
91 \r
92     <build>\r
93         <plugins>\r
94             <plugin>\r
95                 <groupId>org.springframework.boot</groupId>\r
96                 <artifactId>spring-boot-maven-plugin</artifactId>\r
97                 <version>${springboot.version}</version>\r
98                 <executions>\r
99                     <execution>\r
100                         <goals>\r
101                             <goal>repackage</goal>\r
102                         </goals>\r
103                     </execution>\r
104                 </executions>\r
105             </plugin>\r
106 \r
107             <plugin>\r
108                 <groupId>io.swagger.codegen.v3</groupId>\r
109                 <artifactId>swagger-codegen-maven-plugin</artifactId>\r
110                 <version>${swagger-codegen.version}</version>\r
111                 <executions>\r
112                     <execution>\r
113                         <goals>\r
114                             <goal>generate</goal>\r
115                         </goals>\r
116                         <configuration>\r
117                             <inputSpec>${project.basedir}/docs/api/swagger/openapi.yml</inputSpec>\r
118                             <invokerPackage>org.onap.cps.rest.controller</invokerPackage>\r
119                             <modelPackage>org.onap.cps.rest.model</modelPackage>\r
120                             <apiPackage>org.onap.cps.rest.controller</apiPackage>\r
121                             <language>jaxrs-cxf</language>\r
122                             <generateSupportingFiles>true</generateSupportingFiles>\r
123                             <configOptions>\r
124                                 <sourceFolder>src/gen/java</sourceFolder>\r
125                                 <dateLibrary>java8</dateLibrary>\r
126                                 <library>jersey2</library>\r
127                                 <interfaceOnly>true</interfaceOnly>\r
128                             </configOptions>\r
129                         </configuration>\r
130                     </execution>\r
131                 </executions>\r
132             </plugin>\r
133             <plugin>\r
134                 <!-- Download Swagger UI webjar. -->\r
135                 <groupId>org.apache.maven.plugins</groupId>\r
136                 <artifactId>maven-dependency-plugin</artifactId>\r
137                 <version>${maven-dependency-plugin.version}</version>\r
138                 <executions>\r
139                     <execution>\r
140                         <phase>prepare-package</phase>\r
141                         <goals>\r
142                             <goal>unpack</goal>\r
143                         </goals>\r
144                         <configuration>\r
145                             <artifactItems>\r
146                                 <artifactItem>\r
147                                     <groupId>org.webjars</groupId>\r
148                                     <artifactId>swagger-ui</artifactId>\r
149                                     <version>${swagger-ui.version}</version>\r
150                                 </artifactItem>\r
151                             </artifactItems>\r
152                             <outputDirectory>\r
153                                 ${project.build.directory}/swagger-ui-${swagger-ui.version}\r
154                             </outputDirectory>\r
155                         </configuration>\r
156                     </execution>\r
157                 </executions>\r
158             </plugin>\r
159             <plugin>\r
160                 <!-- Copy Swagger UI resources to static resources directory. -->\r
161                 <groupId>org.apache.maven.plugins</groupId>\r
162                 <artifactId>maven-resources-plugin</artifactId>\r
163                 <version>${maven-resources-plugin.version}</version>\r
164                 <executions>\r
165                     <execution>\r
166                         <id>copy-resources</id>\r
167                         <phase>prepare-package</phase>\r
168                         <goals>\r
169                             <goal>copy-resources</goal>\r
170                         </goals>\r
171                         <configuration>\r
172                             <outputDirectory>${project.build.outputDirectory}/static/swagger-ui\r
173                             </outputDirectory>\r
174                             <resources>\r
175                                 <resource>\r
176                                     <directory>\r
177                                         ${project.build.directory}/swagger-ui-${swagger-ui.version}/META-INF/resources/webjars/swagger-ui/${swagger-ui.version}/\r
178                                     </directory>\r
179                                     <excludes>\r
180                                         <exclude>**/*.gz</exclude>\r
181                                     </excludes>\r
182                                 </resource>\r
183                             </resources>\r
184                         </configuration>\r
185                     </execution>\r
186                 </executions>\r
187             </plugin>\r
188             <plugin>\r
189                 <!-- Replace the OpenAPI specification example URL with the local one. -->\r
190                 <groupId>com.google.code.maven-replacer-plugin</groupId>\r
191                 <artifactId>replacer</artifactId>\r
192                 <version>${maven-replacer-plugin.version}</version>\r
193                 <executions>\r
194                     <execution>\r
195                         <phase>prepare-package</phase>\r
196                         <goals>\r
197                             <goal>replace</goal>\r
198                         </goals>\r
199                     </execution>\r
200                 </executions>\r
201                 <configuration>\r
202                     <file>${project.build.outputDirectory}/static/swagger-ui/index.html</file>\r
203                     <replacements>\r
204                         <replacement>\r
205                             <token>https://petstore.swagger.io/v2/swagger.json</token>\r
206                             <value>/api/cps/openapi.json</value>\r
207                         </replacement>\r
208                     </replacements>\r
209                 </configuration>\r
210             </plugin>\r
211         </plugins>\r
212     </build>\r
213 </project>\r