Enable Sonar & Improve Test coverage of DFC
[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
5   ~ ================================================================================
6   ~ Licensed under the Apache License, Version 2.0 (the "License");
7   ~ you may not use this file except in compliance with the License.
8   ~ You may obtain a copy of the License at
9   ~
10   ~ http://www.apache.org/licenses/LICENSE-2.0
11   ~
12   ~ Unless required by applicable law or agreed to in writing, software
13   ~ distributed under the License is distributed on an "AS IS" BASIS,
14   ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   ~ See the License for the specific language governing permissions and
16   ~ limitations under the License.
17   ~ ============LICENSE_END=========================================================
18   -->
19 <project xmlns="http://maven.apache.org/POM/4.0.0"
20     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
21     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
22     <modelVersion>4.0.0</modelVersion>
23     <parent>
24         <groupId>org.springframework.boot</groupId>
25         <artifactId>spring-boot-starter-parent</artifactId>
26         <version>3.0.4</version>
27     </parent>
28     <groupId>org.o-ran-sc.nonrtric.plt.ranpm</groupId>
29     <artifactId>datafile-app-server</artifactId>
30     <version>1.1.0-SNAPSHOT</version>
31     <packaging>jar</packaging>
32     <properties>
33         <java.version>17</java.version>
34         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
35         <gson.version>2.9.1</gson.version>
36         <docker-maven-plugin>0.30.0</docker-maven-plugin>
37         <jacoco-maven-plugin.version>0.8.8</jacoco-maven-plugin.version>
38         <springdoc.version>2.0.2</springdoc.version>
39         <springdoc.openapi-ui.version>1.6.14</springdoc.openapi-ui.version>
40         <exec.skip>true</exec.skip>
41         <sonar-maven-plugin.version>3.7.0.1746</sonar-maven-plugin.version>
42     </properties>
43     <dependencies>
44         <dependency>
45             <groupId>org.springdoc</groupId>
46             <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
47             <version>${springdoc.version}</version>
48         </dependency>
49         <dependency>
50             <groupId>org.springdoc</groupId>
51             <artifactId>springdoc-openapi-ui</artifactId>
52             <version>${springdoc.openapi-ui.version}</version>
53         </dependency>
54         <dependency>
55             <groupId>com.google.code.gson</groupId>
56             <artifactId>gson</artifactId>
57             <version>${gson.version}</version>
58         </dependency>
59         <dependency>
60             <groupId>io.projectreactor.kafka</groupId>
61             <artifactId>reactor-kafka</artifactId>
62             <version>1.3.9</version>
63         </dependency>
64         <dependency>
65             <groupId>org.projectlombok</groupId>
66             <artifactId>lombok</artifactId>
67         </dependency>
68         <dependency>
69             <groupId>org.awaitility</groupId>
70             <artifactId>awaitility</artifactId>
71             <scope>test</scope>
72         </dependency>
73         <dependency>
74             <groupId>org.apache.httpcomponents</groupId>
75             <artifactId>httpasyncclient</artifactId>
76         </dependency>
77         <dependency>
78             <groupId>org.springframework.boot</groupId>
79             <artifactId>spring-boot-configuration-processor</artifactId>
80             <optional>true</optional>
81         </dependency>
82         <dependency>
83             <groupId>org.springframework.boot</groupId>
84             <artifactId>spring-boot</artifactId>
85         </dependency>
86         <dependency>
87             <groupId>org.springframework</groupId>
88             <artifactId>spring-web</artifactId>
89         </dependency>
90         <dependency>
91             <groupId>org.springframework</groupId>
92             <artifactId>spring-webmvc</artifactId>
93         </dependency>
94         <dependency>
95             <groupId>org.springframework</groupId>
96             <artifactId>spring-webflux</artifactId>
97         </dependency>
98         <dependency>
99             <groupId>org.springframework.boot</groupId>
100             <artifactId>spring-boot-autoconfigure</artifactId>
101         </dependency>
102         <dependency>
103             <groupId>org.apache.httpcomponents.core5</groupId>
104             <artifactId>httpcore5</artifactId>
105         </dependency>
106         <!-- Actuator dependencies -->
107         <dependency>
108             <groupId>org.springframework.boot</groupId>
109             <artifactId>spring-boot-starter-actuator</artifactId>
110         </dependency>
111         <dependency>
112             <groupId>software.amazon.awssdk</groupId>
113             <artifactId>s3</artifactId>
114             <version>2.17.292</version>
115         </dependency>
116         <!--TESTS
117         DEPENDENCIES -->
118         <dependency>
119             <groupId>io.projectreactor</groupId>
120             <artifactId>reactor-test</artifactId>
121             <scope>test</scope>
122         </dependency>
123         <dependency>
124             <groupId>org.junit.jupiter</groupId>
125             <artifactId>junit-jupiter-engine</artifactId>
126             <scope>test</scope>
127         </dependency>
128         <dependency>
129             <groupId>org.springframework.boot</groupId>
130             <artifactId>spring-boot-starter-test</artifactId>
131             <scope>test</scope>
132         </dependency>
133         <dependency>
134             <groupId>org.mockito</groupId>
135             <artifactId>mockito-junit-jupiter</artifactId>
136             <scope>test</scope>
137         </dependency>
138         <dependency>
139             <groupId>commons-net</groupId>
140             <artifactId>commons-net</artifactId>
141             <version>3.9.0</version>
142         </dependency>
143         <dependency>
144             <groupId>com.jcraft</groupId>
145             <artifactId>jsch</artifactId>
146             <version>0.1.55</version>
147         </dependency>
148         <dependency>
149             <groupId>io.projectreactor.netty</groupId>
150             <artifactId>reactor-netty</artifactId>
151             <version>1.0.22</version>
152         </dependency>
153     </dependencies>
154     <build>
155         <plugins>
156             <plugin>
157                 <groupId>org.springframework.boot</groupId>
158                 <artifactId>spring-boot-maven-plugin</artifactId>
159                 <configuration>
160                     <finalName>${project.artifactId}</finalName>
161                     <mainClass>org.oran.datafile.MainApp</mainClass>
162                 </configuration>
163                 <executions>
164                     <execution>
165                         <goals>
166                             <goal>build-info</goal>
167                         </goals>
168                     </execution>
169                 </executions>
170             </plugin>
171             <plugin>
172                 <groupId>io.fabric8</groupId>
173                 <artifactId>docker-maven-plugin</artifactId>
174                 <version>${docker-maven-plugin}</version>
175                 <inherited>false</inherited>
176                 <executions>
177                     <execution>
178                         <id>generate-image</id>
179                         <phase>package</phase>
180                         <goals>
181                             <goal>build</goal>
182                         </goals>
183                         <configuration>
184                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
185                             <images>
186                                 <image>
187                                     <name>
188                                         o-ran-sc/nonrtric-plt-ranpm-datafilecollector:${project.version}</name>
189                                     <build>
190                                         <cleanup>try</cleanup>
191                                         <contextDir>${basedir}</contextDir>
192                                         <dockerFile>Dockerfile</dockerFile>
193                                         <args>
194                                             <JAR>${project.build.finalName}.jar</JAR>
195                                         </args>
196                                         <tags>
197                                             <tag>${project.version}</tag>
198                                         </tags>
199                                     </build>
200                                 </image>
201                             </images>
202                         </configuration>
203                     </execution>
204                     <execution>
205                         <id>push-image</id>
206                         <goals>
207                             <goal>build</goal>
208                             <goal>push</goal>
209                         </goals>
210                         <configuration>
211                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
212                             <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
213                             <images>
214                                 <image>
215                                     <name>
216                                         o-ran-sc/nonrtric-plt-ranpm-datafilecollector:${project.version}</name>
217                                     <build>
218                                         <contextDir>${basedir}</contextDir>
219                                         <dockerFile>Dockerfile</dockerFile>
220                                         <args>
221                                             <JAR>${project.build.finalName}.jar</JAR>
222                                         </args>
223                                         <tags>
224                                             <tag>${project.version}</tag>
225                                             <tag>latest</tag>
226                                         </tags>
227                                     </build>
228                                 </image>
229                             </images>
230                         </configuration>
231                     </execution>
232                 </executions>
233             </plugin>
234             <plugin>
235                 <groupId>com.diffplug.spotless</groupId>
236                 <artifactId>spotless-maven-plugin</artifactId>
237                 <version>1.18.0</version>
238                 <configuration>
239                     <java>
240                         <removeUnusedImports />
241                         <importOrder>
242                             <order>com,java,javax,org</order>
243                         </importOrder>
244                     </java>
245                 </configuration>
246                 <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use
247                             mvn spotless:apply to rewrite source files use mvn spotless:check to validate
248                             source files -->
249             </plugin>
250             <plugin>
251                 <groupId>net.revelc.code.formatter</groupId>
252                 <artifactId>formatter-maven-plugin</artifactId>
253                 <version>2.8.1</version>
254                 <configuration>
255                     <configFile>${project.basedir}/onap-java-formatter.xml</configFile>
256                 </configuration>
257                 <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format
258                           to rewrite source files use mvn formatter:validate to validate source files -->
259             </plugin>
260             <plugin>
261                 <groupId>org.jacoco</groupId>
262                 <artifactId>jacoco-maven-plugin</artifactId>
263                 <version>${jacoco-maven-plugin.version}</version>
264                 <executions>
265                     <execution>
266                         <id>default-prepare-agent</id>
267                         <goals>
268                             <goal>prepare-agent</goal>
269                         </goals>
270                     </execution>
271                     <execution>
272                         <id>default-report</id>
273                         <phase>prepare-package</phase>
274                         <goals>
275                             <goal>report</goal>
276                         </goals>
277                     </execution>
278                 </executions>
279             </plugin>
280             <plugin>
281                 <groupId>org.sonarsource.scanner.maven</groupId>
282                 <artifactId>sonar-maven-plugin</artifactId>
283                 <version>${sonar-maven-plugin.version}</version>
284             </plugin>
285         </plugins>
286     </build>
287 </project>