Update to Springboot & other 3PPs
[nonrtric/plt/ranpm.git] / datafilecollector / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ~ ============LICENSE_START=======================================================
4   ~ Copyright (C) 2023 Nordix Foundation. All rights reserved.
5   ~ Copyright (C) 2023 OpenInfra Foundation Europe. All rights reserved.
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   ~ ============LICENSE_END=========================================================
19   -->
20 <project xmlns="http://maven.apache.org/POM/4.0.0"
21     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
22     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
23     <modelVersion>4.0.0</modelVersion>
24     <parent>
25         <groupId>org.springframework.boot</groupId>
26         <artifactId>spring-boot-starter-parent</artifactId>
27         <version>3.2.0</version>
28     </parent>
29     <groupId>org.o-ran-sc.nonrtric.plt.ranpm</groupId>
30     <artifactId>datafile-collector</artifactId>
31     <version>1.1.0-SNAPSHOT</version>
32     <packaging>jar</packaging>
33     <name>NONRTRIC RAN PM Data File Collector</name>
34     <description>File Collector for collecting RAN PM files from RAN functions (O-RAN SC NONRTRIC)</description>
35     <properties>
36         <java.version>17</java.version>
37         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
38         <gson.version>2.9.1</gson.version>
39         <mockito.version>4.8.1</mockito.version>
40         <docker-maven-plugin>0.30.0</docker-maven-plugin>
41         <jacoco-maven-plugin.version>0.8.10</jacoco-maven-plugin.version>
42         <springdoc.version>2.0.2</springdoc.version>
43         <springdoc.openapi-ui.version>1.6.14</springdoc.openapi-ui.version>
44         <exec.skip>true</exec.skip>
45
46         <sonar-maven-plugin.version>3.7.0.1746</sonar-maven-plugin.version>
47
48     </properties>
49     <dependencies>
50         <dependency>
51             <groupId>org.springdoc</groupId>
52             <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
53             <version>${springdoc.version}</version>
54         </dependency>
55         <dependency>
56             <groupId>org.springdoc</groupId>
57             <artifactId>springdoc-openapi-ui</artifactId>
58             <version>${springdoc.openapi-ui.version}</version>
59         </dependency>
60         <dependency>
61             <groupId>com.google.code.gson</groupId>
62             <artifactId>gson</artifactId>
63             <version>${gson.version}</version>
64         </dependency>
65         <dependency>
66             <groupId>io.projectreactor.kafka</groupId>
67             <artifactId>reactor-kafka</artifactId>
68             <version>1.3.9</version>
69         </dependency>
70         <dependency>
71             <groupId>org.projectlombok</groupId>
72             <artifactId>lombok</artifactId>
73         </dependency>
74         <dependency>
75             <groupId>org.awaitility</groupId>
76             <artifactId>awaitility</artifactId>
77             <scope>test</scope>
78         </dependency>
79         <dependency>
80             <groupId>org.apache.httpcomponents</groupId>
81             <artifactId>httpasyncclient</artifactId>
82         </dependency>
83         <dependency>
84             <groupId>org.springframework.boot</groupId>
85             <artifactId>spring-boot-configuration-processor</artifactId>
86             <optional>true</optional>
87         </dependency>
88         <dependency>
89             <groupId>org.springframework.boot</groupId>
90             <artifactId>spring-boot</artifactId>
91         </dependency>
92         <dependency>
93             <groupId>org.springframework</groupId>
94             <artifactId>spring-web</artifactId>
95         </dependency>
96         <dependency>
97             <groupId>org.springframework</groupId>
98             <artifactId>spring-webmvc</artifactId>
99         </dependency>
100         <dependency>
101             <groupId>org.springframework</groupId>
102             <artifactId>spring-webflux</artifactId>
103         </dependency>
104         <dependency>
105             <groupId>org.springframework.boot</groupId>
106             <artifactId>spring-boot-autoconfigure</artifactId>
107         </dependency>
108         <dependency>
109             <groupId>org.apache.httpcomponents.core5</groupId>
110             <artifactId>httpcore5</artifactId>
111         </dependency>
112         <!-- Actuator dependencies -->
113         <dependency>
114             <groupId>org.springframework.boot</groupId>
115             <artifactId>spring-boot-starter-actuator</artifactId>
116         </dependency>
117         <dependency>
118             <groupId>software.amazon.awssdk</groupId>
119             <artifactId>s3</artifactId>
120             <version>2.17.292</version>
121         </dependency>
122         <!--TESTS
123         DEPENDENCIES -->
124         <dependency>
125             <groupId>io.projectreactor</groupId>
126             <artifactId>reactor-test</artifactId>
127             <scope>test</scope>
128         </dependency>
129         <dependency>
130             <groupId>org.junit.jupiter</groupId>
131             <artifactId>junit-jupiter-engine</artifactId>
132             <scope>test</scope>
133         </dependency>
134         <dependency>
135             <groupId>org.springframework.boot</groupId>
136             <artifactId>spring-boot-starter-test</artifactId>
137             <scope>test</scope>
138         </dependency>
139         <dependency>
140             <groupId>org.mockito</groupId>
141             <artifactId>mockito-junit-jupiter</artifactId>
142             <version>${mockito.version}</version>
143             <scope>test</scope>
144         </dependency>
145         <dependency>
146             <groupId>org.mockito</groupId>
147             <artifactId>mockito-inline</artifactId>
148             <version>${mockito.version}</version>
149             <scope>test</scope>
150         </dependency>
151         <dependency>
152             <groupId>commons-net</groupId>
153             <artifactId>commons-net</artifactId>
154             <version>3.9.0</version>
155         </dependency>
156         <dependency>
157             <groupId>com.jcraft</groupId>
158             <artifactId>jsch</artifactId>
159             <version>0.1.55</version>
160         </dependency>
161         <dependency>
162             <groupId>io.projectreactor.netty</groupId>
163             <artifactId>reactor-netty</artifactId>
164             <version>1.0.22</version>
165         </dependency>
166     </dependencies>
167     <build>
168         <plugins>
169             <plugin>
170                 <groupId>org.springframework.boot</groupId>
171                 <artifactId>spring-boot-maven-plugin</artifactId>
172                 <configuration>
173                     <finalName>${project.artifactId}</finalName>
174                     <mainClass>org.oran.datafile.MainApp</mainClass>
175                 </configuration>
176                 <executions>
177                     <execution>
178                         <goals>
179                             <goal>build-info</goal>
180                         </goals>
181                     </execution>
182                 </executions>
183             </plugin>
184             <plugin>
185                 <groupId>io.fabric8</groupId>
186                 <artifactId>docker-maven-plugin</artifactId>
187                 <version>${docker-maven-plugin}</version>
188                 <inherited>false</inherited>
189                 <executions>
190                     <execution>
191                         <id>generate-image</id>
192                         <phase>package</phase>
193                         <goals>
194                             <goal>build</goal>
195                         </goals>
196                         <configuration>
197                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
198                             <images>
199                                 <image>
200                                     <name>
201                                         o-ran-sc/nonrtric-plt-ranpm-datafilecollector:${project.version}</name>
202                                     <build>
203                                         <cleanup>try</cleanup>
204                                         <contextDir>${basedir}</contextDir>
205                                         <dockerFile>Dockerfile</dockerFile>
206                                         <args>
207                                             <JAR>${project.build.finalName}.jar</JAR>
208                                         </args>
209                                         <tags>
210                                             <tag>${project.version}</tag>
211                                         </tags>
212                                     </build>
213                                 </image>
214                             </images>
215                         </configuration>
216                     </execution>
217                     <execution>
218                         <id>push-image</id>
219                         <goals>
220                             <goal>build</goal>
221                             <goal>push</goal>
222                         </goals>
223                         <configuration>
224                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
225                             <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
226                             <images>
227                                 <image>
228                                     <name>
229                                         o-ran-sc/nonrtric-plt-ranpm-datafilecollector:${project.version}</name>
230                                     <build>
231                                         <contextDir>${basedir}</contextDir>
232                                         <dockerFile>Dockerfile</dockerFile>
233                                         <args>
234                                             <JAR>${project.build.finalName}.jar</JAR>
235                                         </args>
236                                         <tags>
237                                             <tag>${project.version}</tag>
238                                             <tag>latest</tag>
239                                         </tags>
240                                     </build>
241                                 </image>
242                             </images>
243                         </configuration>
244                     </execution>
245                 </executions>
246             </plugin>
247             <plugin>
248                 <groupId>com.diffplug.spotless</groupId>
249                 <artifactId>spotless-maven-plugin</artifactId>
250                 <version>1.18.0</version>
251                 <configuration>
252                     <java>
253                         <removeUnusedImports />
254                         <importOrder>
255                             <order>com,java,javax,org</order>
256                         </importOrder>
257                     </java>
258                 </configuration>
259                 <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use
260                             mvn spotless:apply to rewrite source files use mvn spotless:check to validate
261                             source files -->
262             </plugin>
263             <plugin>
264                 <groupId>net.revelc.code.formatter</groupId>
265                 <artifactId>formatter-maven-plugin</artifactId>
266                 <version>2.8.1</version>
267                 <configuration>
268                     <configFile>${project.basedir}/onap-java-formatter.xml</configFile>
269                 </configuration>
270                 <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format
271                           to rewrite source files use mvn formatter:validate to validate source files -->
272             </plugin>
273             <plugin>
274                 <groupId>org.jacoco</groupId>
275                 <artifactId>jacoco-maven-plugin</artifactId>
276                 <version>${jacoco-maven-plugin.version}</version>
277                 <executions>
278                     <execution>
279                         <id>default-prepare-agent</id>
280                         <goals>
281                             <goal>prepare-agent</goal>
282                         </goals>
283                     </execution>
284                     <execution>
285                         <id>default-report</id>
286                         <phase>prepare-package</phase>
287                         <goals>
288                             <goal>report</goal>
289                         </goals>
290                     </execution>
291                 </executions>
292             </plugin>
293             <plugin>
294                 <groupId>org.sonarsource.scanner.maven</groupId>
295                 <artifactId>sonar-maven-plugin</artifactId>
296                 <version>${sonar-maven-plugin.version}</version>
297             </plugin>
298         </plugins>
299     </build>
300 </project>