<?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">
  <!--
    /**
     * 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.
     */
    -->
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.hbase</groupId>
    <artifactId>hbase</artifactId>
    <version>2.4.14-h0.cbu.mrs.350.r26</version>
    <relativePath>..</relativePath>
  </parent>

  <artifactId>hbase-local-hindex</artifactId>
  <packaging>pom</packaging>
  <name>Huawei HBase - Local Secondary Index</name>
  <description>Secondary index related functionality for HBase</description>
  <modules>
    <module>index</module>
    <module>protocol</module>
    <module>protocol-shaded</module>
  </modules>

  <properties>
    <external.protoc.groupid>com.google.protobuf</external.protoc.groupid>
    <external.protoc.version>${external.protobuf.version}</external.protoc.version>
    <dep.os.arch/>
    <active.devtest>false</active.devtest>
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-hindex-protocol</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-hindex-protocol-shaded</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hbase</groupId>
        <artifactId>hbase-local-hindex</artifactId>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <finalName>${artifactId}-${version}${dep.os.arch}</finalName>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <configuration>
            <skip>true</skip>
          </configuration>
        </plugin>
        <!-- Make a jar and put the sources in the jar -->
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
        </plugin>
        <plugin>
          <groupId>org.xolstice.maven.plugins</groupId>
          <artifactId>protobuf-maven-plugin</artifactId>
          <version>${protobuf.plugin.version}</version>
          <configuration>
            <protocArtifact>${external.protoc.groupid}:protoc:${external.protoc.version}:exe:${os.detected.classifier}</protocArtifact>
            <protoSourceRoot>${basedir}/src/main/protobuf/</protoSourceRoot>
            <clearOutputDirectory>false</clearOutputDirectory>
            <checkStaleness>true</checkStaleness>
          </configuration>
        </plugin>
        <plugin>
          <!--Make it so assembly:single does nothing in here-->
          <artifactId>maven-assembly-plugin</artifactId>
          <configuration>
            <skipAssembly>true</skipAssembly>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <version>2.6</version>
          <configuration>
            <instrumentation>
              <ignores>
                <ignore>org.apache.hadoop.hbase.hindex.protobuf.generated.*</ignore>
              </ignores>
              <excludes>
                <exclude>**/org/apache/hadoop/hbase/hindex/protobuf/generated/**/*.class</exclude>
              </excludes>
              <ignoreTrivial>true</ignoreTrivial>
            </instrumentation>
            <check/>
            <formats>
              <format>html</format>
              <format>xml</format>
            </formats>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <extensions>
      <extension>
        <groupId>kr.motd.maven</groupId>
        <artifactId>os-maven-plugin</artifactId>
        <version>${os.maven.version}</version>
      </extension>
    </extensions>
  </build>
  <profiles>
    <!-- Skip the tests in this module -->
    <profile>
      <id>skipSecondaryIndexTests</id>
      <activation>
        <property>
          <name>skipSecondaryIndexTests</name>
        </property>
      </activation>
      <properties>
        <surefire.skipFirstPart>true</surefire.skipFirstPart>
        <surefire.skipSecondPart>true</surefire.skipSecondPart>
      </properties>
    </profile>
    <!-- profile against Hadoop 1.0.x: This is the default. It has to have the same
     activation property as the parent Hadoop 1.0.x profile to make sure it gets run at
     the same time. -->
    <profile>
      <id>hadoop-1.1</id>
      <activation>
        <property>
          <!--h1 -->
          <name>hadoop.profile</name>
          <value>1.1</value>
        </property>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-core</artifactId>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-test</artifactId>
        </dependency>
      </dependencies>
    </profile>

    <!-- profile against Hadoop 1.0.x:
          mvn -Dhadoop.profile=1.0
    -->
    <profile>
      <id>hadoop-1.0</id>
      <activation>
        <property>
          <name>hadoop.profile</name>
          <value>1.0</value>
        </property>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-core</artifactId>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-test</artifactId>
        </dependency>
      </dependencies>
    </profile>

    <!--
      profile for building against Hadoop 2.0.0-alpha. Activate using:
       mvn -Dhadoop.profile=2.0
    -->
    <profile>
      <id>hadoop-2.0</id>
      <activation>
        <property>
          <!--Below formatting for dev-support/generate-hadoopX-poms.sh-->
          <!--h2-->
          <name>!hadoop.profile</name>
        </property>
      </activation>
      <dependencies>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-common</artifactId>
          <exclusions>
            <exclusion>
              <groupId>com.sun.jersey</groupId>
              <artifactId>jersey-servlet</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-auth</artifactId>
          <exclusions>
            <exclusion>
              <groupId>org.ow2.asm</groupId>
              <artifactId>asm</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-client</artifactId>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-mapreduce-client-core</artifactId>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
          <type>test-jar</type>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-hdfs</artifactId>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-hdfs</artifactId>
          <type>test-jar</type>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-minicluster</artifactId>
          <scope>test</scope>
        </dependency>
        <!-- Hadoop needs Netty 3.x at test scope for the minicluster -->
        <dependency>
          <groupId>io.netty</groupId>
          <artifactId>netty</artifactId>
          <version>3.6.2.Final</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </profile>

    <!-- profile for building against Hadoop 3.0.x. Activate using: mvn -Dhadoop.profile=3.0 -->
    <profile>
      <id>hadoop-3.0</id>
      <activation>
        <property>
          <name>hadoop.profile</name>
          <value>3.0</value>
        </property>
      </activation>
      <properties>
        <hadoop.version>${hadoop-three.version}</hadoop.version>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-minicluster</artifactId>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>io.netty</groupId>
          <artifactId>netty-codec-http</artifactId>
          <version>${netty.hadoop.version}</version>
          <scope>test</scope>
          <exclusions>
            <exclusion>
              <groupId>*</groupId>
              <artifactId>*</artifactId>
            </exclusion>
          </exclusions>
        </dependency>
      </dependencies>
    </profile>
  </profiles>
</project>
