<?xml version="1.0"?>
<!--
================================================================================
Copyright (c) 2017-2020 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.oparent</groupId>
    <artifactId>oparent</artifactId>
    <version>1.2.0</version>
  </parent>
  <groupId>org.onap.dcaegen2.deployments</groupId>
  <artifactId>k8s-bootstrap-container</artifactId>
  <name>dcaegen2-deployments-k8s-bootstrap-container</name>
  <version>1.12.0-SNAPSHOT</version>
  <url>http://maven.apache.org</url>
  <packaging>pom</packaging>

  <properties>
    <onap.nexus.url>https://nexus.onap.org</onap.nexus.url>
    <!-- properties for Nexus raw repo -->
    <onap.nexus.rawrepo.baseurl.upload>https://nexus.onap.org/content/sites/raw</onap.nexus.rawrepo.baseurl.upload>
    <onap.nexus.rawrepo.baseurl.download>https://nexus.onap.org/service/local/repositories/raw/content</onap.nexus.rawrepo.baseurl.download>
    <onap.nexus.rawrepo.serverid>ecomp-raw</onap.nexus.rawrepo.serverid>
    <!-- properties for Nexus Docker registry -->
    <onap.nexus.dockerregistry.snapshot>nexus3.onap.org:10003</onap.nexus.dockerregistry.snapshot>
    <onap.nexus.dockerregistry.release>nexus3.onap.org:10003</onap.nexus.dockerregistry.release>
    <onap.nexus.dockerregistry.public>nexus3.onap.org:10001</onap.nexus.dockerregistry.public>
    <onap.nexus.dockerregistry.snapshot.serverid>nexus3.onap.org:10003</onap.nexus.dockerregistry.snapshot.serverid>
    <onap.nexus.dockerregistry.release.serverid>nexus3.onap.org:10003</onap.nexus.dockerregistry.release.serverid>
    <onap.nexus.dockerregistry.public.serverid>nexus3.onap.org:10001</onap.nexus.dockerregistry.public.serverid>
    <!-- properties for Pypi server -->
    <onap.nexus.pypiserver.baseurl>https://nexus3.onap.org/repository/PyPi</onap.nexus.pypiserver.baseurl>
    <onap.nexus.pypiserver.serverid>onap-pypi</onap.nexus.pypiserver.serverid>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <sonar.skip>true</sonar.skip>
    <sonar.sources>.</sonar.sources>
    <!-- customize the SONARQUBE URL -->
    <!-- sonar.host.url>http://localhost:9000</sonar.host.url -->
    <!-- below are language dependent -->
    <!-- for Python -->
    <sonar.language>py</sonar.language>
    <sonar.pluginName>Python</sonar.pluginName>
    <sonar.inclusions>**/*.py</sonar.inclusions>
    <!-- for JavaScaript -->
    <!--
    <sonar.language>js</sonar.language>
    <sonar.pluginName>JS</sonar.pluginName>
    <sonar.inclusions>**/*.js</sonar.inclusions>
    -->
  </properties>
  <build>
    <finalName>${project.artifactId}-${project.version}</finalName>
    <pluginManagement>
      <plugins>
        <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>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>1.2.1</version>
          <configuration>
            <executable>${session.executionRootDirectory}/mvn-phase-script.sh</executable>
            <environmentVariables>
              <!-- make mvn properties as env for our script -->
              <!-- make mvn properties as env for our script -->
              <MVN_PROJECT_GROUPID>${project.groupId}</MVN_PROJECT_GROUPID>
              <MVN_PROJECT_ARTIFACTID>${project.artifactId}</MVN_PROJECT_ARTIFACTID>
              <MVN_PROJECT_VERSION>${project.version}</MVN_PROJECT_VERSION>
              <MVN_NEXUSPROXY>${onap.nexus.url}</MVN_NEXUSPROXY>
              <MVN_RAWREPO_BASEURL_UPLOAD>${onap.nexus.rawrepo.baseurl.upload}</MVN_RAWREPO_BASEURL_UPLOAD>
              <MVN_RAWREPO_BASEURL_DOWNLOAD>${onap.nexus.rawrepo.baseurl.download}</MVN_RAWREPO_BASEURL_DOWNLOAD>
              <MVN_RAWREPO_SERVERID>${onap.nexus.rawrepo.serverid}</MVN_RAWREPO_SERVERID>
              <MVN_DOCKERREGISTRY_SNAPSHOT>${onap.nexus.dockerregistry.snapshot}</MVN_DOCKERREGISTRY_SNAPSHOT>
              <MVN_DOCKERREGISTRY_RELEASE>${onap.nexus.dockerregistry.release}</MVN_DOCKERREGISTRY_RELEASE>
              <MVN_DOCKERREGISTRY_PUBLIC>${onap.nexus.dockerregistry.public}</MVN_DOCKERREGISTRY_PUBLIC>
              <MVN_DOCKERREGISTRY_SNAPSHOT_SERVERID>${onap.nexus.dockerregistry.snapshot.serverid}</MVN_DOCKERREGISTRY_SNAPSHOT_SERVERID>
              <MVN_DOCKERREGISTRY_RELEASE_SERVERID>${onap.nexus.dockerregistry.release.serverid}</MVN_DOCKERREGISTRY_RELEASE_SERVERID>
              <MVN_DOCKERREGISTRY_PUBLIC_SERVERID>${onap.nexus.dockerregistry.public.serverid}</MVN_DOCKERREGISTRY_PUBLIC_SERVERID>
              <MVN_PYPISERVER_BASEURL>${onap.nexus.pypiserver.baseurl}</MVN_PYPISERVER_BASEURL>
              <MVN_PYPISERVER_SERVERID>${onap.nexus.pypiserver.serverid}</MVN_PYPISERVER_SERVERID>
            </environmentVariables>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <!-- 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>
