<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.apache.tajo</groupId>
    <artifactId>tajo-main</artifactId>
    <version>0.2.0-incubating</version>
  </parent>
  <groupId>org.apache.tajo</groupId>
  <artifactId>tajo-project</artifactId>
  <version>0.2.0-incubating</version>
  <description>Tajo Project POM</description>
  <name>Tajo Project POM</name>
  <packaging>pom</packaging>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <tajo.version>0.2.0-incubating</tajo.version>
    <hadoop.version>2.0.5-alpha</hadoop.version>
  </properties>

  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
    </license>
  </licenses>

  <organization>
    <name>Apache Software Foundation</name>
    <url>http://www.apache.org</url>
  </organization>

  <developers>
    <developer>
      <id>akarasulu</id>
      <name>Alex Karasulu</name>
      <email>akarasulu@apache.org</email>
      <organization></organization>
      <roles>
        <role>Mentor</role>
      </roles>
      <timezone></timezone>
    </developer>
    <developer>
      <id>mattmann</id>
      <name>Chris Mattmann</name>
      <email>chris.a.mattmann@jpl.nasa.gov</email>
      <organization>NASA JPL</organization>
      <roles>
        <role>Mentor</role>
      </roles>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>ereisman</id>
      <name>Eli Reisman</name>
      <email>ereisman@apache.org</email>
      <organization>Hortonworks</organization>
      <roles>
        <role>PPMC</role>
      </roles>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>hsaputra</id>
      <name>Henry Saputra</name>
      <email>hsaputra@apache.org</email>
      <organization>Platfora</organization>
      <roles>
        <role>PPMC</role>
      </roles>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>hyunsik</id>
      <name>Hyunsik Choi</name>
      <email>hyunsik@apache.org</email>
      <organization>Gruter</organization>
      <roles>
        <role>PPMC</role>
      </roles>
      <timezone>+9</timezone>
    </developer>
    <developer>
      <id>blrunner</id>
      <name>JaeHwa Jung</name>
      <email>blrunner@apache.org</email>
      <organization>Gruter</organization>
      <roles>
        <role>PPMC</role>
      </roles>
      <timezone>+9</timezone>
    </developer>
    <developer>
      <id>jghoman</id>
      <name>Jakob Homan</name>
      <email>jghoman@apache.org</email>
      <organization>LinkedIn</organization>
      <roles>
        <role>Champion</role>
      </roles>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>jhkim</id>
      <name>Jinho Kim</name>
      <email>jhkim@apache.org</email>
      <organization>Gruter</organization>
      <roles>
        <role>PPMC</role>
      </roles>
      <timezone>+9</timezone>
    </developer>
    <developer>
      <id>jihoonson</id>
      <name>Jihoon Son</name>
      <email>jihoonson@apache.org</email>
      <organization>Korea University</organization>
      <roles>
        <role>PPMC</role>
      </roles>
      <timezone>+9</timezone>
    </developer>
    <developer>
      <id>omalley</id>
      <name>Owen O'Malley</name>
      <email>owen@hortonworks.com</email>
      <organization>Hortonworks</organization>
      <roles>
        <role>Mentor</role>
      </roles>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>rsumbaly</id>
      <name>Roshan Sumbaly</name>
      <email>rsumbaly@apache.org</email>
      <organization>LinkedIn</organization>
      <roles>
        <role>PPMC</role>
      </roles>
      <timezone>-8</timezone>
    </developer>
    <developer>
      <id>swkim</id>
      <name>Sangwook Kim</name>
      <email>swkim@apache.org</email>
      <organization>Inervit</organization>
      <roles>
        <role>PPMC</role>
      </roles>
      <timezone>+9</timezone>
    </developer>
    <developer>
      <id>yliu</id>
      <name>Yi Liu</name>
      <email>yliu@apache.org</email>
      <organization>Intel</organization>
      <roles>
        <role>PPMC</role>
      </roles>
      <timezone>+8</timezone>
    </developer>
  </developers>

  <contributors>
    <contributor>
      <name>Camelia</name>
    </contributor>
    <contributor>
      <name>DaeMyung Kang</name>
    </contributor>
    <contributor>
      <name>Dongmin Yu</name>
      <organization>InfiniLoop</organization>
    </contributor>
    <contributor>
      <name>Keuntae Park </name>
    </contributor>
    <contributor>
      <name>Hyoung Jun Kim</name>
    </contributor>
    <contributor>
      <name>Sergio Esteves</name>
    </contributor>
  </contributors>

  <issueManagement>
    <system>Jira</system>
    <url>https://issues.apache.org/jira/browse/TAJO</url>
  </issueManagement>

  <scm>
    <url>https://git-wip-us.apache.org/repos/asf/incubator-tajo.git</url>
    <connection>scm:git:http://git-wip-us.apache.org/repos/asf/incubator-tajo.git</connection>
    <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-tajo.git</developerConnection>
  </scm>

  <mailingLists>
    <mailingList>
      <name>Development list</name>
      <subscribe>mailto:dev-subscribe@tajo.incubator.apache.org
      </subscribe>
      <unsubscribe>mailto:dev-unsubscribe@tajo.incubator.apache.org
      </unsubscribe>
      <post>mailto:dev@tajo.incubator.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/tajo-dev/</archive>
    </mailingList>
    <mailingList>
      <name>Commit list</name>
      <subscribe>mailto:commits-subscribe@tajo.incubator.apache.org
      </subscribe>
      <unsubscribe>mailto:commits-unsubscribe@tajo.incubator.apache.org
      </unsubscribe>
      <post>mailto:commits@tajo.incubator.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/tajo-commits/</archive>
    </mailingList>
  </mailingLists>

  <repositories>
    <repository>
      <id>apache.snapshots</id>
      <url>http://repository.apache.org/snapshots</url>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
    <repository>
      <id>eclipse-jetty</id>
      <url>http://repo2.maven.org/maven2/org/eclipse/jetty/jetty-distribution/</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>
  </repositories>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.5.1</version>
          <configuration>
            <source>1.6</source>
            <target>1.6</target>
            <encoding>${project.build.sourceEncoding}</encoding>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>1.3</version>
          <configuration>
            <rules>
              <requireMavenVersion>
                <version>[3.0.2,)</version>
              </requireMavenVersion>
              <requireJavaVersion>
                <version>1.6</version>
              </requireJavaVersion>
            </rules>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>2.5</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>1.6</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>2.7.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.3</version>
          <dependencies>
            <dependency><!-- add support for ssh/scp -->
              <groupId>org.apache.maven.wagon</groupId>
              <artifactId>wagon-ssh</artifactId>
              <version>1.0</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>2.8.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <version>0.8</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>2.6</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>2.1.2</version>
        </plugin>
        <plugin>
          <groupId>org.apache.avro</groupId>
          <artifactId>avro-maven-plugin</artifactId>
          <version>1.5.3</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-project-info-reports-plugin</artifactId>
          <version>2.4</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
          <version>2.2</version>
        </plugin>
        <plugin>
          <groupId>org.antlr</groupId>
          <artifactId>antlr4-maven-plugin</artifactId>
          <version>4.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-report-plugin</artifactId>
          <version>2.15</version>
        </plugin>
        <!--This plugin's configuration is used to store Eclipse m2e settings only. 
          It has no influence on the Maven build itself. -->
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <versionRange>[1.6,)</versionRange>
                    <goals>
                      <goal>run</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <versionRange>[2.2,)</versionRange>
                    <goals>
                      <goal>testResources</goal>
                      <goal>resources</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.avro</groupId>
                    <artifactId>avro-maven-plugin</artifactId>
                    <versionRange>[1.5.3,)</versionRange>
                    <goals>
                      <goal>schema</goal>
                      <goal>protocol</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.mojo.jspc</groupId>
                    <artifactId>jspc-maven-plugin</artifactId>
                    <versionRange>[2.0-alpha-3,)</versionRange>
                    <goals>
                      <goal>compile</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <versionRange>[2.1,)</versionRange>
                    <goals>
                      <goal>copy-dependencies</goal>
                      <goal>build-classpath</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <versionRange>[1.2,)</versionRange>
                    <goals>
                      <goal>exec</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <versionRange>[2.3.1,)</versionRange>
                    <goals>
                      <goal>test-jar</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
          <encoding>${project.build.sourceEncoding}</encoding>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <inherited>false</inherited>
        <executions>
          <execution>
            <id>clean</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <phase>pre-clean</phase>
          </execution>
          <execution>
            <id>default</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <phase>validate</phase>
          </execution>
          <execution>
            <id>site</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <phase>pre-site</phase>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>3.3</version>
        <configuration>
          <skipDeploy>true</skipDeploy>
        </configuration>
        <executions>
          <execution>
            <id>attach-descriptor</id>
            <goals>
              <goal>attach-descriptor</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>2.15</version>
      </plugin>
    </plugins>
  </build>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.tajo</groupId>
        <artifactId>tajo-common</artifactId>
        <version>${tajo.version}</version>
        <type>jar</type>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.tajo</groupId>
        <artifactId>tajo-catalog</artifactId>
        <version>${tajo.version}</version>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>org.apache.tajo</groupId>
        <artifactId>tajo-catalog-common</artifactId>
        <version>${tajo.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tajo</groupId>
        <artifactId>tajo-catalog-client</artifactId>
        <version>${tajo.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tajo</groupId>
        <artifactId>tajo-catalog-server</artifactId>
        <version>${tajo.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tajo</groupId>
        <artifactId>tajo-core</artifactId>
        <version>${tajo.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tajo</groupId>
        <artifactId>tajo-core-storage</artifactId>
        <version>${tajo.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tajo</groupId>
        <artifactId>tajo-core-backend</artifactId>
        <version>${tajo.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tajo</groupId>
        <artifactId>tajo-core-backend</artifactId>
        <version>${tajo.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.tajo</groupId>
        <artifactId>tajo-core-pullserver</artifactId>
        <version>${tajo.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tajo</groupId>
        <artifactId>tajo-rpc</artifactId>
        <version>${tajo.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tajo</groupId>
        <artifactId>tajo-algebra</artifactId>
        <version>${tajo.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tajo</groupId>
        <artifactId>tajo-algebra</artifactId>
        <version>${tajo.version}</version>
        <type>test-jar</type>
      </dependency>

      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-common</artifactId>
        <version>${hadoop.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-el</groupId>
            <artifactId>commons-el</artifactId>
          </exclusion>
          <exclusion>
            <groupId>tomcat</groupId>
            <artifactId>jasper-runtime</artifactId>
          </exclusion>
          <exclusion>
            <groupId>tomcat</groupId>
            <artifactId>jasper-compiler</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>jsp-2.1-jetty</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-hdfs</artifactId>
        <version>${hadoop.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-hdfs</artifactId>
        <type>test-jar</type>
        <version>${hadoop.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-minicluster</artifactId>
        <version>${hadoop.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-yarn-api</artifactId>
        <version>${hadoop.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-yarn-common</artifactId>
        <version>${hadoop.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-yarn-server-nodemanager</artifactId>
        <version>${hadoop.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-yarn-server-resourcemanager</artifactId>
        <version>${hadoop.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-yarn-server-common</artifactId>
        <version>${hadoop.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-mapreduce-client-core</artifactId>
        <version>${hadoop.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.hadoop</groupId>
        <artifactId>hadoop-yarn-server-tests</artifactId>
        <version>${hadoop.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java</artifactId>
        <version>2.4.1</version>
      </dependency>
      <dependency>
        <groupId>org.antlr</groupId>
        <artifactId>antlr4</artifactId>
        <version>4.1</version>
        <type>jar</type>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>org.antlr</groupId>
        <artifactId>antlr4-runtime</artifactId>
        <version>4.1</version>
        <type>jar</type>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.10</version>
        <type>jar</type>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-math</artifactId>
        <version>2.1</version>
        <type>jar</type>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
        <exclusions>
          <exclusion>
            <groupId>avalon-framework</groupId>
            <artifactId>avalon-framework</artifactId>
          </exclusion>
          <exclusion>
            <groupId>logkit</groupId>
            <artifactId>logkit</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging-api</artifactId>
        <version>1.1</version>
        <exclusions>
          <exclusion>
            <groupId>com.sun.jdmk</groupId>
            <artifactId>jmxtools</artifactId>
          </exclusion>
          <exclusion>
            <groupId>com.sun.jmx</groupId>
            <artifactId>jmxri</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.jms</groupId>
            <artifactId>jmx</artifactId>
          </exclusion>
          <exclusion>
            <groupId>javax.jms</groupId>
            <artifactId>jms</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>13.0.1</version>
      </dependency>
      <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.2.2</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>1.9.5-rc1</version>
        <scope>test</scope>
      </dependency>
      <!--
      <dependency>
        <groupId>org.jboss.netty</groupId>
        <artifactId>netty</artifactId>
        <version>3.2.4.Final</version>
      </dependency>
      -->
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty</artifactId>
        <version>3.6.6.Final</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <profiles>
    <profile>
      <id>docs</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
              <execution>
                <!-- build javadoc jars per jar for publishing to maven -->
                <id>module-javadocs</id>
                <phase>package</phase>
                <goals>
                  <goal>jar</goal>
                </goals>
                <configuration>
                  <destDir>${project.build.directory}</destDir>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>src</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <executions>
              <execution>
                <!-- builds source jars and attaches them to the project for publishing -->
                <id>hadoop-java-sources</id>
                <phase>package</phase>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>dist</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-enforcer-plugin</artifactId>
            <executions>
              <execution>
                <id>dist-enforce</id>
                <phase>package</phase>
                <goals>
                  <goal>enforce</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-report-plugin</artifactId>
        <version>2.15</version>
        <configuration>
          <aggregate>true</aggregate>
        </configuration>
      </plugin>
    </plugins>
  </reporting>
</project>
