dcaegen2-services-pm-mapper incorrectly mapping the measResults
[dcaegen2/services/pm-mapper.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index 7dff143..8751c03 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -1,7 +1,10 @@
 <?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>