[DCAEGEN2]Release dcaegen2-services-pm-mapper container
[dcaegen2/services/pm-mapper.git] / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3   ============LICENSE_START=======================================================
4    Copyright (C) 2019-2020 Nordix Foundation.
5    Copyright (C) 2020-2022 Nokia. All rights reserved.
6    Copyright (C) 2021 Samsung Electronics. All rights reserved.
7    Copyright (C) 2023 Deutsche Telekom AG. All rights reserved.
8   ================================================================================
9   Licensed under the Apache License, Version 2.0 (the "License");
10   you may not use this file except in compliance with the License.
11   You may obtain a copy of the License at
12
13        http://www.apache.org/licenses/LICENSE-2.0
14
15   Unless required by applicable law or agreed to in writing, software
16   distributed under the License is distributed on an "AS IS" BASIS,
17   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18   See the License for the specific language governing permissions and
19   limitations under the License.
20
21   SPDX-License-Identifier: Apache-2.0
22   ============LICENSE_END=========================================================
23 -->
24
25 <project xmlns="http://maven.apache.org/POM/4.0.0"
26          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
27          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
28     <modelVersion>4.0.0</modelVersion>
29
30     <parent>
31         <groupId>org.onap.oparent</groupId>
32         <artifactId>oparent</artifactId>
33         <version>3.2.0</version>
34     </parent>
35
36     <groupId>org.onap.dcaegen2.services</groupId>
37     <artifactId>pm-mapper</artifactId>
38     <version>1.10.1-SNAPSHOT</version>
39
40
41     <name>dcaegen2-services-pm-mapper</name>
42     <description>Maps PM measurement data from XML to VES</description>
43     <packaging>jar</packaging>
44
45     <properties>
46         <!-- Dependency Versions -->
47         <lombok.version>1.18.4</lombok.version>
48         <sl4j.version>1.7.25</sl4j.version>
49         <logback.version>1.2.10</logback.version>
50         <reactor.version>3.4.21</reactor.version>
51         <undertow.version>2.3.0.Final</undertow.version>
52         <gson.version>2.8.9</gson.version>
53         <freemarker.version>2.3.31</freemarker.version>
54         <commons.io.version>2.8.0</commons.io.version>
55         <xml.version>2.3.1</xml.version>
56         <jaxb.version>2.3.0.1</jaxb.version>
57         <!-- DCAE SDK -->
58         <sdk.version>1.8.10</sdk.version>
59         <!-- Testing Test Dependencies -->
60         <junit.version>5.3.2</junit.version>
61         <mockito.version>2.23.4</mockito.version>
62         <mockito-ju5-ext.version>2.23.4</mockito-ju5-ext.version>
63         <powermock.version>2.0.7</powermock.version>
64         <mockserver.version>5.11.2</mockserver.version>
65         <junit4.version>4.12</junit4.version>
66         <jsonschema.version>1.5.1</jsonschema.version>
67         <json.version>20210307</json.version>
68         <jackson.version>2.12.2</jackson.version>
69         <xerces.version>2.11.0</xerces.version>
70         <reactor.test>3.4.0</reactor.test>
71         <!-- Plugin Versions -->
72         <jacoco.version>0.8.2</jacoco.version>
73         <surefire.version>2.22.0</surefire.version>
74         <git-commit.version>3.0.0</git-commit.version>
75         <build-helper.version>3.0.0</build-helper.version>
76         <docker-maven.version>0.30.0</docker-maven.version>
77         <maven-jar.version>3.1.2</maven-jar.version>
78         <dependencies.version>3.1.1</dependencies.version>
79         <!-- Plugin Settings -->
80         <image-name>${docker.push.registry}/onap/${project.groupId}.${project.artifactId}</image-name>
81         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
82         <timestamp>${maven.build.timestamp}</timestamp>
83         <sonar.language>java</sonar.language>
84         <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
85         <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
86         <sonar.jacoco.reportPaths>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPaths>
87         <sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>
88         <sonar.projectVersion>${project.version}</sonar.projectVersion>
89         <compiler.target.version>1.11</compiler.target.version>
90         <compiler.source.version>1.11</compiler.source.version>
91         <onap.logging.version>1.2.2</onap.logging.version>
92         <classpath.separator>@@</classpath.separator>
93         <pmmapper.main.class>org.onap.dcaegen2.services.pmmapper.App</pmmapper.main.class>
94         <dep.dir.name>libs</dep.dir.name>
95         <ext.dep.dir.path>${dep.dir.name}/external</ext.dep.dir.path>
96
97         <docker-image.tag.latest>latest</docker-image.tag.latest>
98         <!--Skip gerrit review rules-->
99         <onap-gerrit-review>-missing-package-json</onap-gerrit-review>
100     </properties>
101
102     <dependencies>
103         <dependency>
104             <groupId>org.projectlombok</groupId>
105             <artifactId>lombok</artifactId>
106             <version>${lombok.version}</version>
107             <scope>provided</scope>
108         </dependency>
109         <dependency>
110             <groupId>io.projectreactor</groupId>
111             <artifactId>reactor-core</artifactId>
112             <version>${reactor.version}</version>
113         </dependency>
114         <dependency>
115             <groupId>io.undertow</groupId>
116             <artifactId>undertow-core</artifactId>
117             <version>${undertow.version}</version>
118         </dependency>
119         <dependency>
120             <groupId>javax.xml.bind</groupId>
121             <artifactId>jaxb-api</artifactId>
122             <version>${xml.version}</version>
123         </dependency>
124         <dependency>
125             <groupId>com.sun.xml.bind</groupId>
126             <artifactId>jaxb-core</artifactId>
127             <version>${jaxb.version}</version>
128         </dependency>
129         <dependency>
130             <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
131             <artifactId>dmaap-client</artifactId>
132             <version>${sdk.version}</version>
133         </dependency>
134         <dependency>
135             <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
136             <artifactId>cbs-client</artifactId>
137             <version>${sdk.version}</version>
138         </dependency>
139         <dependency>
140             <groupId>com.sun.xml.bind</groupId>
141             <artifactId>jaxb-impl</artifactId>
142             <version>${xml.version}</version>
143         </dependency>
144         <dependency>
145             <groupId>org.slf4j</groupId>
146             <artifactId>slf4j-api</artifactId>
147             <version>${sl4j.version}</version>
148         </dependency>
149         <dependency>
150             <groupId>ch.qos.logback</groupId>
151             <artifactId>logback-classic</artifactId>
152             <version>${logback.version}</version>
153         </dependency>
154         <dependency>
155             <groupId>org.onap.logging-analytics</groupId>
156             <artifactId>logging-slf4j</artifactId>
157             <version>${onap.logging.version}</version>
158         </dependency>
159         <dependency>
160             <groupId>javax.servlet</groupId>
161             <artifactId>servlet-api</artifactId>
162             <version>2.5</version>
163             <scope>provided</scope>
164         </dependency>
165         <dependency>
166             <groupId>com.google.code.gson</groupId>
167             <artifactId>gson</artifactId>
168             <version>${gson.version}</version>
169         </dependency>
170         <dependency>
171             <groupId>org.freemarker</groupId>
172             <artifactId>freemarker</artifactId>
173             <version>${freemarker.version}</version>
174         </dependency>
175         <dependency>
176             <groupId>commons-io</groupId>
177             <artifactId>commons-io</artifactId>
178             <version>${commons.io.version}</version>
179         </dependency>
180         <dependency>
181             <groupId>org.junit.jupiter</groupId>
182             <artifactId>junit-jupiter-engine</artifactId>
183             <version>${junit.version}</version>
184             <scope>test</scope>
185         </dependency>
186         <dependency>
187             <groupId>org.mockito</groupId>
188             <artifactId>mockito-junit-jupiter</artifactId>
189             <version>${mockito-ju5-ext.version}</version>
190             <scope>test</scope>
191         </dependency>
192         <dependency>
193             <groupId>org.mockito</groupId>
194             <artifactId>mockito-core</artifactId>
195             <version>${mockito.version}</version>
196             <scope>test</scope>
197         </dependency>
198         <dependency>
199             <groupId>org.powermock</groupId>
200             <artifactId>powermock-module-junit4</artifactId>
201             <version>${powermock.version}</version>
202             <scope>test</scope>
203         </dependency>
204         <dependency>
205             <groupId>org.junit.vintage</groupId>
206             <artifactId>junit-vintage-engine</artifactId>
207             <version>${junit.version}</version>
208             <scope>test</scope>
209         </dependency>
210         <dependency>
211             <groupId>org.powermock</groupId>
212             <artifactId>powermock-api-mockito2</artifactId>
213             <version>${powermock.version}</version>
214             <scope>test</scope>
215         </dependency>
216         <dependency>
217             <groupId>org.mock-server</groupId>
218             <artifactId>mockserver-netty</artifactId>
219             <version>${mockserver.version}</version>
220             <scope>test</scope>
221             <exclusions>
222                 <exclusion>
223                     <artifactId>*</artifactId>
224                     <groupId>io.netty</groupId>
225                 </exclusion>
226             </exclusions>
227         </dependency>
228         <dependency>
229             <groupId>org.mock-server</groupId>
230             <artifactId>mockserver-client-java</artifactId>
231             <version>${mockserver.version}</version>
232             <scope>test</scope>
233         </dependency>
234         <dependency>
235             <groupId>org.json</groupId>
236             <artifactId>json</artifactId>
237             <version>${json.version}</version>
238             <scope>test</scope>
239         </dependency>
240         <dependency>
241             <groupId>com.fasterxml.jackson.core</groupId>
242             <artifactId>jackson-core</artifactId>
243             <version>${jackson.version}</version>
244             <scope>test</scope>
245         </dependency>
246         <dependency>
247             <groupId>org.junit.jupiter</groupId>
248             <artifactId>junit-jupiter-params</artifactId>
249             <version>${junit.version}</version>
250             <scope>test</scope>
251         </dependency>
252         <dependency>
253             <groupId>io.projectreactor</groupId>
254             <artifactId>reactor-test</artifactId>
255             <version>${reactor.test}</version>
256             <scope>test</scope>
257         </dependency>
258         <dependency>
259             <groupId>org.everit.json</groupId>
260             <artifactId>org.everit.json.schema</artifactId>
261             <version>${jsonschema.version}</version>
262             <scope>test</scope>
263         </dependency>
264         <dependency>
265             <groupId>xerces</groupId>
266             <artifactId>xercesImpl</artifactId>
267             <version>${xerces.version}</version>
268             <scope>test</scope>
269         </dependency>
270     </dependencies>
271
272     <build>
273         <plugins>
274             <plugin>
275                 <groupId>pl.project13.maven</groupId>
276                 <artifactId>git-commit-id-plugin</artifactId>
277                 <version>${git-commit.version}</version>
278                 <configuration>
279                     <dateFormat>${maven.build.timestamp.format}</dateFormat>
280                 </configuration>
281                 <executions>
282                     <execution>
283                         <id>get-git-info</id>
284                         <goals>
285                             <goal>revision</goal>
286                         </goals>
287                     </execution>
288                 </executions>
289             </plugin>
290             <plugin>
291                 <groupId>org.apache.maven.plugins</groupId>
292                 <artifactId>maven-dependency-plugin</artifactId>
293                 <version>${dependencies.version}</version>
294                 <configuration>
295                     <silent>true</silent>
296                     <includeScope>runtime</includeScope>
297                     <pathSeparator>${classpath.separator}</pathSeparator>
298                 </configuration>
299                 <executions>
300                     <execution>
301                         <id>copy-external-dependencies</id>
302                         <phase>prepare-package</phase>
303                         <goals>
304                             <goal>copy-dependencies</goal>
305                             <goal>build-classpath</goal>
306                         </goals>
307                         <configuration>
308                             <excludeGroupIds>${project.parent.groupId}</excludeGroupIds>
309                             <outputDirectory>${project.build.directory}/${ext.dep.dir.path}</outputDirectory>
310                             <prefix>./${ext.dep.dir.path}</prefix>
311                             <outputProperty>classpath.external</outputProperty>
312                         </configuration>
313                     </execution>
314                 </executions>
315             </plugin>
316             <plugin>
317                 <groupId>org.codehaus.mojo</groupId>
318                 <artifactId>build-helper-maven-plugin</artifactId>
319                 <version>${build-helper.version}</version>
320                 <executions>
321                     <execution>
322                         <id>fix-classpath-separator</id>
323                         <phase>prepare-package</phase>
324                         <goals>
325                             <goal>regex-properties</goal>
326                         </goals>
327                         <configuration>
328                             <regexPropertySettings>
329                                 <regexPropertySetting>
330                                     <name>classpath.external</name>
331                                     <value>${classpath.external}</value>
332                                     <regex>${classpath.separator}</regex>
333                                     <replacement xml:space="preserve"> </replacement>
334                                 </regexPropertySetting>
335                             </regexPropertySettings>
336                         </configuration>
337                     </execution>
338                 </executions>
339             </plugin>
340             <plugin>
341                 <groupId>io.fabric8</groupId>
342                 <artifactId>docker-maven-plugin</artifactId>
343                 <version>${docker-maven.version}</version>
344                 <configuration>
345                     <images>
346                         <image>
347                             <name>onap/${project.groupId}.${project.artifactId}:${docker-image.tag.latest}</name>
348                             <registry>${onap.nexus.dockerregistry.daily}</registry>
349                             <build>
350                                 <contextDir>${project.basedir}</contextDir>
351                                 <dockerFile>${project.build.outputDirectory}/Dockerfile</dockerFile>
352                                 <args>
353                                     <JAR>${project.build.finalName}.jar</JAR>
354                                 </args>
355                                 <cleanup>none</cleanup>
356                                 <tags>
357                                     <tag>${project.version}</tag>
358                                     <tag>${project.version}-${maven.build.timestamp}Z</tag>
359                                 </tags>
360                             </build>
361                         </image>
362                     </images>
363                 </configuration>
364             </plugin>
365             <plugin>
366                 <groupId>org.apache.maven.plugins</groupId>
367                 <artifactId>maven-jar-plugin</artifactId>
368                 <version>${maven-jar.version}</version>
369                 <configuration>
370                     <archive>
371                         <manifest>
372                             <mainClass>${pmmapper.main.class}</mainClass>
373                             <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
374                             <addBuildEnvironmentEntries>true</addBuildEnvironmentEntries>
375                             <useUniqueVersions>false</useUniqueVersions> <!-- workaround for MJAR-156 -->
376                         </manifest>
377                         <manifestEntries>
378                             <Class-Path>${classpath.external}</Class-Path>
379                             <Git-Branch>${git.branch}</Git-Branch>
380                             <Git-Build-Host>${git.build.host}</Git-Build-Host>
381                             <Git-Build-Time>${git.build.time}</Git-Build-Time>
382                             <Git-Build-User-Email>${git.build.user.email}</Git-Build-User-Email>
383                             <Git-Build-User-Name>${git.build.user.name}</Git-Build-User-Name>
384                             <Git-Build-Version>${git.build.version}</Git-Build-Version>
385                             <Git-Closest-Tag-Name>${git.closest.tag.name}</Git-Closest-Tag-Name>
386                             <Git-Commit-Id>${git.commit.id}</Git-Commit-Id>
387                             <Git-Commit-Message-Short>${git.commit.message.short}</Git-Commit-Message-Short>
388                             <Git-Commit-Time>${git.commit.time}</Git-Commit-Time>
389                             <Git-Commit-User-Email>${git.commit.user.email}</Git-Commit-User-Email>
390                             <Git-Commit-User-Name>${git.commit.user.name}</Git-Commit-User-Name>
391                         </manifestEntries>
392                     </archive>
393                 </configuration>
394             </plugin>
395             <plugin>
396                 <groupId>org.apache.maven.plugins</groupId>
397                 <artifactId>maven-surefire-plugin</artifactId>
398                 <version>${surefire.version}</version>
399                 <configuration combine.self="override">
400                     <useSystemClassLoader>false</useSystemClassLoader>
401                 </configuration>
402             </plugin>
403             <plugin>
404                 <groupId>org.apache.maven.plugins</groupId>
405                 <artifactId>maven-failsafe-plugin</artifactId>
406                 <version>${surefire.version}</version>
407             </plugin>
408             <plugin>
409                 <groupId>org.apache.maven.plugins</groupId>
410                 <artifactId>maven-compiler-plugin</artifactId>
411                 <configuration>
412                     <source>${maven.compiler.source}</source>
413                     <target>${maven.compiler.target}</target>
414                 </configuration>
415             </plugin>
416             <plugin>
417                 <groupId>org.jacoco</groupId>
418                 <artifactId>jacoco-maven-plugin</artifactId>
419                 <version>${jacoco.version}</version>
420                 <executions>
421                     <execution>
422                         <id>jacoco-instrument</id>
423                         <goals>
424                             <goal>instrument</goal>
425                         </goals>
426                     </execution>
427                     <execution>
428                         <id>jacoco-restore-instrumented-classes</id>
429                         <goals>
430                             <goal>restore-instrumented-classes</goal>
431                         </goals>
432                     </execution>
433                     <execution>
434                         <goals>
435                             <goal>prepare-agent</goal>
436                         </goals>
437                         <configuration>
438                             <excludes>
439                                 <exclude>*</exclude>
440                             </excludes>
441                         </configuration>
442                     </execution>
443                     <execution>
444                         <id>report</id>
445                         <phase>prepare-package</phase>
446                         <goals>
447                             <goal>report</goal>
448                         </goals>
449                     </execution>
450                 </executions>
451             </plugin>
452         </plugins>
453     </build>
454
455 </project>