Merge "Creating datafile"
[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     <packaging>jar</packaging>
31     <properties>
32         <java.version>17</java.version>
33         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss</maven.build.timestamp.format>
34         <docker-client.version>8.7.1</docker-client.version>
35         <springfox.version>3.0.0</springfox.version>
36         <gson.version>2.9.0</gson.version>
37         <docker-maven-plugin>0.30.0</docker-maven-plugin>
38         <jacoco-maven-plugin.version>0.8.8</jacoco-maven-plugin.version>
39     </properties>
40     <dependencies>
41         <dependency>
42             <groupId>com.google.code.gson</groupId>
43             <artifactId>gson</artifactId>
44             <version>2.9.1</version>
45         </dependency>
46         <dependency>
47             <groupId>io.projectreactor.kafka</groupId>
48             <artifactId>reactor-kafka</artifactId>
49             <version>1.3.9</version>
50         </dependency>
51         <dependency>
52             <groupId>org.projectlombok</groupId>
53             <artifactId>lombok</artifactId>
54         </dependency>
55         <dependency>
56             <groupId>org.awaitility</groupId>
57             <artifactId>awaitility</artifactId>
58             <scope>test</scope>
59         </dependency>
60         <dependency>
61             <groupId>org.apache.httpcomponents</groupId>
62             <artifactId>httpasyncclient</artifactId>
63         </dependency>
64         <dependency>
65             <groupId>org.springframework.boot</groupId>
66             <artifactId>spring-boot-configuration-processor</artifactId>
67             <optional>true</optional>
68         </dependency>
69         <dependency>
70             <groupId>org.springframework.boot</groupId>
71             <artifactId>spring-boot</artifactId>
72         </dependency>
73         <dependency>
74             <groupId>org.springframework</groupId>
75             <artifactId>spring-web</artifactId>
76         </dependency>
77         <dependency>
78             <groupId>org.springframework</groupId>
79             <artifactId>spring-webmvc</artifactId>
80         </dependency>
81         <dependency>
82             <groupId>com.spotify</groupId>
83             <artifactId>docker-client</artifactId>
84             <version>${docker-client.version}</version>
85         </dependency>
86         <dependency>
87             <groupId>org.springframework</groupId>
88             <artifactId>spring-webflux</artifactId>
89         </dependency>
90         <dependency>
91             <groupId>org.springframework.boot</groupId>
92             <artifactId>spring-boot-autoconfigure</artifactId>
93         </dependency>
94         <dependency>
95             <groupId>org.apache.httpcomponents.core5</groupId>
96             <artifactId>httpcore5</artifactId>
97         </dependency>
98         <!-- Actuator dependencies -->
99         <dependency>
100             <groupId>org.springframework.boot</groupId>
101             <artifactId>spring-boot-starter-actuator</artifactId>
102         </dependency>
103         <dependency>
104             <groupId>software.amazon.awssdk</groupId>
105             <artifactId>s3</artifactId>
106             <version>2.17.292</version>
107         </dependency>
108         <!--TESTS
109         DEPENDENCIES -->
110         <dependency>
111             <groupId>io.projectreactor</groupId>
112             <artifactId>reactor-test</artifactId>
113             <scope>test</scope>
114         </dependency>
115         <dependency>
116             <groupId>org.junit.jupiter</groupId>
117             <artifactId>junit-jupiter-engine</artifactId>
118             <scope>test</scope>
119         </dependency>
120         <dependency>
121             <groupId>org.springframework.boot</groupId>
122             <artifactId>spring-boot-starter-test</artifactId>
123             <scope>test</scope>
124         </dependency>
125         <dependency>
126             <groupId>org.junit.vintage</groupId>
127             <artifactId>junit-vintage-engine</artifactId>
128             <version>5.7.0</version>
129             <scope>test</scope>
130         </dependency>
131         <dependency>
132             <groupId>org.mockito</groupId>
133             <artifactId>mockito-junit-jupiter</artifactId>
134             <scope>test</scope>
135         </dependency>
136         <!--REQUIRED
137         TO GENERATE DOCUMENTATION -->
138         <dependency>
139             <groupId>io.springfox</groupId>
140             <artifactId>springfox-spring-web</artifactId>
141             <version>${springfox.version}</version>
142         </dependency>
143         <dependency>
144             <groupId>io.springfox</groupId>
145             <artifactId>springfox-spi</artifactId>
146             <version>${springfox.version}</version>
147         </dependency>
148         <dependency>
149             <groupId>io.springfox</groupId>
150             <artifactId>springfox-core</artifactId>
151             <version>${springfox.version}</version>
152         </dependency>
153         <dependency>
154             <groupId>org.springdoc</groupId>
155             <artifactId>springdoc-openapi-ui</artifactId>
156             <version>1.6.3</version>
157             <scope>test</scope>
158         </dependency>
159         <dependency>
160             <groupId>io.springfox</groupId>
161             <artifactId>springfox-swagger2</artifactId>
162             <version>${springfox.version}</version>
163         </dependency>
164         <dependency>
165             <groupId>io.springfox</groupId>
166             <artifactId>springfox-swagger-ui</artifactId>
167             <version>${springfox.version}</version>
168         </dependency>
169         <dependency>
170             <groupId>commons-net</groupId>
171             <artifactId>commons-net</artifactId>
172             <version>3.6</version>
173         </dependency>
174         <dependency>
175             <groupId>com.jcraft</groupId>
176             <artifactId>jsch</artifactId>
177             <version>0.1.55</version>
178         </dependency>
179         <dependency>
180             <groupId>io.projectreactor.netty</groupId>
181             <artifactId>reactor-netty</artifactId>
182             <version>1.0.22</version>
183         </dependency>
184     </dependencies>
185     <build>
186         <plugins>
187             <plugin>
188                 <groupId>org.springframework.boot</groupId>
189                 <artifactId>spring-boot-maven-plugin</artifactId>
190                 <configuration>
191                     <finalName>${project.artifactId}</finalName>
192                     <mainClass>org.onap.dcaegen2.collectors.datafile.MainApp</mainClass>
193                 </configuration>
194                 <executions>
195                     <execution>
196                         <goals>
197                             <goal>build-info</goal>
198                         </goals>
199                     </execution>
200                 </executions>
201             </plugin>
202             <plugin>
203                 <groupId>io.fabric8</groupId>
204                 <artifactId>docker-maven-plugin</artifactId>
205                 <version>${docker-maven-plugin}</version>
206                 <inherited>false</inherited>
207                 <executions>
208                     <execution>
209                         <id>generate-image</id>
210                         <phase>package</phase>
211                         <goals>
212                             <goal>build</goal>
213                         </goals>
214                         <configuration>
215                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
216                             <images>
217                                 <image>
218                                     <name>
219                                         o-ran-sc/nonrtric-plt-ranpm-datafilecollector:${project.version}</name>
220                                     <build>
221                                         <cleanup>try</cleanup>
222                                         <contextDir>${basedir}</contextDir>
223                                         <dockerFile>Dockerfile</dockerFile>
224                                         <args>
225                                             <JAR>${project.build.finalName}.jar</JAR>
226                                         </args>
227                                         <tags>
228                                             <tag>${project.version}</tag>
229                                         </tags>
230                                     </build>
231                                 </image>
232                             </images>
233                         </configuration>
234                     </execution>
235                     <execution>
236                         <id>push-image</id>
237                         <goals>
238                             <goal>build</goal>
239                             <goal>push</goal>
240                         </goals>
241                         <configuration>
242                             <pullRegistry>${env.CONTAINER_PULL_REGISTRY}</pullRegistry>
243                             <pushRegistry>${env.CONTAINER_PUSH_REGISTRY}</pushRegistry>
244                             <images>
245                                 <image>
246                                     <name>
247                                         o-ran-sc/nonrtric-plt-ranpm-datafilecollector:${project.version}</name>
248                                     <build>
249                                         <contextDir>${basedir}</contextDir>
250                                         <dockerFile>Dockerfile</dockerFile>
251                                         <args>
252                                             <JAR>${project.build.finalName}.jar</JAR>
253                                         </args>
254                                         <tags>
255                                             <tag>${project.version}</tag>
256                                             <tag>latest</tag>
257                                         </tags>
258                                     </build>
259                                 </image>
260                             </images>
261                         </configuration>
262                     </execution>
263                 </executions>
264             </plugin>
265             <plugin>
266                 <groupId>pl.project13.maven</groupId>
267                 <artifactId>git-commit-id-plugin</artifactId>
268                 <executions>
269                     <execution>
270                         <id>get-the-git-infos</id>
271                         <goals>
272                             <goal>revision</goal>
273                         </goals>
274                     </execution>
275                 </executions>
276                 <configuration>
277                     <verbose>true</verbose>
278                     <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
279                     <dateFormat>MM-dd-yyyy '@' HH:mm:ss Z</dateFormat>
280                     <generateGitPropertiesFile>true</generateGitPropertiesFile>
281                     <generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties
282                     </generateGitPropertiesFilename>
283                     <failOnNoGitDirectory>true</failOnNoGitDirectory>
284                 </configuration>
285             </plugin>
286             <plugin>
287                 <groupId>com.diffplug.spotless</groupId>
288                 <artifactId>spotless-maven-plugin</artifactId>
289                 <version>1.18.0</version>
290                 <configuration>
291                     <java>
292                         <removeUnusedImports />
293                         <importOrder>
294                             <order>com,java,javax,org</order>
295                         </importOrder>
296                     </java>
297                 </configuration>
298                 <!-- https://github.com/diffplug/spotless/tree/master/plugin-maven use
299                             mvn spotless:apply to rewrite source files use mvn spotless:check to validate
300                             source files -->
301             </plugin>
302             <plugin>
303                 <groupId>net.revelc.code.formatter</groupId>
304                 <artifactId>formatter-maven-plugin</artifactId>
305                 <version>2.8.1</version>
306                 <configuration>
307                     <configFile>${project.basedir}/onap-java-formatter.xml</configFile>
308                 </configuration>
309                 <!-- https://code.revelc.net/formatter-maven-plugin/ use mvn formatter:format
310                           to rewrite source files use mvn formatter:validate to validate source files -->
311             </plugin>
312             <plugin>
313                 <groupId>org.jacoco</groupId>
314                 <artifactId>jacoco-maven-plugin</artifactId>
315                 <version>${jacoco-maven-plugin.version}</version>
316                 <executions>
317                     <execution>
318                         <id>default-prepare-agent</id>
319                         <goals>
320                             <goal>prepare-agent</goal>
321                         </goals>
322                     </execution>
323                     <execution>
324                         <id>default-report</id>
325                         <phase>prepare-package</phase>
326                         <goals>
327                             <goal>report</goal>
328                         </goals>
329                     </execution>
330                 </executions>
331             </plugin>
332         </plugins>
333     </build>
334 </project>