<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
         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>

    <name>openecomp-sdc-docker-db-init</name>
    <groupId>org.openecomp.sdc</groupId>
    <artifactId>openecomp-sdc-docker-db-init</artifactId>
    <packaging>pom</packaging>

    <url>http://maven.apache.org</url>

    <parent>
        <groupId>org.openecomp.sdc</groupId>
        <artifactId>openecomp-sdc-docker-dist</artifactId>
        <version>1.3.0-SNAPSHOT</version>
        <relativePath>..</relativePath>
    </parent>


    <properties>
        <docker.image.name>sdc-onboard-cassandra-init</docker.image.name>
    </properties>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.0.2</version>
                <executions>
                    <execution>
                        <id>copy-resources-war</id>
                        <phase>verify</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.basedir}/artifacts</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>
                                        ${project.parent.basedir}/../../openecomp-be/tools/install/database
                                    </directory>
                                    <includes>
                                        <include>init_keyspaces.cql</include>
                                        <include>init_schemas.cql</include>
                                    </includes>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>io.fabric8</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>${fabric8.version}</version>

                <configuration>
                    <verbose>true</verbose>
                    <apiVersion>1.23</apiVersion>
                    <registry>nexus3.onap.org:10001</registry>
                    <authConfig>
                        <pull>
                            <username>docker</username>
                            <password>docker</password>
                        </pull>
                    </authConfig>
                    <images>

                        <!-- Build backend image -->
                        <image>
                            <name>onap/${docker.image.name}</name>
                            <alias>${docker.image.name}</alias>
                            <build>
                                <cleanup>try</cleanup>
                                <dockerFileDir>${project.basedir}/artifacts</dockerFileDir>
                                <tags>
                                    <tag>${docker.tag}</tag>
                                    <tag>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}-STAGING-latest</tag>
                                </tags>
                            </build>
                        </image>
                    </images>
                </configuration>
                <executions>
                    <execution>
                        <id>clean-images</id>
                        <phase>pre-clean</phase>
                        <goals>
                            <goal>remove</goal>
                        </goals>
                        <configuration>
                            <removeAll>true</removeAll>
                            <image>onap/${docker.image.name}</image>
                        </configuration>
                    </execution>

                    <execution>
                        <id>generate-images</id>
                        <phase>install</phase>
                        <goals>
                            <goal>build</goal>
                        </goals>
                    </execution>

                    <execution>
                        <id>push-images</id>
                        <phase>deploy</phase>
                        <goals>
                            <goal>push</goal>
                        </goals>
                        <configuration>
                            <image>onap/${docker.image.name}</image>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>