<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ ============LICENSE_START=======================================================
  ~ dcaegen2-collectors-veshv
  ~ ================================================================================
  ~ Copyright (C) 2018 NOKIA
  ~ ================================================================================
  ~ 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=========================================================
  -->
<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>

    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
        </license>
    </licenses>

    <parent>
        <groupId>org.onap.dcaegen2.collectors.hv-ves</groupId>
        <artifactId>ves-hv-collector</artifactId>
        <version>1.3.0-SNAPSHOT</version>
        <relativePath>..</relativePath>
    </parent>

    <artifactId>hv-collector-sources</artifactId>
    <description>VES HighVolume Collector :: Sources</description>
    <packaging>pom</packaging>

    <properties>
        <skipAnalysis>false</skipAnalysis>
    </properties>

    <profiles>
        <profile>
            <id>analysis</id>
            <activation>
                <file>
                    <exists>src/main/kotlin</exists>
                </file>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-checkstyle-plugin</artifactId>
                        <version>2.17</version>
                        <dependencies>
                            <dependency>
                                <groupId>org.onap.oparent</groupId>
                                <artifactId>checkstyle</artifactId>
                                <version>1.1.1</version>
                            </dependency>
                        </dependencies>
                        <executions>
                            <execution>
                                <!-- To override oparent configuration different id must be used
                                     We need to override it to include .kt files in check. -->
                                <id>check-license-kotlin</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>
                                    <includes>**\/*.kt</includes>
                                    <consoleOutput>true</consoleOutput>
                                    <!--<failOnViolation>false</failOnViolation>-->
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-antrun-plugin</artifactId>
                        <version>1.8</version>
                        <executions>
                            <execution>
                                <!-- This can be run separately with mvn antrun:run@detekt -->
                                <id>detekt</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                                <configuration>
                                    <target name="detekt" unless="${skipAnalysis}">
                                        <java taskname="detekt" dir="${basedir}" fork="true" failonerror="true"
                                                classname="io.gitlab.arturbosch.detekt.cli.Main"
                                                classpathref="maven.plugin.classpath">
                                            <arg value="--input"/>
                                            <arg value="${basedir}/src/main/kotlin"/>
                                            <arg value="--config-resource"/>
                                            <arg value="onap-detekt-config.yml"/>
                                            <arg value="--filters"/>
                                            <arg value=".*/target/.*,.*/resources/.*"/>
                                            <arg value="--report"/>
                                            <arg value="html:${basedir}/target/detekt-report.html"/>
                                        </java>
                                    </target>
                                </configuration>
                            </execution>
                        </executions>
                        <dependencies>
                            <dependency>
                                <groupId>io.gitlab.arturbosch.detekt</groupId>
                                <artifactId>detekt-cli</artifactId>
                                <version>${detekt.version}</version>
                            </dependency>
                            <dependency>
                                <groupId>${project.groupId}</groupId>
                                <artifactId>hv-collector-analysis</artifactId>
                                <version>1.3.0-SNAPSHOT</version>
                            </dependency>
                        </dependencies>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

    <modules>
        <module>hv-collector-commandline</module>
        <module>hv-collector-configuration</module>
        <module>hv-collector-core</module>
        <module>hv-collector-ct</module>
        <module>hv-collector-dcae-app-simulator</module>
        <module>hv-collector-domain</module>
        <module>hv-collector-health-check</module>
        <module>hv-collector-kafka</module>
        <module>hv-collector-kafka-consumer</module>
        <module>hv-collector-main</module>
        <module>hv-collector-server</module>
        <module>hv-collector-ssl</module>
        <module>hv-collector-test-utils</module>
        <module>hv-collector-utils</module>
        <module>hv-collector-ves-message-generator</module>
        <module>hv-collector-xnf-simulator</module>
    </modules>
</project>
