<?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.
-->
<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.hive</groupId>
    <artifactId>hive-it</artifactId>
    <version>1.2.0-SNAPSHOT</version>
    <relativePath>../pom.xml</relativePath>
  </parent>

  <artifactId>hive-it-qfile</artifactId>
  <packaging>jar</packaging>
  <name>Hive Integration - QFile Tests</name>

  <properties>
    <hive.path.to.root>../..</hive.path.to.root>

    <qfile></qfile>
    <qfile_regex></qfile_regex>
    <run_disabled>false</run_disabled>
    <clustermode></clustermode>
    <execute.beeline.tests>false</execute.beeline.tests>
  </properties>

  <dependencies>
    <!-- dependencies are always listed in sorted order by groupId, artifectId -->
    <!-- test intra-project -->
    <dependency>
      <groupId>org.apache.accumulo</groupId>
      <artifactId>accumulo-minicluster</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hive</groupId>
      <artifactId>hive-ant</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hive</groupId>
      <artifactId>hive-common</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hive</groupId>
      <artifactId>hive-contrib</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hive</groupId>
      <artifactId>hive-metastore</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hive</groupId>
      <artifactId>hive-metastore</artifactId>
      <version>${project.version}</version>
      <classifier>tests</classifier>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hive</groupId>
      <artifactId>hive-it-custom-serde</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hive</groupId>
      <artifactId>hive-it-util</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hive</groupId>
      <artifactId>hive-serde</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.hive</groupId>
      <artifactId>hive-exec</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
    <!-- test inter-project -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <profiles>
    <profile>
      <!-- replaces -Dclustermode=minimr which I am sure sure was used? -->
      <id>minimr</id>
      <properties>
        <test.warehouse.scheme></test.warehouse.scheme>
      </properties>
    </profile>
    <profile>
      <id>hadoop-1</id>
      <properties>
        <active.hadoop.version>${hadoop-20S.version}</active.hadoop.version>
        <test.dfs.mkdir>-mkdir</test.dfs.mkdir>
      </properties>
      <dependencies>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-core</artifactId>
          <version>${hadoop-20S.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-test</artifactId>
          <version>${hadoop-20S.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-tools</artifactId>
          <version>${hadoop-20S.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase-common</artifactId>
          <version>${hbase.hadoop1.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase-common</artifactId>
          <version>${hbase.hadoop1.version}</version>
          <scope>test</scope>
          <classifier>tests</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase-hadoop-compat</artifactId>
          <version>${hbase.hadoop1.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase-hadoop-compat</artifactId>
          <version>${hbase.hadoop1.version}</version>
          <scope>test</scope>
          <classifier>tests</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase-hadoop1-compat</artifactId>
          <version>${hbase.hadoop1.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase-hadoop1-compat</artifactId>
          <version>${hbase.hadoop1.version}</version>
          <scope>test</scope>
          <classifier>tests</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase-server</artifactId>
          <version>${hbase.hadoop1.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase-server</artifactId>
          <version>${hbase.hadoop1.version}</version>
          <classifier>tests</classifier>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>hadoop-2</id>
      <properties>
        <active.hadoop.version>${hadoop-23.version}</active.hadoop.version>
        <test.dfs.mkdir>-mkdir -p</test.dfs.mkdir>
      </properties>
      <dependencies>
        <dependency>
          <groupId>com.sun.jersey</groupId>
          <artifactId>jersey-servlet</artifactId>
          <version>${jersey.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-archives</artifactId>
          <version>${hadoop-23.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-common</artifactId>
          <version>${hadoop-23.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-common</artifactId>
          <version>${hadoop-23.version}</version>
          <classifier>tests</classifier>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-hdfs</artifactId>
          <version>${hadoop-23.version}</version>
          <classifier>tests</classifier>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-hdfs</artifactId>
          <version>${hadoop-23.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-mapreduce-client-jobclient</artifactId>
          <version>${hadoop-23.version}</version>
          <classifier>tests</classifier>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-mapreduce-client-hs</artifactId>
          <version>${hadoop-23.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-mapreduce-client-core</artifactId>
          <version>${hadoop-23.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
          <version>${commons-logging.version}</version>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-yarn-server-tests</artifactId>
          <version>${hadoop-23.version}</version>
          <scope>test</scope>
          <classifier>tests</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.hadoop</groupId>
          <artifactId>hadoop-yarn-client</artifactId>
          <version>${hadoop-23.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase-common</artifactId>
          <version>${hbase.hadoop2.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase-common</artifactId>
          <version>${hbase.hadoop2.version}</version>
          <scope>test</scope>
          <classifier>tests</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase-hadoop-compat</artifactId>
          <version>${hbase.hadoop2.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase-hadoop-compat</artifactId>
          <version>${hbase.hadoop2.version}</version>
          <scope>test</scope>
          <classifier>tests</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase-hadoop2-compat</artifactId>
          <version>${hbase.hadoop2.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase-hadoop2-compat</artifactId>
          <version>${hbase.hadoop2.version}</version>
          <scope>test</scope>
          <classifier>tests</classifier>
        </dependency>
        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase-server</artifactId>
          <version>${hbase.hadoop2.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.hbase</groupId>
          <artifactId>hbase-server</artifactId>
          <version>${hbase.hadoop2.version}</version>
          <classifier>tests</classifier>
          <scope>test</scope>
        </dependency>
        <dependency> 
          <groupId>org.apache.tez</groupId> 
          <artifactId>tez-tests</artifactId>
          <version>${tez.version}</version>
          <type>test-jar</type>
        </dependency>
        <dependency> 
          <groupId>org.apache.tez</groupId>
          <artifactId>tez-api</artifactId>
          <version>${tez.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency> 
          <groupId>org.apache.tez</groupId>
          <artifactId>tez-runtime-library</artifactId>
          <version>${tez.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency> 
          <groupId>org.apache.tez</groupId>
          <artifactId>tez-mapreduce</artifactId>
          <version>${tez.version}</version>
          <scope>test</scope>
        </dependency>
        <dependency> 
          <groupId>org.apache.tez</groupId>
          <artifactId>tez-dag</artifactId>
          <version>${tez.version}</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </profile>
  </profiles>

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>properties-maven-plugin</artifactId>
        <version>1.0-alpha-2</version>
        <executions>
          <execution>
            <phase>initialize</phase>
            <goals>
              <goal>read-project-properties</goal>
            </goals>
            <configuration>
              <files>
                <file>${basedir}/../src/test/resources/testconfiguration.properties</file>
              </files>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
          <execution>
            <id>generate-tests-sources</id>
            <phase>generate-test-sources</phase>
            <configuration>
              <target>
                <property name="test.classpath" refid="maven.test.classpath"/>
                <echo message="${test.classpath}"/>
                <taskdef resource="net/sf/antcontrib/antcontrib.properties"
                  classpathref="maven.plugin.classpath" />
                <taskdef name="qtestgen" classname="org.apache.hadoop.hive.ant.QTestGenTask"
                  classpath="${test.classpath}" />
                <mkdir dir="${project.build.directory}/qfile-results/clientpositive/" />
                <mkdir dir="${project.build.directory}/qfile-results/clientnegative/" />
                <mkdir dir="${project.build.directory}/qfile-results/clientcompare"/>
                <mkdir dir="${project.build.directory}/qfile-results/positive/" />
                <mkdir dir="${project.build.directory}/qfile-results/negative/" />
                <mkdir dir="${project.build.directory}/qfile-results/hbase-handler/positive/" />
                <mkdir dir="${project.build.directory}/qfile-results/hbase-handler/negative/" />
                <mkdir dir="${project.build.directory}/qfile-results/hbase-handler/minimrpositive/" />
                <mkdir dir="${project.build.directory}/qfile-results/accumulo-handler/positive/" />

                <mkdir dir="${project.build.directory}/qfile-results/contribpositive"/>
                <mkdir dir="${project.build.directory}/qfile-results/contribnegative"/>
                <mkdir dir="${project.build.directory}/qfile-results/contribclientpositive"/>
                <mkdir dir="${project.build.directory}/qfile-results/contribclientnegative"/>

                <!-- Negative Parse -->
                <qtestgen hiveRootDirectory="${basedir}/${hive.path.to.root}/"
                  outputDirectory="${project.build.directory}/generated-test-sources/java/org/apache/hadoop/hive/ql/parse/"
                  templatePath="${basedir}/${hive.path.to.root}/ql/src/test/templates/" template="TestParseNegative.vm"
                  queryDirectory="${basedir}/${hive.path.to.root}/ql/src/test/queries/negative/"
                  queryFile="${qfile}"
                  queryFileRegex="${qfile_regex}"
                  runDisabled="${run_disabled}"
                  resultsDirectory="${basedir}/${hive.path.to.root}/ql/src/test/results/compiler/errors/" className="TestParseNegative"
                  logFile="${project.build.directory}/testparseneggen.log"
                  hadoopVersion="${active.hadoop.version}"
                  logDirectory="${project.build.directory}/qfile-results/negative/"
                  initScript="q_test_init.sql"
                  cleanupScript="q_test_cleanup.sql"/>

                <!-- Cli -->
                <qtestgen hiveRootDirectory="${basedir}/${hive.path.to.root}/"
                  outputDirectory="${project.build.directory}/generated-test-sources/java/org/apache/hadoop/hive/cli/"
                  templatePath="${basedir}/${hive.path.to.root}/ql/src/test/templates/" template="TestCliDriver.vm"
                  queryDirectory="${basedir}/${hive.path.to.root}/ql/src/test/queries/clientpositive/"
                  queryFile="${qfile}"
                  excludeQueryFile="${minimr.query.files},${minitez.query.files},${encrypted.query.files}"
                  queryFileRegex="${qfile_regex}"
                  clusterMode="${clustermode}"
                  runDisabled="${run_disabled}"
                  resultsDirectory="${basedir}/${hive.path.to.root}/ql/src/test/results/clientpositive/" className="TestCliDriver"
                  logFile="${project.build.directory}/testclidrivergen.log"
                  logDirectory="${project.build.directory}/qfile-results/clientpositive/"
                  hadoopVersion="${active.hadoop.version}"
                  initScript="q_test_init.sql"
                  cleanupScript="q_test_cleanup.sql"/>

                <!-- Negative Cli -->
                <qtestgen hiveRootDirectory="${basedir}/${hive.path.to.root}/"
                  outputDirectory="${project.build.directory}/generated-test-sources/java/org/apache/hadoop/hive/cli/"
                  templatePath="${basedir}/${hive.path.to.root}/ql/src/test/templates/" template="TestNegativeCliDriver.vm"
                  queryDirectory="${basedir}/${hive.path.to.root}/ql/src/test/queries/clientnegative/"
                  queryFile="${qfile}"
                  excludeQueryFile="${minimr.query.negative.files}"
                  queryFileRegex="${qfile_regex}"
                  clusterMode="${clustermode}"
                  runDisabled="${run_disabled}"
                  resultsDirectory="${basedir}/${hive.path.to.root}/ql/src/test/results/clientnegative/" className="TestNegativeCliDriver"
                  logFile="${project.build.directory}/testnegativeclidrivergen.log"
                  logDirectory="${project.build.directory}/qfile-results/clientnegative/"
                  hadoopVersion="${active.hadoop.version}"
                  initScript="q_test_init.sql"
                  cleanupScript="q_test_cleanup.sql"/>

                <!-- Compare Cli -->
                <qtestgen hiveRootDirectory="${basedir}/${hive.path.to.root}/"
                  outputDirectory="${project.build.directory}/generated-test-sources/java/org/apache/hadoop/hive/cli/"
                  templatePath="${basedir}/${hive.path.to.root}/ql/src/test/templates/" template="TestCompareCliDriver.vm"
                  queryDirectory="${basedir}/${hive.path.to.root}/ql/src/test/queries/clientcompare/"
                  queryFile="${qfile}"
                  queryFileRegex="${qfile_regex}"
                  clusterMode="${clustermode}"
                  runDisabled="${run_disabled}"
                  className="TestCompareCliDriver"
                  logFile="${project.build.directory}/testcompareclidrivergen.log"
                  logDirectory="${project.build.directory}/qfile-results/clientcompare/"
                  hadoopVersion="${active.hadoop.version}"
                  initScript="q_test_init.sql"
                  cleanupScript="q_test_cleanup.sql"/>

                <!-- Minimr -->
                <qtestgen hiveRootDirectory="${basedir}/${hive.path.to.root}/"
                  outputDirectory="${project.build.directory}/generated-test-sources/java/org/apache/hadoop/hive/cli/"
                  templatePath="${basedir}/${hive.path.to.root}/ql/src/test/templates/" template="TestCliDriver.vm"
                  queryDirectory="${basedir}/${hive.path.to.root}/ql/src/test/queries/clientpositive/"
                  queryFile="${qfile}"
                  includeQueryFile="${minimr.query.files}"
                  queryFileRegex="${qfile_regex}"
                  clusterMode="miniMR"
                  runDisabled="${run_disabled}"
                  resultsDirectory="${basedir}/${hive.path.to.root}/ql/src/test/results/clientpositive/" className="TestMinimrCliDriver"
                  logFile="${project.build.directory}/testminimrclidrivergen.log"
                  logDirectory="${project.build.directory}/qfile-results/clientpositive/"
                  hadoopVersion="${active.hadoop.version}"
                  initScript="q_test_init.sql"
                  cleanupScript="q_test_cleanup.sql"/>

                <if>
                  <equals arg1="${active.hadoop.version}" arg2="${hadoop-23.version}"/>
                  <then>
                    <qtestgen hiveRootDirectory="${basedir}/${hive.path.to.root}/"
                              outputDirectory="${project.build.directory}/generated-test-sources/java/org/apache/hadoop/hive/cli/"
                              templatePath="${basedir}/${hive.path.to.root}/ql/src/test/templates/" template="TestCliDriver.vm"
                              queryDirectory="${basedir}/${hive.path.to.root}/ql/src/test/queries/clientpositive/"
                              queryFile="${qfile}"
                              includeQueryFile="${minitez.query.files},${minitez.query.files.shared}"
                              queryFileRegex="${qfile_regex}"
                              clusterMode="tez"
                              runDisabled="${run_disabled}"
                              hiveConfDir="${basedir}/${hive.path.to.root}/data/conf/tez"
                              resultsDirectory="${basedir}/${hive.path.to.root}/ql/src/test/results/clientpositive/tez" 
                              className="TestMiniTezCliDriver"
                              logFile="${project.build.directory}/testminitezclidrivergen.log"
                              logDirectory="${project.build.directory}/qfile-results/clientpositive/"
                              hadoopVersion="${active.hadoop.version}"
                              initScript="q_test_init.sql"
                              cleanupScript="q_test_cleanup.sql"/>

                    <qtestgen hiveRootDirectory="${basedir}/${hive.path.to.root}/"
                              outputDirectory="${project.build.directory}/generated-test-sources/java/org/apache/hadoop/hive/cli/"
                              templatePath="${basedir}/${hive.path.to.root}/ql/src/test/templates/" template="TestCliDriver.vm"
                              queryDirectory="${basedir}/${hive.path.to.root}/ql/src/test/queries/clientpositive/"
                              queryFile="${qfile}"
                              includeQueryFile="${encrypted.query.files}"
                              queryFileRegex="${qfile_regex}"
                              clusterMode="encrypted"
                              runDisabled="${run_disabled}"
                              hiveConfDir="${basedir}/${hive.path.to.root}/data/conf"
                              resultsDirectory="${basedir}/${hive.path.to.root}/ql/src/test/results/clientpositive/encrypted"
                              className="TestEncryptedHDFSCliDriver"
                              logFile="${project.build.directory}/testencryptedhdfsclidrivergen.log"
                              logDirectory="${project.build.directory}/qfile-results/clientpositive/"
                              hadoopVersion="${active.hadoop.version}"
                              initScript="q_test_init_for_encryption.sql"
                              cleanupScript="q_test_cleanup_for_encryption.sql"/>
                  </then>
                  <else>
                  </else>
                </if>

                <!-- Negative Minimr -->
                <qtestgen hiveRootDirectory="${basedir}/${hive.path.to.root}/"
                  outputDirectory="${project.build.directory}/generated-test-sources/java/org/apache/hadoop/hive/cli/"
                  templatePath="${basedir}/${hive.path.to.root}/ql/src/test/templates/" template="TestNegativeCliDriver.vm"
                  queryDirectory="${basedir}/${hive.path.to.root}/ql/src/test/queries/clientnegative/"
                  queryFile="${qfile}"
                  includeQueryFile="${minimr.query.negative.files}"
                  queryFileRegex="${qfile_regex}"
                  clusterMode="miniMR"
                  runDisabled="${run_disabled}"
                  resultsDirectory="${basedir}/${hive.path.to.root}/ql/src/test/results/clientnegative/" className="TestNegativeMinimrCliDriver"
                  logFile="${project.build.directory}/testnegativeminimrclidrivergen.log"
                  logDirectory="${project.build.directory}/qfile-results/clientnegative/"
                  hadoopVersion="${hadoopVersion}"
                  initScript="q_test_init.sql"
                  cleanupScript="q_test_cleanup.sql"/>

                <!-- HBase Positive -->
                <qtestgen hiveRootDirectory="${basedir}/${hive.path.to.root}/"
                  outputDirectory="${project.build.directory}/generated-test-sources/java/org/apache/hadoop/hive/cli/"
                  templatePath="${basedir}/${hive.path.to.root}/hbase-handler/src/test/templates/" template="TestHBaseCliDriver.vm"
                  queryDirectory="${basedir}/${hive.path.to.root}/hbase-handler/src/test/queries/positive/"
                  queryFile="${qfile}"
                  runDisabled="${run_disabled}"
                  clusterMode="${clustermode}"
                  resultsDirectory="${basedir}/${hive.path.to.root}/hbase-handler/src/test/results/positive/" className="TestHBaseCliDriver"
                  logFile="${project.build.directory}/testhbaseclidrivergen.log"
                  logDirectory="${project.build.directory}/qfile-results/hbase-handler/positive/"
                  initScript="q_test_init.sql"
                  cleanupScript="q_test_cleanup.sql"/>

                <!-- HBase Minimr -->
                <qtestgen hiveRootDirectory="${basedir}/${hive.path.to.root}/"
                  outputDirectory="${project.build.directory}/generated-test-sources/java/org/apache/hadoop/hive/cli/"
                  templatePath="${basedir}/${hive.path.to.root}/hbase-handler/src/test/templates/" template="TestHBaseCliDriver.vm"
                  queryDirectory="${basedir}/${hive.path.to.root}/hbase-handler/src/test/queries/positive/"
                  queryFile="hbase_bulk.m"
                  runDisabled="${run_disabled}"
                  clusterMode="miniMR"
                  resultsDirectory="${basedir}/${hive.path.to.root}/hbase-handler/src/test/results/positive/" className="TestHBaseMinimrCliDriver"
                  logFile="${project.build.directory}/testhbaseminimrclidrivergen.log"
                  logDirectory="${project.build.directory}/qfile-results/hbase-handler/minimrpositive/"
                  initScript="q_test_init.sql"
                  cleanupScript="q_test_cleanup.sql"/>

                <!-- HBase Negative -->
                <qtestgen hiveRootDirectory="${basedir}/${hive.path.to.root}/"
                  outputDirectory="${project.build.directory}/generated-test-sources/java/org/apache/hadoop/hive/cli/"
                  templatePath="${basedir}/${hive.path.to.root}/hbase-handler/src/test/templates/" template="TestHBaseNegativeCliDriver.vm"
                  queryDirectory="${basedir}/${hive.path.to.root}/hbase-handler/src/test/queries/negative/"
                  queryFile="${qfile}"
                  runDisabled="${run_disabled}"
                  clusterMode="${clustermode}"
                  resultsDirectory="${basedir}/${hive.path.to.root}/hbase-handler/src/test/results/negative/" className="TestHBaseNegativeCliDriver"
                  logFile="${project.build.directory}/testhbasenegativeclidrivergen.log"
                  logDirectory="${project.build.directory}/qfile-results/hbase-handler/negative"
                  initScript="q_test_init.sql"
                  cleanupScript="q_test_cleanup.sql"/>

                <!-- Accumulo Positive -->
                <qtestgen hiveRootDirectory="${basedir}/${hive.path.to.root}/"
                  outputDirectory="${project.build.directory}/generated-test-sources/java/org/apache/hadoop/hive/cli/"
                  templatePath="${basedir}/${hive.path.to.root}/accumulo-handler/src/test/templates/" template="TestAccumuloCliDriver.vm"
                  queryDirectory="${basedir}/${hive.path.to.root}/accumulo-handler/src/test/queries/positive/"
                  queryFile="${qfile}"
                  runDisabled="${run_disabled}"
                  clusterMode="${clustermode}"
                  resultsDirectory="${basedir}/${hive.path.to.root}/accumulo-handler/src/test/results/positive/" className="TestAccumuloCliDriver"
                  logFile="${project.build.directory}/testaccumuloclidrivergen.log"
                  logDirectory="${project.build.directory}/qfile-results/accumulo-handler/positive/"
                  initScript="q_test_init.sql"
                  cleanupScript="q_test_cleanup.sql"/>


                <!-- Beeline -->
                <if>
                  <equals arg1="${execute.beeline.tests}" arg2="true" />
                    <then>
                      <qtestgen hiveRootDirectory="${basedir}/${hive.path.to.root}/"
                        outputDirectory="${project.build.directory}/generated-test-sources/java/org/apache/hive/beeline/util/"
                        templatePath="${ql.test.template.dir}" template="TestBeeLineDriver.vm"
                        queryDirectory="${basedir}/${hive.path.to.root}/ql/src/test/queries/clientpositive/"
                        queryFile="${qfile}"
                        excludeQueryFile="${beeline.positive.exclude}"
                        queryFileRegex="${qfile_regex}"
                        clusterMode="${clustermode}"
                        runDisabled="${run_disabled}"
                        resultsDirectory="${basedir}/${hive.path.to.root}/ql/src/test/results/clientpositive/" className="TestBeeLineDriver"
                        logFile="${project.build.directory}/testbeelinedrivergen.log"
                        logDirectory="${project.build.directory}/qfile-results/beelinepositive/"
                        hadoopVersion="${hadoopVersion}"/>
                    </then>
                </if>



                <qtestgen hiveRootDirectory="${basedir}/${hive.path.to.root}/"
                  outputDirectory="${project.build.directory}/generated-test-sources/java/org/apache/hadoop/hive/cli"
                  templatePath="${basedir}/${hive.path.to.root}/ql/src/test/templates/" template="TestCliDriver.vm"
                  queryDirectory="${basedir}/${hive.path.to.root}/contrib/src/test/queries/clientpositive"
                  queryFile="${qfile}"
                  queryFileRegex="${qfile_regex}"
                  runDisabled="${run_disabled}"
                  clusterMode="${clustermode}"
                  resultsDirectory="${basedir}/${hive.path.to.root}/contrib/src/test/results/clientpositive/" className="TestContribCliDriver"
                  logFile="${project.build.directory}/testcontribclidrivergen.log"
                  logDirectory="${project.build.directory}/qfile-results/contribclientpositive"
                  hadoopVersion="${hadoopVersion}"
                  initScript="q_test_init.sql"
                  cleanupScript="q_test_cleanup.sql"/>

                <qtestgen hiveRootDirectory="${basedir}/${hive.path.to.root}/"
                  outputDirectory="${project.build.directory}/generated-test-sources/java/org/apache/hadoop/hive/cli"
                  templatePath="${basedir}/${hive.path.to.root}/ql/src/test/templates/" template="TestNegativeCliDriver.vm"
                  queryDirectory="${basedir}/${hive.path.to.root}/contrib/src/test/queries/clientnegative"
                  queryFile="${qfile}"
                  queryFileRegex="${qfile_regex}"
                  runDisabled="${run_disabled}"
                  resultsDirectory="${basedir}/${hive.path.to.root}/contrib/src/test/results/clientnegative/" className="TestContribNegativeCliDriver"
                  logFile="${project.build.directory}/testcontribnegclidrivergen.log"
                  logDirectory="${project.build.directory}/qfile-results/contribclientnegative"
                  initScript="q_test_init.sql"
                  cleanupScript="q_test_cleanup.sql"/>


              </target>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>${maven.build-helper.plugin.version}</version>
        <executions>
          <execution>
            <id>add-test-sources</id>
            <phase>generate-test-sources</phase>
            <goals>
              <goal>add-test-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>target/generated-test-sources/java</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

</project>
