Release nonrtric
[nonrtric.git] / r-app-catalogue / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>\r
2 <!--\r
3 * ========================LICENSE_START=================================\r
4 * O-RAN-SC\r
5 * %%\r
6 * Copyright (C) 2020 Nordix Foundation\r
7 * %%\r
8 * Licensed under the Apache License, Version 2.0 (the "License");\r
9 * you may not use this file except in compliance with the License.\r
10 * You may obtain a copy of the License at\r
11 *\r
12 * http://www.apache.org/licenses/LICENSE-2.0\r
13 *\r
14 * Unless required by applicable law or agreed to in writing, software\r
15 * distributed under the License is distributed on an "AS IS" BASIS,\r
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
17 * See the License for the specific language governing permissions and\r
18 * limitations under the License.\r
19 * ========================LICENSE_END===================================\r
20 -->\r
21 <project xmlns="http://maven.apache.org/POM/4.0.0"\r
22     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
23     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">\r
24     <modelVersion>4.0.0</modelVersion>\r
25 \r
26     <parent>\r
27         <groupId>org.springframework.boot</groupId>\r
28         <artifactId>spring-boot-starter-parent</artifactId>\r
29         <version>2.3.4.RELEASE</version>\r
30         <relativePath />\r
31     </parent>\r
32     <groupId>org.o-ran-sc.nonrtric</groupId>\r
33     <artifactId>r-app-catalogue</artifactId>\r
34     <version>1.1.0</version>\r
35     <licenses>\r
36         <license>\r
37             <name>The Apache Software License, Version 2.0</name>\r
38             <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>\r
39         </license>\r
40     </licenses>\r
41     <properties>\r
42         <java.version>11</java.version>\r
43         <swagger-annotations.version>1.5.22</swagger-annotations.version>\r
44         <springfox.version>2.9.2</springfox.version>\r
45         <jackson-databind-nullable.version>0.2.1</jackson-databind-nullable.version>\r
46         <openapi-generator-maven-plugin.version>4.3.1</openapi-generator-maven-plugin.version>\r
47         <swagger-codegen-maven-plugin.version>3.0.11</swagger-codegen-maven-plugin.version>\r
48         <formatter-maven-plugin.version>2.12.2</formatter-maven-plugin.version>\r
49         <spotless-maven-plugin.version>1.24.3</spotless-maven-plugin.version>\r
50         <jacoco-maven-plugin.version>0.8.6</jacoco-maven-plugin.version>\r
51         <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version>\r
52     </properties>\r
53 \r
54     <dependencies>\r
55         <dependency>\r
56             <groupId>io.swagger</groupId>\r
57             <artifactId>swagger-annotations</artifactId>\r
58             <version>${swagger-annotations.version}</version>\r
59         </dependency>\r
60         <dependency>\r
61             <groupId>com.fasterxml.jackson.core</groupId>\r
62             <artifactId>jackson-annotations</artifactId>\r
63         </dependency>\r
64         <dependency>\r
65             <groupId>org.springframework</groupId>\r
66             <artifactId>spring-beans</artifactId>\r
67         </dependency>\r
68         <dependency>\r
69             <groupId>org.springframework.boot</groupId>\r
70             <artifactId>spring-boot-autoconfigure</artifactId>\r
71         </dependency>\r
72         <dependency>\r
73             <groupId>org.springframework</groupId>\r
74             <artifactId>spring-web</artifactId>\r
75         </dependency>\r
76         <dependency>\r
77             <groupId>org.springframework.boot</groupId>\r
78             <artifactId>spring-boot</artifactId>\r
79         </dependency>\r
80         <dependency>\r
81             <groupId>org.springframework</groupId>\r
82             <artifactId>spring-webmvc</artifactId>\r
83         </dependency>\r
84         <dependency>\r
85             <groupId>org.springframework</groupId>\r
86             <artifactId>spring-context</artifactId>\r
87         </dependency>\r
88         <dependency>\r
89             <groupId>io.springfox</groupId>\r
90             <artifactId>springfox-swagger2</artifactId>\r
91             <version>${springfox.version}</version>\r
92         </dependency>\r
93         <dependency>\r
94             <groupId>io.springfox</groupId>\r
95             <artifactId>springfox-core</artifactId>\r
96             <version>${springfox.version}</version>\r
97         </dependency>\r
98         <dependency>\r
99             <groupId>io.springfox</groupId>\r
100             <artifactId>springfox-spring-web</artifactId>\r
101             <version>${springfox.version}</version>\r
102         </dependency>\r
103         <dependency>\r
104             <groupId>io.springfox</groupId>\r
105             <artifactId>springfox-spi</artifactId>\r
106             <version>${springfox.version}</version>\r
107         </dependency>\r
108         <dependency>\r
109             <groupId>org.assertj</groupId>\r
110             <artifactId>assertj-core</artifactId>\r
111         </dependency>\r
112         <dependency>\r
113             <groupId>org.apache.tomcat.embed</groupId>\r
114             <artifactId>tomcat-embed-core</artifactId>\r
115         </dependency>\r
116         <dependency>\r
117             <groupId>org.openapitools</groupId>\r
118             <artifactId>jackson-databind-nullable</artifactId>\r
119             <version>${jackson-databind-nullable.version}</version>\r
120         </dependency>\r
121         <dependency>\r
122             <groupId>javax.validation</groupId>\r
123             <artifactId>validation-api</artifactId>\r
124         </dependency>\r
125         <dependency>\r
126             <groupId>com.fasterxml.jackson.core</groupId>\r
127             <artifactId>jackson-databind</artifactId>\r
128         </dependency>\r
129         <dependency>\r
130             <groupId>org.yaml</groupId>\r
131             <artifactId>snakeyaml</artifactId>\r
132             <scope>runtime</scope>\r
133         </dependency>\r
134         <!-- TEST -->\r
135         <dependency>\r
136             <groupId>org.springframework</groupId>\r
137             <artifactId>spring-test</artifactId>\r
138             <scope>test</scope>\r
139         </dependency>\r
140         <dependency>\r
141             <groupId>org.junit.jupiter</groupId>\r
142             <artifactId>junit-jupiter-api</artifactId>\r
143             <scope>test</scope>\r
144         </dependency>\r
145         <dependency>\r
146             <groupId>org.mockito</groupId>\r
147             <artifactId>mockito-junit-jupiter</artifactId>\r
148             <scope>test</scope>\r
149         </dependency>\r
150         <dependency>\r
151             <groupId>org.mockito</groupId>\r
152             <artifactId>mockito-core</artifactId>\r
153             <scope>test</scope>\r
154         </dependency>\r
155         <dependency>\r
156             <groupId>org.junit.jupiter</groupId>\r
157             <artifactId>junit-jupiter-engine</artifactId>\r
158             <scope>test</scope>\r
159         </dependency>\r
160         <dependency>\r
161             <groupId>org.springframework.boot</groupId>\r
162             <artifactId>spring-boot-starter-test</artifactId>\r
163             <scope>test</scope>\r
164         </dependency>\r
165         <dependency>\r
166             <groupId>org.apache.httpcomponents</groupId>\r
167             <artifactId>httpclient</artifactId>\r
168             <scope>test</scope>\r
169         </dependency>\r
170 \r
171     </dependencies>\r
172 \r
173     <build>\r
174         <plugins>\r
175             <plugin>\r
176                 <groupId>org.springframework.boot</groupId>\r
177                 <artifactId>spring-boot-maven-plugin</artifactId>\r
178             </plugin>\r
179             <plugin>\r
180                 <groupId>org.openapitools</groupId>\r
181                 <artifactId>openapi-generator-maven-plugin</artifactId>\r
182                 <version>${openapi-generator-maven-plugin.version}</version>\r
183                 <executions>\r
184                     <execution>\r
185                         <goals>\r
186                             <goal>generate</goal>\r
187                         </goals>\r
188                         <configuration>\r
189                             <inputSpec>${project.basedir}/api/rac-api.json</inputSpec>\r
190                             <generatorName>spring</generatorName>\r
191                             <apiPackage>org.oransc.rappcatalogue.api</apiPackage>\r
192                             <modelPackage>org.oransc.rappcatalogue.model</modelPackage>\r
193                             <invokerPackage>org.oransc.rappcatalogue</invokerPackage>\r
194                             <configOptions>\r
195                                 <delegatePattern>true</delegatePattern>\r
196                                 <unhandledException>true</unhandledException>\r
197                             </configOptions>\r
198                         </configuration>\r
199                     </execution>\r
200                 </executions>\r
201             </plugin>\r
202             <plugin>\r
203                 <groupId>io.swagger.codegen.v3</groupId>\r
204                 <artifactId>swagger-codegen-maven-plugin</artifactId>\r
205                 <version>${swagger-codegen-maven-plugin.version}</version>\r
206                 <executions>\r
207                     <execution>\r
208                         <goals>\r
209                             <goal>generate</goal>\r
210                         </goals>\r
211                         <configuration>\r
212                             <inputSpec>${project.basedir}/api/rac-api.json</inputSpec>\r
213                             <language>openapi-yaml</language>\r
214                             <output>${project.basedir}/api/</output>\r
215                             <configOptions>\r
216                                 <outputFile>rac-api.yaml</outputFile>\r
217                             </configOptions>\r
218                         </configuration>\r
219                     </execution>\r
220                 </executions>\r
221             </plugin>\r
222             <plugin>\r
223                 <groupId>net.revelc.code.formatter</groupId>\r
224                 <artifactId>formatter-maven-plugin</artifactId>\r
225                 <version>${formatter-maven-plugin.version}</version>\r
226                 <configuration>\r
227                     <configFile>${project.basedir}/eclipse-formatter.xml</configFile>\r
228                 </configuration>\r
229                 <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format\r
230                     spotless:apply process-sources -->\r
231             </plugin>\r
232             <plugin>\r
233                 <groupId>com.diffplug.spotless</groupId>\r
234                 <artifactId>spotless-maven-plugin</artifactId>\r
235                 <version>${spotless-maven-plugin.version}</version>\r
236                 <configuration>\r
237                     <java>\r
238                         <removeUnusedImports />\r
239                         <importOrder>\r
240                             <order>com,java,javax,org</order>\r
241                         </importOrder>\r
242                     </java>\r
243                 </configuration>\r
244                 <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use\r
245                     mvn spotless:apply to rewrite source files use mvn spotless:check to validate\r
246                     source files -->\r
247             </plugin>\r
248             <plugin>\r
249                 <groupId>org.jacoco</groupId>\r
250                 <artifactId>jacoco-maven-plugin</artifactId>\r
251                 <version>${jacoco-maven-plugin.version}</version>\r
252                 <executions>\r
253                     <execution>\r
254                         <id>default-prepare-agent</id>\r
255                         <goals>\r
256                             <goal>prepare-agent</goal>\r
257                         </goals>\r
258                     </execution>\r
259                     <execution>\r
260                         <id>default-report</id>\r
261                         <phase>prepare-package</phase>\r
262                         <goals>\r
263                             <goal>report</goal>\r
264                         </goals>\r
265                     </execution>\r
266                 </executions>\r
267             </plugin>\r
268             <plugin>\r
269                 <groupId>io.fabric8</groupId>\r
270                 <artifactId>docker-maven-plugin</artifactId>\r
271                 <version>${docker-maven-plugin.version}</version>\r
272                 <inherited>false</inherited>\r
273                 <executions>\r
274                     <execution>\r
275                         <id>generate-r-app-catalogue-image</id>\r
276                         <phase>package</phase>\r
277                         <goals>\r
278                             <goal>build</goal>\r
279                         </goals>\r
280                         <configuration>\r
281                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
282                             <images>\r
283                                 <image>\r
284                                     <name>o-ran-sc/nonrtric-r-app-catalogue:${project.version}</name>\r
285                                     <build>\r
286                                         <cleanup>try</cleanup>\r
287                                         <contextDir>${basedir}</contextDir>\r
288                                         <dockerFile>Dockerfile</dockerFile>\r
289                                         <args>\r
290                                             <JAR>${project.build.finalName}.jar</JAR>\r
291                                         </args>\r
292                                         <tags>\r
293                                             <tag>${project.version}</tag>\r
294                                         </tags>\r
295                                     </build>\r
296                                 </image>\r
297                             </images>\r
298                         </configuration>\r
299                     </execution>\r
300                     <execution>\r
301                         <id>push-r-app-catalogue-image</id>\r
302                         <goals>\r
303                             <goal>build</goal>\r
304                             <goal>push</goal>\r
305                         </goals>\r
306                         <configuration>\r
307                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
308                             <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>\r
309                             <images>\r
310                                 <image>\r
311                                     <name>o-ran-sc/nonrtric-r-app-catalogue:${project.version}</name>\r
312                                     <build>\r
313                                         <contextDir>${basedir}</contextDir>\r
314                                         <dockerFile>Dockerfile</dockerFile>\r
315                                         <args>\r
316                                             <JAR>${project.build.finalName}.jar</JAR>\r
317                                         </args>\r
318                                         <tags>\r
319                                             <tag>${project.version}</tag>\r
320                                             <tag>latest</tag>\r
321                                         </tags>\r
322                                     </build>\r
323                                 </image>\r
324                             </images>\r
325                         </configuration>\r
326                     </execution>\r
327                 </executions>\r
328             </plugin>\r
329         </plugins>\r
330     </build>\r
331 </project>