<?xml version="1.0"?>
<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>
  <packaging>pom</packaging>
  <groupId>org.onap.so</groupId>
  <artifactId>multivim-plugin</artifactId>
  <name>multivim-plugin</name>
  <description>ARIA MultiVIM plugin</description>
  <parent>
    <groupId>org.onap.so</groupId>
    <artifactId>aria</artifactId>
    <version>1.2.0-SNAPSHOT</version>
    <relativePath>../pom.xml</relativePath>
  </parent>

  <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <python_version>2.7</python_version>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <wheel.name>${project.name}-${project.version}-py2-none-any.whl</wheel.name>
     <python.sourceDirectory>${project.basedir}/src/main/python/multivim-plugin</python.sourceDirectory>
     <sonar.exclusions>**/*.py</sonar.exclusions>
     <onap.nexus.pypiserver.baseurl>http://192.168.33.1:8081/repository/pypi-internal/</onap.nexus.pypiserver.baseurl>
     <onap.nexus.pypiserver.serverid>ecomp-snapshots</onap.nexus.pypiserver.serverid>
  </properties>

  <build>
    <plugins>
      <plugin>
	<groupId>org.codehaus.mojo</groupId>
	<artifactId>build-helper-maven-plugin</artifactId>
	<version>3.0.0</version>
	<executions>
	  <execution>
	    <id>write-python-version</id>
	    <goals>
	      <goal>regex-property</goal>
	    </goals>
	    <phase>initialize</phase>
	    <configuration>
	      <name>python_version</name>
	      <regex>-SNAPSHOT</regex>
	      <value>${project.version}</value>
	      <replacement>\.dev0</replacement>
	      <failIfNoMatch>false</failIfNoMatch>
	    </configuration>
	  </execution>
	</executions>
      </plugin>
      <plugin>
	<groupId>org.codehaus.mojo</groupId>
	<artifactId>exec-maven-plugin</artifactId>
	<version>1.6.0</version>
	<executions>
	  <execution>
            <id>package</id>
	    <phase>package</phase>
	    <goals><goal>exec</goal></goals>
	    <configuration>
              <executable>python</executable>
              <arguments>
		<argument>${project.basedir}/build.py</argument>
	      </arguments>
	      <environmentVariables>
		<MVN_PHASE>package</MVN_PHASE>
		<WHEEL_NAME>${wheel.name}</WHEEL_NAME>
		<INPUT_DIR>${python.sourceDirectory}</INPUT_DIR>
		<OUTPUT_DIR>${project.build.directory}</OUTPUT_DIR>
              </environmentVariables>
	    </configuration>
	  </execution>
          <execution>
            <id>deploy</id>
	    <phase>deploy</phase>
	    <goals><goal>exec</goal></goals>
	    <configuration>
              <executable>python</executable>
	      <arguments>
	        <argument>${project.basedir}/build.py</argument>
	      </arguments>
	      <environmentVariables>
		<MVN_PHASE>deploy</MVN_PHASE>
                <PROJECT_VERSION>${project.version}</PROJECT_VERSION>
	        <DOCKERREGISTRY_SNAPSHOT>${onap.nexus.dockerregistry.snapshot}</DOCKERREGISTRY_SNAPSHOT>
	        <DOCKERREGISTRY_RELEASE>${onap.nexus.dockerregistry.release}</DOCKERREGISTRY_RELEASE>
                <PYPI_SERVER_BASEURL>${onap.nexus.pypiserver.baseurl}</PYPI_SERVER_BASEURL>
	        <PYPI_SERVERID>${onap.nexus.pypiserver.serverid}</PYPI_SERVERID>
	        <WHEEL_PATH>${project.build.directory}/${wheel.name}</WHEEL_PATH>
	      </environmentVariables>
	    </configuration>
          </execution>   
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

