Introduce rAPP Catalogue API
[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.0.0-SNAPSHOT</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         <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version>\r
49     </properties>\r
50 \r
51     <dependencies>\r
52         <dependency>\r
53             <groupId>io.swagger</groupId>\r
54             <artifactId>swagger-annotations</artifactId>\r
55             <version>${swagger-annotations.version}</version>\r
56         </dependency>\r
57         <dependency>\r
58             <groupId>com.fasterxml.jackson.core</groupId>\r
59             <artifactId>jackson-annotations</artifactId>\r
60         </dependency>\r
61         <dependency>\r
62             <groupId>org.springframework</groupId>\r
63             <artifactId>spring-beans</artifactId>\r
64         </dependency>\r
65         <dependency>\r
66             <groupId>org.springframework.boot</groupId>\r
67             <artifactId>spring-boot-autoconfigure</artifactId>\r
68         </dependency>\r
69         <dependency>\r
70             <groupId>org.springframework</groupId>\r
71             <artifactId>spring-web</artifactId>\r
72         </dependency>\r
73         <dependency>\r
74             <groupId>org.springframework.boot</groupId>\r
75             <artifactId>spring-boot</artifactId>\r
76         </dependency>\r
77         <dependency>\r
78             <groupId>org.springframework</groupId>\r
79             <artifactId>spring-webmvc</artifactId>\r
80         </dependency>\r
81         <dependency>\r
82             <groupId>org.springframework</groupId>\r
83             <artifactId>spring-context</artifactId>\r
84         </dependency>\r
85         <dependency>\r
86             <groupId>io.springfox</groupId>\r
87             <artifactId>springfox-swagger2</artifactId>\r
88             <version>${springfox.version}</version>\r
89         </dependency>\r
90         <dependency>\r
91             <groupId>io.springfox</groupId>\r
92             <artifactId>springfox-core</artifactId>\r
93             <version>${springfox.version}</version>\r
94         </dependency>\r
95         <dependency>\r
96             <groupId>io.springfox</groupId>\r
97             <artifactId>springfox-spring-web</artifactId>\r
98             <version>${springfox.version}</version>\r
99         </dependency>\r
100         <dependency>\r
101             <groupId>io.springfox</groupId>\r
102             <artifactId>springfox-spi</artifactId>\r
103             <version>${springfox.version}</version>\r
104         </dependency>\r
105         <dependency>\r
106             <groupId>org.assertj</groupId>\r
107             <artifactId>assertj-core</artifactId>\r
108         </dependency>\r
109         <dependency>\r
110             <groupId>org.apache.tomcat.embed</groupId>\r
111             <artifactId>tomcat-embed-core</artifactId>\r
112         </dependency>\r
113         <dependency>\r
114             <groupId>org.openapitools</groupId>\r
115             <artifactId>jackson-databind-nullable</artifactId>\r
116             <version>${jackson-databind-nullable.version}</version>\r
117         </dependency>\r
118         <dependency>\r
119             <groupId>javax.validation</groupId>\r
120             <artifactId>validation-api</artifactId>\r
121         </dependency>\r
122         <dependency>\r
123             <groupId>com.fasterxml.jackson.core</groupId>\r
124             <artifactId>jackson-databind</artifactId>\r
125         </dependency>\r
126         <dependency>\r
127             <groupId>org.yaml</groupId>\r
128             <artifactId>snakeyaml</artifactId>\r
129             <scope>runtime</scope>\r
130         </dependency>\r
131         <!-- TEST -->\r
132         <dependency>\r
133             <groupId>org.springframework</groupId>\r
134             <artifactId>spring-test</artifactId>\r
135             <scope>test</scope>\r
136         </dependency>\r
137         <dependency>\r
138             <groupId>org.junit.jupiter</groupId>\r
139             <artifactId>junit-jupiter-api</artifactId>\r
140             <scope>test</scope>\r
141         </dependency>\r
142     </dependencies>\r
143 \r
144     <build>\r
145         <plugins>\r
146             <plugin>\r
147                 <groupId>org.openapitools</groupId>\r
148                 <artifactId>openapi-generator-maven-plugin</artifactId>\r
149                 <version>${openapi-generator-maven-plugin.version}</version>\r
150                 <executions>\r
151                     <execution>\r
152                         <goals>\r
153                             <goal>generate</goal>\r
154                         </goals>\r
155                         <configuration>\r
156                             <inputSpec>${project.basedir}/api/rac-api.json</inputSpec>\r
157                             <generatorName>spring</generatorName>\r
158                             <apiPackage>org.oransc.rappcatalogue.api</apiPackage>\r
159                             <modelPackage>org.oransc.rappcatalogue.model</modelPackage>\r
160                             <configOptions>\r
161                                 <delegatePattern>true</delegatePattern>\r
162                             </configOptions>\r
163                         </configuration>\r
164                     </execution>\r
165                 </executions>\r
166             </plugin>\r
167             <plugin>\r
168                 <groupId>io.swagger.codegen.v3</groupId>\r
169                 <artifactId>swagger-codegen-maven-plugin</artifactId>\r
170                 <version>${swagger-codegen-maven-plugin.version}</version>\r
171                 <executions>\r
172                     <execution>\r
173                         <goals>\r
174                             <goal>generate</goal>\r
175                         </goals>\r
176                         <configuration>\r
177                             <inputSpec>${project.basedir}/api/rac-api.json</inputSpec>\r
178                             <language>openapi-yaml</language>\r
179                             <output>${project.basedir}/api/</output>\r
180                             <configOptions>\r
181                                 <outputFile>rac-api.yaml</outputFile>\r
182                             </configOptions>\r
183                         </configuration>\r
184                     </execution>\r
185                 </executions>\r
186             </plugin>\r
187             <plugin>\r
188                 <groupId>io.fabric8</groupId>\r
189                 <artifactId>docker-maven-plugin</artifactId>\r
190                 <version>${docker-maven-plugin.version}</version>\r
191                 <inherited>false</inherited>\r
192                 <executions>\r
193                     <execution>\r
194                         <id>generate-r-app-catalogue-image</id>\r
195                         <phase>package</phase>\r
196                         <goals>\r
197                             <goal>build</goal>\r
198                         </goals>\r
199                         <configuration>\r
200                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
201                             <images>\r
202                                 <image>\r
203                                     <name>o-ran-sc/nonrtric-r-app-catalogue:${project.version}</name>\r
204                                     <build>\r
205                                         <cleanup>try</cleanup>\r
206                                         <contextDir>${basedir}</contextDir>\r
207                                         <dockerFile>Dockerfile</dockerFile>\r
208                                         <args>\r
209                                             <JAR>${project.build.finalName}.jar</JAR>\r
210                                         </args>\r
211                                         <tags>\r
212                                             <tag>${project.version}</tag>\r
213                                         </tags>\r
214                                     </build>\r
215                                 </image>\r
216                             </images>\r
217                         </configuration>\r
218                     </execution>\r
219                     <execution>\r
220                         <id>push-r-app-catalogue-image</id>\r
221                         <goals>\r
222                             <goal>build</goal>\r
223                             <goal>push</goal>\r
224                         </goals>\r
225                         <configuration>\r
226                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
227                             <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>\r
228                             <images>\r
229                                 <image>\r
230                                     <name>o-ran-sc/nonrtric-r-app-catalogue:${project.version}</name>\r
231                                     <build>\r
232                                         <contextDir>${basedir}</contextDir>\r
233                                         <dockerFile>Dockerfile</dockerFile>\r
234                                         <args>\r
235                                             <JAR>${project.build.finalName}.jar</JAR>\r
236                                         </args>\r
237                                         <tags>\r
238                                             <tag>${project.version}</tag>\r
239                                             <tag>latest</tag>\r
240                                         </tags>\r
241                                     </build>\r
242                                 </image>\r
243                             </images>\r
244                         </configuration>\r
245                     </execution>\r
246                 </executions>\r
247             </plugin>\r
248         </plugins>\r
249     </build>\r
250 </project>