<?xml version="1.0" encoding="UTF-8"?>
<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.ccsdk.distribution</groupId>
        <artifactId>distribution-opendaylight</artifactId>
        <version>0.3.1-SNAPSHOT</version>
    </parent>

    <artifactId>distribution-odl-oxygen</artifactId>
    <version>0.3.1-SNAPSHOT</version>
    <packaging>pom</packaging>

    <name>ccsdk-distribution :: opendaylight :: ${project.artifactId}</name>
    <description>Creates OpenDaylight container</description>
    <organization>
        <name>ONAP</name>
    </organization>

    <properties>
        <image.name>onap/ccsdk-odl-oxygen-image</image.name>
        <ccsdk.project.version>${project.version}</ccsdk.project.version>
        <ccsdk.opendaylight.version>0.8.3</ccsdk.opendaylight.version>
        <ccsdk.mariadb-connector-java.version>2.1.1</ccsdk.mariadb-connector-java.version>
        <docker.buildArg.https_proxy>${https_proxy}</docker.buildArg.https_proxy>
	<docker.push.phase>deploy</docker.push.phase>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.opendaylight.integration</groupId>
                <artifactId>karaf</artifactId>
                <version>${ccsdk.opendaylight.version}</version>
                <type>tar.gz</type>
            </dependency>
            <dependency>
                <groupId>org.mariadb.jdbc</groupId>
                <artifactId>mariadb-java-client</artifactId>
                <version>${ccsdk.mariadb-connector-java.version}</version>
                <type>jar</type>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>


            <plugin>
                <groupId>org.codehaus.groovy.maven</groupId>
                <artifactId>gmaven-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>execute</goal>
                        </goals>
                        <configuration>
                            <source>
                                println project.properties['ccsdk.project.version'];
                                def versionArray;
                                if (project.properties['ccsdk.project.version'] != null ) {
                                versionArray = project.properties['ccsdk.project.version'].split('\\.');
                                }

                                if (project.properties['ccsdk.project.version'].endsWith("-SNAPSHOT"))
                                {
                                project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest";
                                } else {
                                project.properties['project.docker.latesttag.version']=versionArray[0]+'.' + versionArray[1]+"-STAGING-latest";
                                }

                                println 'New Tag for docker:' + project.properties['project.docker.latesttag.version'];
                            </source>
                        </configuration>
                    </execution>
                </executions>
            </plugin>



            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <version>3.0.0</version>
                <executions>
                    <execution>
                        <id>get-odl-distribution</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>org.opendaylight.integration</groupId>
                                    <artifactId>karaf</artifactId>
                                    <version>${ccsdk.opendaylight.version}</version>
                                    <type>tar.gz</type>

                                    <overWrite>true</overWrite>
                                    <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
                                </artifactItem>
                            </artifactItems>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>true</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>

                    <execution>
                        <id>get-mariadb-connector-jar</id>
                        <phase>validate</phase>
                        <goals>
                            <goal>copy</goal>
                        </goals>
                        <configuration>
                            <artifactItems>
                                <artifactItem>
                                    <groupId>org.mariadb.jdbc</groupId>
                                    <artifactId>mariadb-java-client</artifactId>
                                    <version>${ccsdk.mariadb-connector-java.version}</version>
                                    <type>jar</type>
                                    <overWrite>true</overWrite>
                                    <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
                                </artifactItem>
                            </artifactItems>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>true</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.6</version>
                <executions>
                    <execution>
                        <id>copy-dockerfile</id>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals><!-- here the phase you need -->
                        <phase>validate</phase>
                        <configuration>
                            <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>src/main/docker</directory>
                                    <includes>
                                        <include>Dockerfile</include>
                                    </includes>
                                    <filtering>true</filtering>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>



        </plugins>
    </build>

    <profiles>
        <profile>
            <id>docker</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>io.fabric8</groupId>
                        <artifactId>docker-maven-plugin</artifactId>
                        <version>0.16.5</version>
                        <inherited>false</inherited>
                        <configuration>
                            <images>
                                <image>
                                    <name>${image.name}</name>
                                    <build>
                                        <cleanup>try</cleanup>
                                        <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
                                        <dockerFile>${basedir}/target/docker-stage/Dockerfile</dockerFile>
                                        <tags>
                                            <tag>${project.version}</tag>
                                            <tag>${project.version}-STAGING-${maven.build.timestamp}</tag>
                                            <tag>${project.docker.latesttag.version}</tag>
                                        </tags>
                                    </build>
                                </image>
                            </images>
                        </configuration>
                        <executions>
                            <execution>
                                <id>generate-images</id>
                                <phase>package</phase>
                                <goals>
                                    <goal>build</goal>
                                </goals>
                            </execution>

                            <execution>
                                <id>push-images</id>
                                <phase>${docker.push.phase}</phase>
                                <goals>
                                    <goal>build</goal>
                                    <goal>push</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>

                </plugins>
            </build>
        </profile>

    </profiles>
</project>
