<?xml version="1.0" encoding="UTF-8"?>
<!--
  ============LICENSE_START=======================================================
   Copyright (C) 2019-2020 Nordix Foundation.
   Copyright (C) 2020-2022 Nokia. All rights reserved.
   Copyright (C) 2021 Samsung Electronics. 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.
  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

  SPDX-License-Identifier: Apache-2.0
  ============LICENSE_END=========================================================
-->

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         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>

    <parent>
        <groupId>org.onap.oparent</groupId>
        <artifactId>oparent</artifactId>
        <version>3.2.0</version>
    </parent>

    <groupId>org.onap.dcaegen2.services</groupId>
    <artifactId>pm-mapper</artifactId>
    <version>1.8.0-SNAPSHOT</version>


    <name>dcaegen2-services-pm-mapper</name>
    <description>Maps PM measurement data from XML to VES</description>
    <packaging>jar</packaging>

    <properties>
        <!-- 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.4.0</reactor.version>
        <undertow.version>2.2.9.Final</undertow.version>
        <gson.version>2.8.6</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.7</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.7</powermock.version>
        <mockserver.version>5.11.2</mockserver.version>
        <junit4.version>4.12</junit4.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 -->
        <jacoco.version>0.8.2</jacoco.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>
        <timestamp>${maven.build.timestamp}</timestamp>
        <sonar.language>java</sonar.language>
        <sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
        <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
        <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.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>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>io.projectreactor</groupId>
            <artifactId>reactor-core</artifactId>
            <version>${reactor.version}</version>
        </dependency>
        <dependency>
            <groupId>io.undertow</groupId>
            <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>
            <version>${sl4j.version}</version>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>${logback.version}</version>
        </dependency>
        <dependency>
            <groupId>org.onap.logging-analytics</groupId>
            <artifactId>logging-slf4j</artifactId>
            <version>${onap.logging.version}</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>${gson.version}</version>
        </dependency>
        <dependency>
            <groupId>org.freemarker</groupId>
            <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>${junit.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-junit-jupiter</artifactId>
            <version>${mockito-ju5-ext.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>${mockito.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-module-junit4</artifactId>
            <version>${powermock.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.junit.vintage</groupId>
            <artifactId>junit-vintage-engine</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-api-mockito2</artifactId>
            <version>${powermock.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mock-server</groupId>
            <artifactId>mockserver-netty</artifactId>
            <version>${mockserver.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mock-server</groupId>
            <artifactId>mockserver-client-java</artifactId>
            <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>pl.project13.maven</groupId>
                <artifactId>git-commit-id-plugin</artifactId>
                <version>${git-commit.version}</version>
                <configuration>
                    <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-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.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>regex-properties</goal>
                        </goals>
                        <configuration>
                            <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>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${jacoco.version}</version>
                <executions>
                    <execution>
                        <id>jacoco-instrument</id>
                        <goals>
                            <goal>instrument</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>jacoco-restore-instrumented-classes</id>
                        <goals>
                            <goal>restore-instrumented-classes</goal>
                        </goals>
                    </execution>
                    <execution>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                        <configuration>
                            <excludes>
                                <exclude>*</exclude>
                            </excludes>
                        </configuration>
                    </execution>
                    <execution>
                        <id>report</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>
