<?xml version="1.0" encoding="UTF-8"?>
<!--
============LICENSE_START=======================================================
- Copyright (C) 2019 Nordix Foundation.
+ Copyright (C) 2019-2020 Nordix Foundation.
+ Copyright (C) 2020-2022 Nokia. All rights reserved.
+ Copyright (C) 2021 Samsung Electronics. All rights reserved.
+ Copyright (C) 2023 Deutsche Telekom AG. All rights reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>org.onap.dcaegen2.services</groupId>
- <artifactId>pm-mapper</artifactId>
- <version>1.0.0-SNAPSHOT</version>
-
<parent>
<groupId>org.onap.oparent</groupId>
<artifactId>oparent</artifactId>
- <version>1.2.0</version>
+ <version>3.2.0</version>
</parent>
+ <groupId>org.onap.dcaegen2.services</groupId>
+ <artifactId>pm-mapper</artifactId>
+ <version>1.10.0-SNAPSHOT</version>
+
+
<name>dcaegen2-services-pm-mapper</name>
<description>Maps PM measurement data from XML to VES</description>
<packaging>jar</packaging>
<!-- Dependency Versions -->
<lombok.version>1.18.4</lombok.version>
<sl4j.version>1.7.25</sl4j.version>
- <logback.version>1.2.3</logback.version>
- <reactor.version>3.2.3.RELEASE</reactor.version>
- <undertow.version>2.0.16.Final</undertow.version>
- <gson.version>2.8.5</gson.version>
- <freemarker.version>2.3.28</freemarker.version>
- <!-- Testing.Test Dependencies -->
+ <logback.version>1.2.10</logback.version>
+ <reactor.version>3.4.21</reactor.version>
+ <undertow.version>2.2.17.Final</undertow.version>
+ <gson.version>2.8.9</gson.version>
+ <freemarker.version>2.3.31</freemarker.version>
+ <commons.io.version>2.8.0</commons.io.version>
+ <xml.version>2.3.1</xml.version>
+ <jaxb.version>2.3.0.1</jaxb.version>
+ <!-- DCAE SDK -->
+ <sdk.version>1.8.10</sdk.version>
+ <!-- Testing Test Dependencies -->
<junit.version>5.3.2</junit.version>
<mockito.version>2.23.4</mockito.version>
<mockito-ju5-ext.version>2.23.4</mockito-ju5-ext.version>
- <powermock.version>2.0.0</powermock.version>
- <mockserver.version>3.10.8</mockserver.version>
+ <powermock.version>2.0.7</powermock.version>
+ <mockserver.version>5.11.2</mockserver.version>
<junit4.version>4.12</junit4.version>
- <jsonschema.version>1.3.0</jsonschema.version>
+ <jsonschema.version>1.5.1</jsonschema.version>
+ <json.version>20210307</json.version>
+ <jackson.version>2.12.2</jackson.version>
+ <xerces.version>2.11.0</xerces.version>
+ <reactor.test>3.4.0</reactor.test>
<!-- Plugin Versions -->
- <shade.plugin.version>3.2.0</shade.plugin.version>
<jacoco.version>0.8.2</jacoco.version>
- <dockerfile.version>1.4.10</dockerfile.version>
<surefire.version>2.22.0</surefire.version>
+ <git-commit.version>3.0.0</git-commit.version>
+ <build-helper.version>3.0.0</build-helper.version>
+ <docker-maven.version>0.30.0</docker-maven.version>
+ <maven-jar.version>3.1.2</maven-jar.version>
+ <dependencies.version>3.1.1</dependencies.version>
<!-- Plugin Settings -->
<image-name>${docker.push.registry}/onap/${project.groupId}.${project.artifactId}</image-name>
- <maven.build.timestamp.format>yyyymmdd'T'hhmmss'Z'</maven.build.timestamp.format>
+ <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
<timestamp>${maven.build.timestamp}</timestamp>
<sonar.language>java</sonar.language>
<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
<sonar.jacoco.reportPaths>${project.build.directory}/coverage-reports/jacoco.exec</sonar.jacoco.reportPaths>
<sonar.jacoco.itReportPath>${project.build.directory}/coverage-reports/jacoco-it.exec</sonar.jacoco.itReportPath>
<sonar.projectVersion>${project.version}</sonar.projectVersion>
- <compiler.target.version>1.8</compiler.target.version>
- <compiler.source.version>1.8</compiler.source.version>
- <shade.main>org.onap.dcaegen2.services.pmmapper.App</shade.main>
- <shade.transformer>org.apache.maven.plugins.shade.resource.ManifestResourceTransformer</shade.transformer>
+ <compiler.target.version>1.11</compiler.target.version>
+ <compiler.source.version>1.11</compiler.source.version>
<onap.logging.version>1.2.2</onap.logging.version>
+ <classpath.separator>@@</classpath.separator>
+ <pmmapper.main.class>org.onap.dcaegen2.services.pmmapper.App</pmmapper.main.class>
+ <dep.dir.name>libs</dep.dir.name>
+ <ext.dep.dir.path>${dep.dir.name}/external</ext.dep.dir.path>
+
+ <docker-image.tag.latest>latest</docker-image.tag.latest>
+ <!--Skip gerrit review rules-->
+ <onap-gerrit-review>-missing-package-json</onap-gerrit-review>
</properties>
<dependencies>
<artifactId>undertow-core</artifactId>
<version>${undertow.version}</version>
</dependency>
+ <dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ <version>${xml.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-core</artifactId>
+ <version>${jaxb.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
+ <artifactId>dmaap-client</artifactId>
+ <version>${sdk.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.dcaegen2.services.sdk.rest.services</groupId>
+ <artifactId>cbs-client</artifactId>
+ <version>${sdk.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-impl</artifactId>
+ <version>${xml.version}</version>
+ </dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<artifactId>freemarker</artifactId>
<version>${freemarker.version}</version>
</dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>${commons.io.version}</version>
+ </dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${mockito-ju5-ext.version}</version>
<scope>test</scope>
</dependency>
-
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<artifactId>mockserver-netty</artifactId>
<version>${mockserver.version}</version>
<scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <artifactId>*</artifactId>
+ <groupId>io.netty</groupId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.mock-server</groupId>
<version>${mockserver.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.json</groupId>
+ <artifactId>json</artifactId>
+ <version>${json.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.core</groupId>
+ <artifactId>jackson-core</artifactId>
+ <version>${jackson.version}</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>io.projectreactor</groupId>
+ <artifactId>reactor-test</artifactId>
+ <version>${reactor.test}</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.everit.json</groupId>
<artifactId>org.everit.json.schema</artifactId>
<version>${jsonschema.version}</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ <version>${xerces.version}</version>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
<plugins>
<plugin>
- <groupId>com.spotify</groupId>
- <artifactId>dockerfile-maven-plugin</artifactId>
- <version>${dockerfile.version}</version>
+ <groupId>pl.project13.maven</groupId>
+ <artifactId>git-commit-id-plugin</artifactId>
+ <version>${git-commit.version}</version>
<configuration>
- <repository>${image-name}</repository>
- <tag>${project.version}-${timestamp}</tag>
- <dockerfile>${project.build.outputDirectory}/Dockerfile</dockerfile>
- <buildArgs>
- <JAR>${project.build.finalName}-jar-with-dependencies.jar</JAR>
- </buildArgs>
+ <dateFormat>${maven.build.timestamp.format}</dateFormat>
</configuration>
+ <executions>
+ <execution>
+ <id>get-git-info</id>
+ <goals>
+ <goal>revision</goal>
+ </goals>
+ </execution>
+ </executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <version>${surefire.version}</version>
- <configuration combine.self="override">
- <useSystemClassLoader>false</useSystemClassLoader>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>${dependencies.version}</version>
+ <configuration>
+ <silent>true</silent>
+ <includeScope>runtime</includeScope>
+ <pathSeparator>${classpath.separator}</pathSeparator>
</configuration>
+ <executions>
+ <execution>
+ <id>copy-external-dependencies</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>copy-dependencies</goal>
+ <goal>build-classpath</goal>
+ </goals>
+ <configuration>
+ <excludeGroupIds>${project.parent.groupId}</excludeGroupIds>
+ <outputDirectory>${project.build.directory}/${ext.dep.dir.path}</outputDirectory>
+ <prefix>./${ext.dep.dir.path}</prefix>
+ <outputProperty>classpath.external</outputProperty>
+ </configuration>
+ </execution>
+ </executions>
</plugin>
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-failsafe-plugin</artifactId>
- <version>${surefire.version}</version>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>${shade.plugin.version}</version>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <version>${build-helper.version}</version>
<executions>
<execution>
+ <id>fix-classpath-separator</id>
+ <phase>prepare-package</phase>
<goals>
- <goal>shade</goal>
+ <goal>regex-properties</goal>
</goals>
<configuration>
- <shadedArtifactAttached>true</shadedArtifactAttached>
- <shadedClassifierName>jar-with-dependencies</shadedClassifierName>
- <transformers>
- <transformer
- implementation="${shade.transformer}">
- <mainClass>${shade.main}</mainClass>
- </transformer>
- </transformers>
+ <regexPropertySettings>
+ <regexPropertySetting>
+ <name>classpath.external</name>
+ <value>${classpath.external}</value>
+ <regex>${classpath.separator}</regex>
+ <replacement xml:space="preserve"> </replacement>
+ </regexPropertySetting>
+ </regexPropertySettings>
</configuration>
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>io.fabric8</groupId>
+ <artifactId>docker-maven-plugin</artifactId>
+ <version>${docker-maven.version}</version>
+ <configuration>
+ <images>
+ <image>
+ <name>onap/${project.groupId}.${project.artifactId}:${docker-image.tag.latest}</name>
+ <registry>${onap.nexus.dockerregistry.daily}</registry>
+ <build>
+ <contextDir>${project.basedir}</contextDir>
+ <dockerFile>${project.build.outputDirectory}/Dockerfile</dockerFile>
+ <args>
+ <JAR>${project.build.finalName}.jar</JAR>
+ </args>
+ <cleanup>none</cleanup>
+ <tags>
+ <tag>${project.version}</tag>
+ <tag>${project.version}-${maven.build.timestamp}Z</tag>
+ </tags>
+ </build>
+ </image>
+ </images>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>${maven-jar.version}</version>
+ <configuration>
+ <archive>
+ <manifest>
+ <mainClass>${pmmapper.main.class}</mainClass>
+ <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+ <addBuildEnvironmentEntries>true</addBuildEnvironmentEntries>
+ <useUniqueVersions>false</useUniqueVersions> <!-- workaround for MJAR-156 -->
+ </manifest>
+ <manifestEntries>
+ <Class-Path>${classpath.external}</Class-Path>
+ <Git-Branch>${git.branch}</Git-Branch>
+ <Git-Build-Host>${git.build.host}</Git-Build-Host>
+ <Git-Build-Time>${git.build.time}</Git-Build-Time>
+ <Git-Build-User-Email>${git.build.user.email}</Git-Build-User-Email>
+ <Git-Build-User-Name>${git.build.user.name}</Git-Build-User-Name>
+ <Git-Build-Version>${git.build.version}</Git-Build-Version>
+ <Git-Closest-Tag-Name>${git.closest.tag.name}</Git-Closest-Tag-Name>
+ <Git-Commit-Id>${git.commit.id}</Git-Commit-Id>
+ <Git-Commit-Message-Short>${git.commit.message.short}</Git-Commit-Message-Short>
+ <Git-Commit-Time>${git.commit.time}</Git-Commit-Time>
+ <Git-Commit-User-Email>${git.commit.user.email}</Git-Commit-User-Email>
+ <Git-Commit-User-Name>${git.commit.user.name}</Git-Commit-User-Name>
+ </manifestEntries>
+ </archive>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>${surefire.version}</version>
+ <configuration combine.self="override">
+ <useSystemClassLoader>false</useSystemClassLoader>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <version>${surefire.version}</version>
+ </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>