1 <?xml version="1.0" encoding="UTF-8"?>
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
13 http://www.apache.org/licenses/LICENSE-2.0
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.
21 SPDX-License-Identifier: Apache-2.0
22 ============LICENSE_END=========================================================
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>
31 <groupId>org.onap.oparent</groupId>
32 <artifactId>oparent</artifactId>
33 <version>3.2.0</version>
36 <groupId>org.onap.dcaegen2.services</groupId>
37 <artifactId>pm-mapper</artifactId>
38 <version>1.10.1-SNAPSHOT</version>
41 <name>dcaegen2-services-pm-mapper</name>
42 <description>Maps PM measurement data from XML to VES</description>
43 <packaging>jar</packaging>
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>
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>
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>
104 <groupId>org.projectlombok</groupId>
105 <artifactId>lombok</artifactId>
106 <version>${lombok.version}</version>
107 <scope>provided</scope>
110 <groupId>io.projectreactor</groupId>
111 <artifactId>reactor-core</artifactId>
112 <version>${reactor.version}</version>
115 <groupId>io.undertow</groupId>
116 <artifactId>undertow-core</artifactId>
117 <version>${undertow.version}</version>
120 <groupId>javax.xml.bind</groupId>
121 <artifactId>jaxb-api</artifactId>
122 <version>${xml.version}</version>
125 <groupId>com.sun.xml.bind</groupId>
126 <artifactId>jaxb-core</artifactId>
127 <version>${jaxb.version}</version>
130 <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
131 <artifactId>dmaap-client</artifactId>
132 <version>${sdk.version}</version>
135 <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
136 <artifactId>cbs-client</artifactId>
137 <version>${sdk.version}</version>
140 <groupId>com.sun.xml.bind</groupId>
141 <artifactId>jaxb-impl</artifactId>
142 <version>${xml.version}</version>
145 <groupId>org.slf4j</groupId>
146 <artifactId>slf4j-api</artifactId>
147 <version>${sl4j.version}</version>
150 <groupId>ch.qos.logback</groupId>
151 <artifactId>logback-classic</artifactId>
152 <version>${logback.version}</version>
155 <groupId>org.onap.logging-analytics</groupId>
156 <artifactId>logging-slf4j</artifactId>
157 <version>${onap.logging.version}</version>
160 <groupId>javax.servlet</groupId>
161 <artifactId>servlet-api</artifactId>
162 <version>2.5</version>
163 <scope>provided</scope>
166 <groupId>com.google.code.gson</groupId>
167 <artifactId>gson</artifactId>
168 <version>${gson.version}</version>
171 <groupId>org.freemarker</groupId>
172 <artifactId>freemarker</artifactId>
173 <version>${freemarker.version}</version>
176 <groupId>commons-io</groupId>
177 <artifactId>commons-io</artifactId>
178 <version>${commons.io.version}</version>
181 <groupId>org.junit.jupiter</groupId>
182 <artifactId>junit-jupiter-engine</artifactId>
183 <version>${junit.version}</version>
187 <groupId>org.mockito</groupId>
188 <artifactId>mockito-junit-jupiter</artifactId>
189 <version>${mockito-ju5-ext.version}</version>
193 <groupId>org.mockito</groupId>
194 <artifactId>mockito-core</artifactId>
195 <version>${mockito.version}</version>
199 <groupId>org.powermock</groupId>
200 <artifactId>powermock-module-junit4</artifactId>
201 <version>${powermock.version}</version>
205 <groupId>org.junit.vintage</groupId>
206 <artifactId>junit-vintage-engine</artifactId>
207 <version>${junit.version}</version>
211 <groupId>org.powermock</groupId>
212 <artifactId>powermock-api-mockito2</artifactId>
213 <version>${powermock.version}</version>
217 <groupId>org.mock-server</groupId>
218 <artifactId>mockserver-netty</artifactId>
219 <version>${mockserver.version}</version>
223 <artifactId>*</artifactId>
224 <groupId>io.netty</groupId>
229 <groupId>org.mock-server</groupId>
230 <artifactId>mockserver-client-java</artifactId>
231 <version>${mockserver.version}</version>
235 <groupId>org.json</groupId>
236 <artifactId>json</artifactId>
237 <version>${json.version}</version>
241 <groupId>com.fasterxml.jackson.core</groupId>
242 <artifactId>jackson-core</artifactId>
243 <version>${jackson.version}</version>
247 <groupId>org.junit.jupiter</groupId>
248 <artifactId>junit-jupiter-params</artifactId>
249 <version>${junit.version}</version>
253 <groupId>io.projectreactor</groupId>
254 <artifactId>reactor-test</artifactId>
255 <version>${reactor.test}</version>
259 <groupId>org.everit.json</groupId>
260 <artifactId>org.everit.json.schema</artifactId>
261 <version>${jsonschema.version}</version>
265 <groupId>xerces</groupId>
266 <artifactId>xercesImpl</artifactId>
267 <version>${xerces.version}</version>
275 <groupId>pl.project13.maven</groupId>
276 <artifactId>git-commit-id-plugin</artifactId>
277 <version>${git-commit.version}</version>
279 <dateFormat>${maven.build.timestamp.format}</dateFormat>
283 <id>get-git-info</id>
285 <goal>revision</goal>
291 <groupId>org.apache.maven.plugins</groupId>
292 <artifactId>maven-dependency-plugin</artifactId>
293 <version>${dependencies.version}</version>
295 <silent>true</silent>
296 <includeScope>runtime</includeScope>
297 <pathSeparator>${classpath.separator}</pathSeparator>
301 <id>copy-external-dependencies</id>
302 <phase>prepare-package</phase>
304 <goal>copy-dependencies</goal>
305 <goal>build-classpath</goal>
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>
317 <groupId>org.codehaus.mojo</groupId>
318 <artifactId>build-helper-maven-plugin</artifactId>
319 <version>${build-helper.version}</version>
322 <id>fix-classpath-separator</id>
323 <phase>prepare-package</phase>
325 <goal>regex-properties</goal>
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>
341 <groupId>io.fabric8</groupId>
342 <artifactId>docker-maven-plugin</artifactId>
343 <version>${docker-maven.version}</version>
347 <name>onap/${project.groupId}.${project.artifactId}:${docker-image.tag.latest}</name>
348 <registry>${onap.nexus.dockerregistry.daily}</registry>
350 <contextDir>${project.basedir}</contextDir>
351 <dockerFile>${project.build.outputDirectory}/Dockerfile</dockerFile>
353 <JAR>${project.build.finalName}.jar</JAR>
355 <cleanup>none</cleanup>
357 <tag>${project.version}</tag>
358 <tag>${project.version}-${maven.build.timestamp}Z</tag>
366 <groupId>org.apache.maven.plugins</groupId>
367 <artifactId>maven-jar-plugin</artifactId>
368 <version>${maven-jar.version}</version>
372 <mainClass>${pmmapper.main.class}</mainClass>
373 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
374 <addBuildEnvironmentEntries>true</addBuildEnvironmentEntries>
375 <useUniqueVersions>false</useUniqueVersions> <!-- workaround for MJAR-156 -->
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>
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>
404 <groupId>org.apache.maven.plugins</groupId>
405 <artifactId>maven-failsafe-plugin</artifactId>
406 <version>${surefire.version}</version>
409 <groupId>org.apache.maven.plugins</groupId>
410 <artifactId>maven-compiler-plugin</artifactId>
412 <source>${maven.compiler.source}</source>
413 <target>${maven.compiler.target}</target>
417 <groupId>org.jacoco</groupId>
418 <artifactId>jacoco-maven-plugin</artifactId>
419 <version>${jacoco.version}</version>
422 <id>jacoco-instrument</id>
424 <goal>instrument</goal>
428 <id>jacoco-restore-instrumented-classes</id>
430 <goal>restore-instrumented-classes</goal>
435 <goal>prepare-agent</goal>
445 <phase>prepare-package</phase>