<!--
  ============LICENSE_START==================================================
  * org.onap.dmaap
  * ===========================================================================
  * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
  * Modifications Copyright (C) 2018 Nokia. 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.
  * ============LICENSE_END====================================================
  *
  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
  *
-->
<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.onap.dmaap.datarouter</groupId>
    <artifactId>parent</artifactId>
    <name>dmaap-datarouter</name>
    <version>1.1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <url>https://github.com/att/DMAAP_DATAROUTER</url>
    <parent>
        <groupId>org.onap.oparent</groupId>
        <artifactId>oparent</artifactId>
        <version>1.2.2</version>
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <sonar.language>java</sonar.language>
        <sonar.skip>false</sonar.skip>
        <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.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
        <sonar.projectVersion>${project.version}</sonar.projectVersion>
        <jetty.version>9.4.14.v20181114</jetty.version>
        <jetty.websocket.version>8.2.0.v20160908</jetty.websocket.version>
        <javax.mail-api.version>1.5.5</javax.mail-api.version>
        <dom4j.version>2.1.1</dom4j.version>
        <xml-apis.version>1.4.01</xml-apis.version>
        <thoughtworks.version>1.4.10</thoughtworks.version>
        <google.guava.version>26.0-jre</google.guava.version>
        <qos.logback.version>1.2.3</qos.logback.version>
        <snapshotNexusPath>/content/repositories/snapshots/</snapshotNexusPath>
        <releaseNexusPath>/content/repositories/releases/</releaseNexusPath>
        <stagingNexusPath>/content/repositories/staging/</stagingNexusPath>
        <sitePath>/content/sites/site/org/onap/dmaap/datarouter/${project.artifactId}/${project.version}</sitePath>
        <docker.maven.plugin.version>1.0.0</docker.maven.plugin.version>
        <skip.docker.build>true</skip.docker.build>
        <skip.docker.tag>true</skip.docker.tag>
        <skip.docker.push>true</skip.docker.push>
        <commons-codec.version>1.10</commons-codec.version>
    </properties>
    <modules>
        <module>datarouter-prov</module>
        <module>datarouter-node</module>
        <module>datarouter-subscriber</module>
        <module>datarouter-docker-compose</module>
    </modules>
    <build>
        <plugins>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>${docker.maven.plugin.version}</version>
                <configuration>
                    <skipDockerBuild>true</skipDockerBuild>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.sonatype.plugins</groupId>
                <artifactId>nexus-staging-maven-plugin</artifactId>
                <version>1.6.7</version>
                <extensions>true</extensions>
                <configuration>
                    <nexusUrl>${onap.nexus.url}</nexusUrl>
                    <stagingProfileId>176c31dfe190a</stagingProfileId>
                    <serverId>ecomp-staging</serverId>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>${jacoco.version}</version>
                <configuration>
                    <excludes>
                        <exclude>**/gen/**</exclude>
                        <exclude>**/generated-sources/**</exclude>
                        <exclude>**/yang-gen/**</exclude>
                        <exclude>**/pax/**</exclude>
                    </excludes>
                </configuration>
                <executions>
                    <execution>
                        <id>pre-unit-test</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                        <configuration>
                            <destFile>${project.build.directory}/code-coverage/jacoco-ut.exec</destFile>
                            <propertyName>surefireArgLine</propertyName>
                        </configuration>
                    </execution>
                    <execution>
                        <id>post-unit-test</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <dataFile>${project.build.directory}/code-coverage/jacoco-ut.exec</dataFile>
                            <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>pre-integration-test</id>
                        <phase>pre-integration-test</phase>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                        <configuration>
                            <destFile>${project.build.directory}/code-coverage/jacoco-it.exec</destFile>
                            <propertyName>failsafeArgLine</propertyName>
                        </configuration>
                    </execution>
                    <execution>
                        <id>post-integration-test</id>
                        <phase>post-integration-test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <dataFile>${project.build.directory}/code-coverage/jacoco-it.exec</dataFile>
                            <outputDirectory>${project.reporting.outputDirectory}/jacoco-it</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>IntegrationSuite.java</exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <distributionManagement>
        <repository>
            <id>ecomp-releases</id>
            <name>DR Release Repository</name>
            <url>${onap.nexus.url}${releaseNexusPath}</url>
        </repository>
        <snapshotRepository>
            <id>ecomp-snapshots</id>
            <name>DR Snapshot Repository</name>
            <url>${onap.nexus.url}${snapshotNexusPath}</url>
        </snapshotRepository>
        <site>
            <id>ecomp-site</id>
            <url>dav:${onap.nexus.url}${sitePath}</url>
        </site>
    </distributionManagement>
    <pluginRepositories>
        <pluginRepository>
            <id>onap-plugin-snapshots</id>
            <url>${onap.nexus.url}${snapshotNexusPath}</url>
        </pluginRepository>
    </pluginRepositories>
</project>
