Merge "Add functionality to rAPP Catalogue"
[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         <dependency>\r
143             <groupId>org.mockito</groupId>\r
144             <artifactId>mockito-junit-jupiter</artifactId>\r
145             <scope>test</scope>\r
146         </dependency>\r
147         <dependency>\r
148             <groupId>org.mockito</groupId>\r
149             <artifactId>mockito-core</artifactId>\r
150             <scope>test</scope>\r
151         </dependency>\r
152         <dependency>\r
153             <groupId>org.junit.jupiter</groupId>\r
154             <artifactId>junit-jupiter-engine</artifactId>\r
155             <scope>test</scope>\r
156         </dependency>\r
157     </dependencies>\r
158 \r
159     <build>\r
160         <plugins>\r
161             <plugin>\r
162                 <groupId>org.openapitools</groupId>\r
163                 <artifactId>openapi-generator-maven-plugin</artifactId>\r
164                 <version>${openapi-generator-maven-plugin.version}</version>\r
165                 <executions>\r
166                     <execution>\r
167                         <goals>\r
168                             <goal>generate</goal>\r
169                         </goals>\r
170                         <configuration>\r
171                             <inputSpec>${project.basedir}/api/rac-api.json</inputSpec>\r
172                             <generatorName>spring</generatorName>\r
173                             <apiPackage>org.oransc.rappcatalogue.api</apiPackage>\r
174                             <modelPackage>org.oransc.rappcatalogue.model</modelPackage>\r
175                             <configOptions>\r
176                                 <delegatePattern>true</delegatePattern>\r
177                             </configOptions>\r
178                         </configuration>\r
179                     </execution>\r
180                 </executions>\r
181             </plugin>\r
182             <plugin>\r
183                 <groupId>io.swagger.codegen.v3</groupId>\r
184                 <artifactId>swagger-codegen-maven-plugin</artifactId>\r
185                 <version>${swagger-codegen-maven-plugin.version}</version>\r
186                 <executions>\r
187                     <execution>\r
188                         <goals>\r
189                             <goal>generate</goal>\r
190                         </goals>\r
191                         <configuration>\r
192                             <inputSpec>${project.basedir}/api/rac-api.json</inputSpec>\r
193                             <language>openapi-yaml</language>\r
194                             <output>${project.basedir}/api/</output>\r
195                             <configOptions>\r
196                                 <outputFile>rac-api.yaml</outputFile>\r
197                             </configOptions>\r
198                         </configuration>\r
199                     </execution>\r
200                 </executions>\r
201             </plugin>\r
202             <plugin>\r
203                 <groupId>io.fabric8</groupId>\r
204                 <artifactId>docker-maven-plugin</artifactId>\r
205                 <version>${docker-maven-plugin.version}</version>\r
206                 <inherited>false</inherited>\r
207                 <executions>\r
208                     <execution>\r
209                         <id>generate-r-app-catalogue-image</id>\r
210                         <phase>package</phase>\r
211                         <goals>\r
212                             <goal>build</goal>\r
213                         </goals>\r
214                         <configuration>\r
215                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
216                             <images>\r
217                                 <image>\r
218                                     <name>o-ran-sc/nonrtric-r-app-catalogue:${project.version}</name>\r
219                                     <build>\r
220                                         <cleanup>try</cleanup>\r
221                                         <contextDir>${basedir}</contextDir>\r
222                                         <dockerFile>Dockerfile</dockerFile>\r
223                                         <args>\r
224                                             <JAR>${project.build.finalName}.jar</JAR>\r
225                                         </args>\r
226                                         <tags>\r
227                                             <tag>${project.version}</tag>\r
228                                         </tags>\r
229                                     </build>\r
230                                 </image>\r
231                             </images>\r
232                         </configuration>\r
233                     </execution>\r
234                     <execution>\r
235                         <id>push-r-app-catalogue-image</id>\r
236                         <goals>\r
237                             <goal>build</goal>\r
238                             <goal>push</goal>\r
239                         </goals>\r
240                         <configuration>\r
241                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>\r
242                             <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>\r
243                             <images>\r
244                                 <image>\r
245                                     <name>o-ran-sc/nonrtric-r-app-catalogue:${project.version}</name>\r
246                                     <build>\r
247                                         <contextDir>${basedir}</contextDir>\r
248                                         <dockerFile>Dockerfile</dockerFile>\r
249                                         <args>\r
250                                             <JAR>${project.build.finalName}.jar</JAR>\r
251                                         </args>\r
252                                         <tags>\r
253                                             <tag>${project.version}</tag>\r
254                                             <tag>latest</tag>\r
255                                         </tags>\r
256                                     </build>\r
257                                 </image>\r
258                             </images>\r
259                         </configuration>\r
260                     </execution>\r
261                 </executions>\r
262             </plugin>\r
263         </plugins>\r
264     </build>\r
265 </project>