<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <groupId>org.onap.oparent</groupId>
        <artifactId>oparent</artifactId>
        <version>3.1.0</version>
        <relativePath/>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.onap.cps</groupId>
    <artifactId>cps-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>

    <properties>
        <app>org.onap.cps.Application</app>
        <base.image>openjdk:11-jre-slim</base.image>
        <java.version>11</java.version>
        <jib-maven-plugin.version>2.6.0</jib-maven-plugin.version>
        <minimum-coverage>0.76</minimum-coverage>
        <nexusproxy>https://nexus.onap.org</nexusproxy>
        <oparent.version>3.1.0</oparent.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
        <repository.name>nexus3.onap.org:10001/onap/cps-service</repository.name>
        <spotbugs-maven-plugin.version>4.1.3</spotbugs-maven-plugin.version>
        <spring-boot-maven-plugin.version>2.3.3.RELEASE</spring-boot-maven-plugin.version>
        <spotbugs.slf4j.version>1.8.0-beta4</spotbugs.slf4j.version>
        <spotbugs.bug-pattern.version>1.5.0</spotbugs.bug-pattern.version>
        <spotbugs.version>4.2.0</spotbugs.version>
        <swagger-codegen-maven-plugin.version>3.0.18</swagger-codegen-maven-plugin.version>
        <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
        <tag.version>${project.version}</tag.version>
    </properties>

    <distributionManagement>
        <repository>
            <id>ecomp-releases</id>
            <name>ECOMP Release Repository</name>
            <url>${nexusproxy}${releaseNexusPath}</url>
        </repository>
        <snapshotRepository>
            <id>ecomp-snapshots</id>
            <name>ECOMP Snapshot Repository</name>
            <url>${nexusproxy}${snapshotNexusPath}</url>
        </snapshotRepository>
    </distributionManagement>

    <profiles>
        <profile>
            <id>docker</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <pluginManagement>
                    <plugins>
                        <plugin>
                            <groupId>com.google.cloud.tools</groupId>
                            <artifactId>jib-maven-plugin</artifactId>
                            <version>${jib-maven-plugin.version}</version>
                            <configuration>
                                <container>
                                    <mainClass>${app}</mainClass>
                                    <creationTime>USE_CURRENT_TIMESTAMP</creationTime>
                                </container>
                                <from>
                                    <image>${base.image}</image>
                                </from>
                                <to>
                                    <image>${repository.name}</image>
                                    <tags>
                                        <tag>${tag.version}</tag>
                                    </tags>
                                </to>
                            </configuration>
                            <executions>
                                <execution>
                                    <phase>package</phase>
                                    <id>build</id>
                                    <goals>
                                        <goal>dockerBuild</goal>
                                    </goals>
                                </execution>
                                <execution>
                                    <phase>deploy</phase>
                                    <id>buildAndPush</id>
                                    <goals>
                                        <goal>build</goal>
                                    </goals>
                                </execution>
                            </executions>
                        </plugin>
                    </plugins>
                </pluginManagement>
            </build>
        </profile>
    </profiles>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.onap.cps</groupId>
                <artifactId>cps-dependencies</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.onap.cps</groupId>
                <artifactId>cps-bom</artifactId>
                <version>${project.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>target/generated-sources/license</directory>
                <includes>
                    <include>third-party-licenses.txt</include>
                </includes>
            </resource>
            <resource>
                <directory>target/generated-resources/licenses</directory>
                <includes>
                    <include>*.*</include>
                </includes>
                <targetPath>third-party-licenses</targetPath>
            </resource>
        </resources>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>${spring-boot-maven-plugin.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>build-info</goal>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <!-- Swagger code generation. -->
                <plugin>
                    <groupId>io.swagger.codegen.v3</groupId>
                    <artifactId>swagger-codegen-maven-plugin</artifactId>
                    <version>${swagger-codegen-maven-plugin.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <goal>generate</goal>
                            </goals>
                            <configuration>
                                <inputSpec>${project.basedir}/docs/api/swagger/openapi.yml</inputSpec>
                                <invokerPackage>org.onap.cps.rest.controller</invokerPackage>
                                <modelPackage>org.onap.cps.rest.model</modelPackage>
                                <apiPackage>org.onap.cps.rest.api</apiPackage>
                                <language>spring</language>
                                <generateSupportingFiles>false</generateSupportingFiles>
                                <configOptions>
                                    <sourceFolder>src/gen/java</sourceFolder>
                                    <dateLibrary>java11</dateLibrary>
                                    <interfaceOnly>true</interfaceOnly>
                                    <useTags>true</useTags>
                                </configOptions>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>com.google.cloud.tools</groupId>
                    <artifactId>jib-maven-plugin</artifactId>
                    <version>${jib-maven-plugin.version}</version>
                    <configuration>
                        <container>
                            <mainClass>${app}</mainClass>
                            <creationTime>USE_CURRENT_TIMESTAMP</creationTime>
                        </container>
                        <from>
                            <image>${base.image}</image>
                        </from>
                        <to>
                            <image>${repository.name}</image>
                            <tags>
                                <tag>${tag.version}</tag>
                            </tags>
                        </to>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.github.spotbugs</groupId>
                    <artifactId>spotbugs-maven-plugin</artifactId>
                    <version>${spotbugs-maven-plugin.version}</version>
                    <dependencies>
                        <dependency>
                            <groupId>com.github.spotbugs</groupId>
                            <artifactId>spotbugs</artifactId>
                            <version>${spotbugs.version}</version>
                        </dependency>
                        <dependency>
                            <groupId>${project.groupId}</groupId>
                            <artifactId>spotbugs</artifactId>
                            <version>${project.version}</version>
                        </dependency>
                        <dependency>
                            <!-- The SpotBugs Maven plugin uses SLF4J 1.8 beta 2 -->
                            <groupId>org.slf4j</groupId>
                            <artifactId>slf4j-simple</artifactId>
                            <version>${spotbugs.slf4j.version}</version>
                        </dependency>
                    </dependencies>
                    <configuration>
                        <plugins>
                            <plugin>
                                <groupId>jp.skypencil.findbugs.slf4j</groupId>
                                <artifactId>bug-pattern</artifactId>
                                <version>1.5.0</version>
                            </plugin>
                        </plugins>
                        <!--
                          Enables analysis which takes more memory but finds more bugs.
                          If you run out of memory, changes the value of the effort element
                          to 'Low'.
                        -->
                        <effort>Max</effort>
                        <!-- Reports all bugs (other values are medium and max) -->
                        <threshold>Low</threshold>
                        <!-- Build doesn't fail if problems are found -->
                        <failOnError>true</failOnError>
                        <!-- References the excluded rules -->
                        <excludeFilterFile>spotbugs-exclude.xml</excludeFilterFile>
                        <!-- Produces XML report -->
                        <xmlOutput>true</xmlOutput>
                        <!-- Configures the directory in which the XML report is created -->
                        <xmlOutputDirectory>${project.build.directory}/spotbugs</xmlOutputDirectory>
                    </configuration>
                    <executions>
                        <!--
                          Ensures that SpotBugs inspects source code when project is compiled.
                        -->
                        <execution>
                            <id>analyze-compile</id>
                            <phase>compile</phase>
                            <goals>
                                <goal>check</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <executions>
                    <execution>
                        <id>onap-license</id>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <phase>process-sources</phase>
                        <configuration>
                            <configLocation>onap-checkstyle/check-license.xml</configLocation>
                            <includeResources>false</includeResources>
                            <includeTestSourceDirectory>true</includeTestSourceDirectory>
                            <includeTestResources>false</includeTestResources>
                            <sourceDirectories>
                                <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
                            </sourceDirectories>
                            <consoleOutput>false</consoleOutput>
                            <violationSeverity>warning</violationSeverity>
                            <failOnViolation>true</failOnViolation>
                        </configuration>
                    </execution>
                    <execution>
                        <id>onap-java-style</id>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <phase>process-sources</phase>
                        <configuration>
                            <configLocation>onap-checkstyle/onap-java-style.xml</configLocation>
                            <sourceDirectories>
                                <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
                            </sourceDirectories>
                            <includeResources>true</includeResources>
                            <includeTestSourceDirectory>true</includeTestSourceDirectory>
                            <includeTestResources>true</includeTestResources>
                            <consoleOutput>false</consoleOutput>
                            <violationSeverity>warning</violationSeverity>
                            <failOnViolation>true</failOnViolation>
                        </configuration>
                    </execution>
                    <execution>
                        <id>cps-java-style</id>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <phase>process-sources</phase>
                        <configuration>
                            <configLocation>cps-java-style.xml</configLocation>
                            <sourceDirectories>
                                <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
                            </sourceDirectories>
                            <includeResources>true</includeResources>
                            <includeTestSourceDirectory>true</includeTestSourceDirectory>
                            <includeTestResources>true</includeTestResources>
                            <consoleOutput>true</consoleOutput>
                            <violationSeverity>warning</violationSeverity>
                            <failOnViolation>true</failOnViolation>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>org.onap.oparent</groupId>
                        <artifactId>checkstyle</artifactId>
                        <version>${oparent.version}</version>
                    </dependency>
                    <dependency>
                        <groupId>${project.groupId}</groupId>
                        <artifactId>checkstyle</artifactId>
                        <version>${project.version}</version>
                    </dependency>
                </dependencies>
            </plugin>
            <!-- Mandatory plugins for using Spock -->
            <plugin>
                <!-- The gmavenplus plugin is used to compile Groovy code.
                    To learn more about this plugin, visit https://github.com/groovy/GMavenPlus/wiki -->
                <groupId>org.codehaus.gmavenplus</groupId>
                <artifactId>gmavenplus-plugin</artifactId>
                <version>1.9.0</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>compileTests</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- Required because names of spec classes don't match default
                Surefire patterns (`*Test` etc.) -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <!--suppress UnresolvedMavenProperty -->
                    <argLine>${surefireArgLine}</argLine>
                    <useFile>false</useFile>
                    <includes>
                        <include>**/*Spec.java</include>
                        <include>**/*Test.java</include> <!-- Just in case of having also "normal" JUnit tests -->
                    </includes>
                    <excludes>
                        <exclude>**/IT*.java</exclude>
                    </excludes>
                    <environmentVariables>
                        <!--
                            disable privileged container usage to cleanup the test containers;
                            these will be removed automatically on jvm termination;
                            see https://www.testcontainers.org/features/configuration/#disabling-ryuk
                         -->
                        <TESTCONTAINERS_RYUK_DISABLED>true</TESTCONTAINERS_RYUK_DISABLED>
                    </environmentVariables>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>default-prepare-agent</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>coverage-check</id>
                        <goals>
                            <goal>check</goal>
                        </goals>
                        <configuration>
                            <excludes>
                                <exclude>org/onap/cps/rest/model/*</exclude>
                            </excludes>
                            <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
                            <rules>
                                <rule>
                                    <element>BUNDLE</element>
                                    <limits>
                                        <limit>
                                            <counter>INSTRUCTION</counter>
                                            <value>COVEREDRATIO</value>
                                            <minimum>${minimum-coverage}</minimum>
                                        </limit>
                                    </limits>
                                </rule>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>com.github.spotbugs</groupId>
                <artifactId>spotbugs-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.sonarsource.scanner.maven</groupId>
                <artifactId>sonar-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>