<?xml version="1.0"?>
<!--
================================================================================
Copyright (c) 2018 AT&T Intellectual Property. 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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.onap.dcaegen2.utils</groupId>
    <artifactId>utils</artifactId>
    <version>1.2.0-SNAPSHOT</version>
  </parent>
  <groupId>org.onap.dcaegen2.utils</groupId>
  <artifactId>dcaeapplib</artifactId>
  <name>dcaeapplib</name>
  <version>0.0.3-SNAPSHOT</version>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <sonar.sources>.</sonar.sources>
    <sonar.junit.reportsPath>xunit-results.xml</sonar.junit.reportsPath>
    <sonar.python.coverage.reportPath>coverage.xml</sonar.python.coverage.reportPath>
    <sonar.language>py</sonar.language>
    <sonar.pluginName>Python</sonar.pluginName>
    <sonar.inclusions>**/*.py</sonar.inclusions>
    <sonar.exclusions>tests/*,setup.py</sonar.exclusions>
  </properties>
  <build>
    <finalName>${project.artifactId}-${project.version}</finalName>
    <pluginManagement>
      <plugins>
        <!-- the following plugins are invoked from oparent, we do not need them -->
        <plugin>
          <groupId>org.sonatype.plugins</groupId>
          <artifactId>nexus-staging-maven-plugin</artifactId>
          <version>1.6.7</version>
          <configuration>
            <skipNexusStagingDeployMojo>true</skipNexusStagingDeployMojo>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <!-- This version supports the "deployAtEnd" parameter -->
          <version>2.8</version>
          <configuration>
            <skip>true</skip>
          </configuration>
        </plugin>
        <!-- first disable the default Java plugins at various stages -->
        <!-- maven-resources-plugin is called during "*resource" phases by default behavior.  it prepares
         the resources dir.  we do not need it -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>2.6</version>
          <configuration>
            <skip>true</skip>
          </configuration>
        </plugin>
        <!-- maven-compiler-plugin is called during "compile" phases by default behavior.  we do not need it -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.1</version>
          <configuration>
            <skip>true</skip>
          </configuration>
        </plugin>
        <!-- maven-jar-plugin is called during "compile" phase by default behavior.  we do not need it -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>2.4</version>
          <executions>
            <execution>
              <id>default-jar</id>
              <phase/>
            </execution>
          </executions>
        </plugin>
        <!-- maven-install-plugin is called during "install" phase by default behavior.  it tries to copy stuff under
         target dir to ~/.m2.  we do not need it -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>2.4</version>
          <configuration>
            <skip>true</skip>
          </configuration>
        </plugin>
        <!-- maven-surefire-plugin is called during "test" phase by default behavior.  it triggers junit test.
         we do not need it -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.12.4</version>
          <configuration>
            <skipTests>true</skipTests>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <!-- plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.4.1</version>
        <configuration>
          <descriptors>
            <descriptor>assembly/dep.xml</descriptor>
          </descriptors>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
      </plugin -->
      <!-- now we configure custom action (calling a script) at various lifecycle phases -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <executions>
          <execution>
            <id>clean phase script</id>
            <phase>clean</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <arguments>
                <argument>${project.artifactId}</argument>
                <argument>clean</argument>
              </arguments>
            </configuration>
          </execution>
          <execution>
            <id>generate-sources script</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <arguments>
                <argument>${project.artifactId}</argument>
                <argument>generate-sources</argument>
              </arguments>
            </configuration>
          </execution>
          <execution>
            <id>compile script</id>
            <phase>compile</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <arguments>
                <argument>${project.artifactId}</argument>
                <argument>compile</argument>
              </arguments>
            </configuration>
          </execution>
          <execution>
            <id>package script</id>
            <phase>package</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <arguments>
                <argument>${project.artifactId}</argument>
                <argument>package</argument>
              </arguments>
            </configuration>
          </execution>
          <execution>
            <id>test script</id>
            <phase>test</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <arguments>
                <argument>${project.artifactId}</argument>
                <argument>test</argument>
              </arguments>
            </configuration>
          </execution>
          <execution>
            <id>install script</id>
            <phase>install</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <arguments>
                <argument>${project.artifactId}</argument>
                <argument>install</argument>
              </arguments>
            </configuration>
          </execution>
          <execution>
            <id>deploy script</id>
            <phase>deploy</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <arguments>
                <argument>${project.artifactId}</argument>
                <argument>deploy</argument>
              </arguments>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
