<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You 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.
-->
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    
    <parent>
        <groupId>org.apache.nifi.minifi</groupId>
        <artifactId>minifi-c2</artifactId>
        <version>1.15.0-SNAPSHOT</version>
    </parent>

    <groupId>org.apache.nifi.minifi</groupId>
    <artifactId>minifi-c2-docker</artifactId>
    <version>1.15.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <properties>
        <minifi.c2.version>${project.version}</minifi.c2.version>
    </properties>

    <profiles>
        <!-- Profile for building official Docker images. Not bound to build phases since that would require anyone build to have the Docker engine installed on their machine -->       
        <profile>                                   
            <id>docker</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>com.spotify</groupId>
                        <artifactId>docker-maven-plugin</artifactId>
                        <version>0.4.13</version>
                        <executions>
                            <execution>
                                <phase>package</phase>
                                <goals>
                                    <goal>build</goal>
                                </goals>
                            </execution>
                        </executions>
                        <configuration>
                            <imageName>apacheminific2</imageName>
                            <dockerDirectory>${project.basedir}/dockermaven</dockerDirectory>
                            <imageTags>
                               <imageTag>${minifi.c2.version}</imageTag>
                            </imageTags>
                            <buildArgs>
                                <UID>1000</UID>
                                <GID>1000</GID>
                                <MINIFI_C2_VERSION>${minifi.c2.version}</MINIFI_C2_VERSION>
                                <MINIFI_C2_BINARY>minifi-c2-${minifi.c2.version}-bin.tar.gz</MINIFI_C2_BINARY>
                            </buildArgs>
                            <resources>
                               <resource>
                                 <targetPath>/</targetPath>
                                 <directory>${project.basedir}/../minifi-c2-assembly/target</directory>
                                 <include>minifi-c2-${minifi.c2.version}-bin.tar.gz</include>
                               </resource>
                            </resources>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>      
</project>
