<?xml version="1.0" encoding="UTF-8"?>
<!--
  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. See accompanying LICENSE file.
-->
<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.hadoop</groupId>
    <artifactId>hadoop-ozone</artifactId>
    <version>0.5.0-SNAPSHOT</version>
  </parent>
  <artifactId>hadoop-ozone-dist</artifactId>
  <name>Apache Hadoop Ozone Distribution</name>
  <packaging>pom</packaging>
  <version>0.5.0-SNAPSHOT</version>
  <properties>
    <file.encoding>UTF-8</file.encoding>
    <downloadSources>true</downloadSources>
    <docker.ozone-runner.version>20190717-1</docker.ozone-runner.version>
  </properties>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution>
            <id>copy-classpath-files</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>target/ozone-${ozone.version}/share/ozone/classpath
              </outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>org.apache.hadoop</groupId>
                  <artifactId>hadoop-hdds-server-scm</artifactId>
                  <version>${hdds.version}</version>
                  <classifier>classpath</classifier>
                  <type>cp</type>
                  <destFileName>hadoop-hdds-server-scm.classpath</destFileName>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.hadoop</groupId>
                  <artifactId>hadoop-hdds-tools</artifactId>
                  <version>${hdds.version}</version>
                  <classifier>classpath</classifier>
                  <type>cp</type>
                  <destFileName>hadoop-hdds-tools.classpath</destFileName>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.hadoop</groupId>
                  <artifactId>hadoop-ozone-s3gateway</artifactId>
                  <version>${ozone.version}</version>
                  <classifier>classpath</classifier>
                  <type>cp</type>
                  <destFileName>hadoop-ozone-s3gateway.classpath</destFileName>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.hadoop</groupId>
                  <artifactId>hadoop-ozone-csi</artifactId>
                  <version>${ozone.version}</version>
                  <classifier>classpath</classifier>
                  <type>cp</type>
                  <destFileName>hadoop-ozone-csi.classpath</destFileName>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.hadoop</groupId>
                  <artifactId>hadoop-ozone-ozone-manager</artifactId>
                  <version>${ozone.version}</version>
                  <classifier>classpath</classifier>
                  <type>cp</type>
                  <destFileName>hadoop-ozone-ozone-manager.classpath
                  </destFileName>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.hadoop</groupId>
                  <artifactId>hadoop-ozone-tools</artifactId>
                  <version>${ozone.version}</version>
                  <classifier>classpath</classifier>
                  <type>cp</type>
                  <destFileName>hadoop-ozone-tools.classpath</destFileName>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.hadoop</groupId>
                  <artifactId>hadoop-ozone-filesystem</artifactId>
                  <version>${ozone.version}</version>
                  <classifier>classpath</classifier>
                  <type>cp</type>
                  <destFileName>hadoop-ozone-filesystem.classpath</destFileName>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.hadoop</groupId>
                  <artifactId>hadoop-ozone-common</artifactId>
                  <version>${ozone.version}</version>
                  <classifier>classpath</classifier>
                  <type>cp</type>
                  <destFileName>hadoop-ozone-common.classpath</destFileName>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.hadoop</groupId>
                  <artifactId>hadoop-ozone-datanode</artifactId>
                  <version>${ozone.version}</version>
                  <classifier>classpath</classifier>
                  <type>cp</type>
                  <destFileName>hadoop-ozone-datanode.classpath</destFileName>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.hadoop</groupId>
                  <artifactId>hadoop-ozone-recon</artifactId>
                  <version>${ozone.version}</version>
                  <classifier>classpath</classifier>
                  <type>cp</type>
                  <destFileName>hadoop-ozone-recon.classpath</destFileName>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.hadoop</groupId>
                  <artifactId>hadoop-ozone-upgrade</artifactId>
                  <version>${ozone.version}</version>
                  <classifier>classpath</classifier>
                  <type>cp</type>
                  <destFileName>hadoop-ozone-upgrade.classpath</destFileName>
                </artifactItem>
                <artifactItem>
                  <groupId>org.apache.hadoop</groupId>
                  <artifactId>hadoop-ozone-insight</artifactId>
                  <version>${ozone.version}</version>
                  <classifier>classpath</classifier>
                  <type>cp</type>
                  <destFileName>hadoop-ozone-insight.classpath</destFileName>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>copy-jars</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>target/ozone-${ozone.version}/share/ozone/lib
              </outputDirectory>
              <includeScope>runtime</includeScope>
            </configuration>
          </execution>
          <execution>
            <id>copy-omitted-jars</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <outputDirectory>target/ozone-${ozone.version}/share/ozone/lib
              </outputDirectory>
              <artifactItems>
                <artifactItem>
                  <groupId>com.google.protobuf</groupId>
                  <artifactId>protobuf-java</artifactId>
                  <version>3.5.1</version>
                </artifactItem>
                <artifactItem>
                  <groupId>com.google.guava</groupId>
                  <artifactId>guava</artifactId>
                  <version>26.0-android</version>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.1.0</version>
        <executions>
          <execution>
            <id>copy-compose-files</id>
            <phase>compile</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${basedir}/target/compose</outputDirectory>
              <resources>
                <resource>
                  <directory>src/main/compose</directory>
                  <filtering>true</filtering>
                </resource>
              </resources>
            </configuration>
          </execution>
          <execution>
            <id>copy-and-filter-dockerfile</id>
            <phase>compile</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}</outputDirectory>
              <resources>
                <resource>
                  <directory>src/main/docker</directory>
                  <filtering>true</filtering>
                </resource>
              </resources>
            </configuration>
          </execution>
          <execution>
            <id>copy-k8s</id>
            <phase>compile</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${basedir}/target/k8s</outputDirectory>
              <resources>
                <resource>
                  <directory>src/main/k8s</directory>
                  <filtering>true</filtering>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>dist</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>exec</goal>
            </goals>
            <configuration>
              <executable>${shell-executable}</executable>
              <workingDirectory>${project.build.directory}</workingDirectory>
              <arguments>
                <argument>
                  ${basedir}/dev-support/bin/dist-layout-stitching
                </argument>
                <argument>${project.build.directory}</argument>
                <argument>${hdds.version}</argument>
              </arguments>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <!-- there is no problem to have multiple versions of the jar files from
      here. As the dependencies will be handled in a separated way with
      separated classpath definitions-->
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>depcheck</id>
            <phase></phase>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-hdds-tools</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-hdds-server-scm</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-hdds-container-service</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-ozone-s3gateway</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-ozone-csi</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-ozone-ozone-manager</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-ozone-tools</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-ozone-filesystem-lib-current</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-ozone-filesystem-lib-legacy</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-ozone-common</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-ozone-datanode</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-ozone-recon</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-hdds-docs</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-ozone-upgrade</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-ozone-insight</artifactId>
    </dependency>
  </dependencies>
  <profiles>
    <profile>
      <id>docker-build</id>
      <build>
        <plugins>
          <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>0.29.0</version>
            <executions>
              <execution>
                <goals>
                  <goal>build</goal>
                </goals>
                <phase>package</phase>
              </execution>
            </executions>
            <configuration>
              <images>
                <image>
                  <name>${docker.image}</name>
                  <build>
                    <dockerFileDir>
                      ${project.build.directory}/ozone-${project.version}
                    </dockerFileDir>
                  </build>
                </image>
              </images>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>docker-push</id>
      <build>
        <plugins>
          <plugin>
            <groupId>io.fabric8</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>0.29.0</version>
            <executions>
              <execution>
                <goals>
                  <goal>push</goal>
                </goals>
                <phase>package</phase>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>dist</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>tar-ozone</id>
                <phase>package</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
                <configuration>
                  <executable>${shell-executable}</executable>
                  <workingDirectory>${project.build.directory}
                  </workingDirectory>
                  <arguments>
                    <argument>${basedir}/dev-support/bin/dist-tar-stitching
                    </argument>
                    <argument>${hdds.version}</argument>
                    <argument>${project.build.directory}</argument>
                  </arguments>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
