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