You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by gu...@apache.org on 2017/02/09 23:46:53 UTC

[3/5] hive git commit: HIVE-15791: Remove unused ant files (Gunther Hagleitner, reviewed by Ashutosh Chauhan)

http://git-wip-us.apache.org/repos/asf/hive/blob/1f1e91aa/ant/src/org/apache/hadoop/hive/ant/GenVectorTestCode.java
----------------------------------------------------------------------
diff --git a/ant/src/org/apache/hadoop/hive/ant/GenVectorTestCode.java b/ant/src/org/apache/hadoop/hive/ant/GenVectorTestCode.java
deleted file mode 100644
index 802cbb2..0000000
--- a/ant/src/org/apache/hadoop/hive/ant/GenVectorTestCode.java
+++ /dev/null
@@ -1,261 +0,0 @@
-/**
- * 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.
- */
-
-package org.apache.hadoop.hive.ant;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.HashMap;
-
-/**
- *
- * GenVectorTestCode.
- * This class is mutable and maintains a hashmap of TestSuiteClassName to test cases.
- * The tests cases are added over the course of vectorized expressions class generation,
- * with test classes being outputted at the end. For each column vector (inputs and/or outputs)
- * a matrix of pairwise covering Booleans is used to generate test cases across nulls and
- * repeating dimensions. Based on the input column vector(s) nulls and repeating states
- * the states of the output column vector (if there is one) is validated, along with the null
- * vector. For filter operations the selection vector is validated against the generated
- * data. Each template corresponds to a class representing a test suite.
- */
-public class GenVectorTestCode {
-
-  public enum TestSuiteClassName{
-    TestColumnScalarOperationVectorExpressionEvaluation,
-    TestColumnScalarFilterVectorExpressionEvaluation,
-    TestColumnColumnOperationVectorExpressionEvaluation,
-    TestColumnColumnFilterVectorExpressionEvaluation,
-  }
-
-  private final String testOutputDir;
-  private final String testTemplateDirectory;
-  private final HashMap<TestSuiteClassName,StringBuilder> testsuites;
-
-  public GenVectorTestCode(String testOutputDir, String testTemplateDirectory) {
-    this.testOutputDir = testOutputDir;
-    this.testTemplateDirectory = testTemplateDirectory;
-    testsuites = new HashMap<TestSuiteClassName, StringBuilder>();
-
-    for(TestSuiteClassName className : TestSuiteClassName.values()) {
-      testsuites.put(className,new StringBuilder());
-    }
-
-  }
-
-  public void addColumnScalarOperationTestCases(boolean op1IsCol, String vectorExpClassName,
-      String inputColumnVectorType, String outputColumnVectorType, String scalarType)
-          throws IOException {
-
-    TestSuiteClassName template =
-        TestSuiteClassName.TestColumnScalarOperationVectorExpressionEvaluation;
-
-    //Read the template into a string;
-    String templateFile = GenVectorCode.joinPath(this.testTemplateDirectory,template.toString()+".txt");
-    String templateString = removeTemplateComments(GenVectorCode.readFile(templateFile));
-
-    for(Boolean[] testMatrix :new Boolean[][]{
-        // Pairwise: InitOuputColHasNulls, InitOuputColIsRepeating, ColumnHasNulls, ColumnIsRepeating
-        {false,   true,    true,    true},
-        {false,   false,   false,   false},
-        {true,    false,   true,    false},
-        {true,    true,    false,   false},
-        {true,    false,   false,   true}}) {
-      String testCase = templateString;
-      testCase = testCase.replaceAll("<TestName>",
-          "test"
-           + vectorExpClassName
-           + createNullRepeatingNameFragment("Out", testMatrix[0], testMatrix[1])
-           + createNullRepeatingNameFragment("Col", testMatrix[2], testMatrix[3]));
-      testCase = testCase.replaceAll("<VectorExpClassName>", vectorExpClassName);
-      testCase = testCase.replaceAll("<InputColumnVectorType>", inputColumnVectorType);
-      testCase = testCase.replaceAll("<OutputColumnVectorType>", outputColumnVectorType);
-      testCase = testCase.replaceAll("<ScalarType>", scalarType);
-      testCase = testCase.replaceAll("<CamelCaseScalarType>", GenVectorCode.getCamelCaseType(scalarType));
-      testCase = testCase.replaceAll("<InitOuputColHasNulls>", testMatrix[0].toString());
-      testCase = testCase.replaceAll("<InitOuputColIsRepeating>", testMatrix[1].toString());
-      testCase = testCase.replaceAll("<ColumnHasNulls>", testMatrix[2].toString());
-      testCase = testCase.replaceAll("<ColumnIsRepeating>", testMatrix[3].toString());
-
-      if(op1IsCol){
-        testCase = testCase.replaceAll("<ConstructorParams>","0, scalarValue");
-      }else{
-        testCase = testCase.replaceAll("<ConstructorParams>","scalarValue, 0");
-      }
-
-      testsuites.get(template).append(testCase);
-    }
-  }
-
-  public void addColumnScalarFilterTestCases(boolean op1IsCol, String vectorExpClassName,
-      String inputColumnVectorType, String scalarType, String operatorSymbol)
-          throws IOException {
-
-    TestSuiteClassName template =
-        TestSuiteClassName.TestColumnScalarFilterVectorExpressionEvaluation;
-
-    //Read the template into a string;
-    String templateFile = GenVectorCode.joinPath(this.testTemplateDirectory,template.toString()+".txt");
-    String templateString = removeTemplateComments(GenVectorCode.readFile(templateFile));
-
-    for(Boolean[] testMatrix : new Boolean[][]{
-        // Pairwise: ColumnHasNulls, ColumnIsRepeating
-        {true,  true},
-        {true,  false},
-        {false, false},
-        {false, true}}) {
-      String testCase = templateString;
-      testCase = testCase.replaceAll("<TestName>",
-          "test"
-           + vectorExpClassName
-           + createNullRepeatingNameFragment("Col", testMatrix[0], testMatrix[1]));
-      testCase = testCase.replaceAll("<VectorExpClassName>", vectorExpClassName);
-      testCase = testCase.replaceAll("<InputColumnVectorType>", inputColumnVectorType);
-      testCase = testCase.replaceAll("<ScalarType>", scalarType);
-      testCase = testCase.replaceAll("<CamelCaseScalarType>", GenVectorCode.getCamelCaseType(scalarType));
-      testCase = testCase.replaceAll("<ColumnHasNulls>", testMatrix[0].toString());
-      testCase = testCase.replaceAll("<ColumnIsRepeating>", testMatrix[1].toString());
-      testCase = testCase.replaceAll("<Operator>", operatorSymbol);
-
-      if(op1IsCol){
-        testCase = testCase.replaceAll("<Operand1>","inputColumnVector.vector[i]");
-        testCase = testCase.replaceAll("<Operand2>","scalarValue");
-        testCase = testCase.replaceAll("<ConstructorParams>","0, scalarValue");
-      }else{
-        testCase = testCase.replaceAll("<Operand1>","scalarValue");
-        testCase = testCase.replaceAll("<Operand2>","inputColumnVector.vector[i]");
-        testCase = testCase.replaceAll("<ConstructorParams>","scalarValue, 0");
-      }
-
-      testsuites.get(template).append(testCase);
-    }
-  }
-
-  public void addColumnColumnOperationTestCases(String vectorExpClassName,
-      String inputColumnVectorType1, String inputColumnVectorType2, String outputColumnVectorType)
-          throws IOException {
-
-    TestSuiteClassName template=
-     TestSuiteClassName.TestColumnColumnOperationVectorExpressionEvaluation;
-
-    //Read the template into a string;
-    String templateFile = GenVectorCode.joinPath(this.testTemplateDirectory,template.toString()+".txt");
-    String templateString = removeTemplateComments(GenVectorCode.readFile(templateFile));
-
-    for(Boolean[] testMatrix : new Boolean[][]{
-        // Pairwise: InitOuputColHasNulls, InitOuputColIsRepeating, Column1HasNulls,
-        // Column1IsRepeating, Column2HasNulls, Column2IsRepeating
-        {true,    true,    false,   true,    true,    true},
-        {false,   false,   true,    false,   false,   false},
-        {true,    false,   true,    false,   true,    true},
-        {true,    true,    true,    true,    false,   false},
-        {false,   false,   false,   true,    true,    false},
-        {false,   true,    false,   false,   false,   true}}) {
-      String testCase = templateString;
-      testCase = testCase.replaceAll("<TestName>",
-          "test"
-          + vectorExpClassName
-          + createNullRepeatingNameFragment("Out", testMatrix[0], testMatrix[1])
-          + createNullRepeatingNameFragment("C1", testMatrix[2], testMatrix[3])
-          + createNullRepeatingNameFragment("C2", testMatrix[4], testMatrix[5]));
-      testCase = testCase.replaceAll("<VectorExpClassName>", vectorExpClassName);
-      testCase = testCase.replaceAll("<InputColumnVectorType1>", inputColumnVectorType1);
-      testCase = testCase.replaceAll("<InputColumnVectorType2>", inputColumnVectorType2);
-      testCase = testCase.replaceAll("<OutputColumnVectorType>", outputColumnVectorType);
-      testCase = testCase.replaceAll("<InitOuputColHasNulls>", testMatrix[0].toString());
-      testCase = testCase.replaceAll("<InitOuputColIsRepeating>", testMatrix[1].toString());
-      testCase = testCase.replaceAll("<Column1HasNulls>", testMatrix[2].toString());
-      testCase = testCase.replaceAll("<Column1IsRepeating>", testMatrix[3].toString());
-      testCase = testCase.replaceAll("<Column2HasNulls>", testMatrix[4].toString());
-      testCase = testCase.replaceAll("<Column2IsRepeating>", testMatrix[5].toString());
-
-      testsuites.get(template).append(testCase);
-    }
-  }
-
-  public void addColumnColumnFilterTestCases(String vectorExpClassName,
-      String inputColumnVectorType1, String inputColumnVectorType2,  String operatorSymbol)
-          throws IOException {
-
-      TestSuiteClassName template=
-          TestSuiteClassName.TestColumnColumnFilterVectorExpressionEvaluation;
-
-      //Read the template into a string;
-      String templateFile = GenVectorCode.joinPath(this.testTemplateDirectory,template.toString()+".txt");
-      String templateString = removeTemplateComments(GenVectorCode.readFile(templateFile));
-
-      for(Boolean[] testMatrix : new Boolean[][]{
-          // Pairwise: Column1HasNulls, Column1IsRepeating, Column2HasNulls, Column2IsRepeating
-          {false,   true,    true,    true},
-          {false,   false,   false,   false},
-          {true,    false,   true,    false},
-          {true,    true,    false,   false},
-          {true,    false,   false,   true}}) {
-        String testCase = templateString;
-        testCase = testCase.replaceAll("<TestName>",
-            "test"
-            + vectorExpClassName
-            + createNullRepeatingNameFragment("C1", testMatrix[0], testMatrix[1])
-            + createNullRepeatingNameFragment("C2", testMatrix[2], testMatrix[3]));
-        testCase = testCase.replaceAll("<VectorExpClassName>", vectorExpClassName);
-        testCase = testCase.replaceAll("<InputColumnVectorType1>", inputColumnVectorType1);
-        testCase = testCase.replaceAll("<InputColumnVectorType2>", inputColumnVectorType2);
-        testCase = testCase.replaceAll("<Column1HasNulls>", testMatrix[0].toString());
-        testCase = testCase.replaceAll("<Column1IsRepeating>", testMatrix[1].toString());
-        testCase = testCase.replaceAll("<Column2HasNulls>", testMatrix[2].toString());
-        testCase = testCase.replaceAll("<Column2IsRepeating>", testMatrix[3].toString());
-        testCase = testCase.replaceAll("<Operator>", operatorSymbol);
-
-        testsuites.get(template).append(testCase);
-      }
-    }
-
-  public void generateTestSuites() throws IOException {
-
-    String templateFile = GenVectorCode.joinPath(this.testTemplateDirectory, "TestClass.txt");
-    for(TestSuiteClassName testClass : testsuites.keySet()) {
-
-      String templateString = GenVectorCode.readFile(templateFile);
-      templateString = templateString.replaceAll("<ClassName>", testClass.toString());
-      templateString = templateString.replaceAll("<TestCases>", testsuites.get(testClass).toString());
-
-      String outputFile = GenVectorCode.joinPath(this.testOutputDir, testClass + ".java");
-
-      GenVectorCode.writeFile(new File(outputFile), templateString);
-    }
-  }
-
-  private static String createNullRepeatingNameFragment(String idenitfier, boolean nulls, boolean repeating)
-  {
-    if(nulls || repeating){
-      if(nulls){
-        idenitfier+="Nulls";
-      }
-      if(repeating){
-        idenitfier+="Repeats";
-      }
-      return idenitfier;
-    }
-
-    return "";
-  }
-
-  private static String removeTemplateComments(String templateString){
-    return templateString.replaceAll("(?s)<!--(.*)-->", "");
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/1f1e91aa/ant/src/org/apache/hadoop/hive/ant/GetVersionPref.java
----------------------------------------------------------------------
diff --git a/ant/src/org/apache/hadoop/hive/ant/GetVersionPref.java b/ant/src/org/apache/hadoop/hive/ant/GetVersionPref.java
deleted file mode 100644
index 5788b75..0000000
--- a/ant/src/org/apache/hadoop/hive/ant/GetVersionPref.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/**
- * 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.
- */
-
-package org.apache.hadoop.hive.ant;
-
-import org.apache.tools.ant.AntClassLoader;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.Project;
-
-import java.util.regex.Pattern;
-import java.util.regex.Matcher;
-import java.io.*;
-
-/**
- * Implementation of the ant task <getversionpref property="nameoftheproperty" input="versionstring"/>.
- *
- * This ant task takes an input version string (e.g. 0.17.2) and set an ant property (whose name
- * is specified in the property attribute) with the version prefix. For 0.17.2, the version prefix
- * is 0.17. Similarly, for 0.18.0, the version prefix is 0.18. The version prefix is the first two
- * components of the version string.
- */
-public class GetVersionPref extends Task {
-
-  /**
-   * The name of the property that gets the version prefix.
-   */
-  protected String property;
-
-  /**
-   * The input string that contains the version string.
-   */
-  protected String input;
- 
-  public void setProperty(String property) {
-    this.property = property;
-  }
-
-  public String getProperty() {
-    return property;
-  }
-
-  public void setInput(String input) {
-    this.input = input;
-  }
-
-  public String getInput() {
-    return input;
-  }
-
-  /**
-   * Executes the ant task <getversionperf>.
-   *
-   * It extracts the version prefix using regular expressions on the version string. It then sets
-   * the property in the project with the extracted prefix. The property is set to an empty string
-   * in case no match is found for the prefix regular expression (which will happen in case the
-   * version string does not conform to the version format).
-   */
-  @Override
-  public void execute() throws BuildException {
-
-    if (property == null) {
-      throw new BuildException("No property specified");
-    }
-
-    if (input == null) {
-      throw new BuildException("No input stringspecified");
-    }
-
-    try {
-      Pattern p = Pattern.compile("^(\\d+\\.\\d+).*");
-      Matcher m = p.matcher(input);
-      getProject().setProperty(property, m.matches() ? m.group(1) : "");
-    }
-    catch (Exception e) {
-      throw new BuildException("Failed with: " + e.getMessage());
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/1f1e91aa/ant/src/org/apache/hadoop/hive/ant/antlib.xml
----------------------------------------------------------------------
diff --git a/ant/src/org/apache/hadoop/hive/ant/antlib.xml b/ant/src/org/apache/hadoop/hive/ant/antlib.xml
deleted file mode 100644
index 1e42f0c..0000000
--- a/ant/src/org/apache/hadoop/hive/ant/antlib.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-   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.
--->
-
-
-<antlib>
-  <taskdef name="getversionpref"
-           classname="org.apache.hadoop.hive.ant.GetVersionPref" />
-</antlib>

http://git-wip-us.apache.org/repos/asf/hive/blob/1f1e91aa/itests/hive-blobstore/pom.xml
----------------------------------------------------------------------
diff --git a/itests/hive-blobstore/pom.xml b/itests/hive-blobstore/pom.xml
index edc0872..b18398d 100644
--- a/itests/hive-blobstore/pom.xml
+++ b/itests/hive-blobstore/pom.xml
@@ -43,12 +43,6 @@
     <!-- dependencies are always listed in sorted order by groupId, artifactId -->
     <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>

http://git-wip-us.apache.org/repos/asf/hive/blob/1f1e91aa/itests/qtest-accumulo/pom.xml
----------------------------------------------------------------------
diff --git a/itests/qtest-accumulo/pom.xml b/itests/qtest-accumulo/pom.xml
index e221347..31cee36 100644
--- a/itests/qtest-accumulo/pom.xml
+++ b/itests/qtest-accumulo/pom.xml
@@ -47,12 +47,6 @@
     <!-- test intra-project -->
     <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>

http://git-wip-us.apache.org/repos/asf/hive/blob/1f1e91aa/itests/qtest-spark/pom.xml
----------------------------------------------------------------------
diff --git a/itests/qtest-spark/pom.xml b/itests/qtest-spark/pom.xml
index 240852e..f301504 100644
--- a/itests/qtest-spark/pom.xml
+++ b/itests/qtest-spark/pom.xml
@@ -104,12 +104,6 @@
     <!-- test intra-project -->
     <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>

http://git-wip-us.apache.org/repos/asf/hive/blob/1f1e91aa/itests/qtest/pom.xml
----------------------------------------------------------------------
diff --git a/itests/qtest/pom.xml b/itests/qtest/pom.xml
index 72028f3..1b49e88 100644
--- a/itests/qtest/pom.xml
+++ b/itests/qtest/pom.xml
@@ -46,12 +46,6 @@
     <!-- test intra-project -->
     <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>

http://git-wip-us.apache.org/repos/asf/hive/blob/1f1e91aa/jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index dba1ae1..b68f207 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -186,7 +186,7 @@
                   <exclude>org.apache.hadoop:hadoop-client</exclude>
                   <exclude>org.apache.hadoop:hadoop-annotations</exclude>
                   <exclude>org.apache.hadoop:hadoop-auth</exclude>
-                  <exclude>org.apache.hive:hive-ant</exclude>
+                  <exclude>org.apache.hive:hive-vector-code-gen</exclude>
                   <exclude>org.apache.ant:*</exclude>
                   <exclude>junit:*</exclude>
                   <exclude>org.hamcrest:*</exclude>

http://git-wip-us.apache.org/repos/asf/hive/blob/1f1e91aa/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 5121770..08c8b9c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,7 @@
 
   <modules>
     <module>accumulo-handler</module>
-    <module>ant</module>
+    <module>vector-code-gen</module>
     <module>beeline</module>
     <module>cli</module>
     <module>common</module>
@@ -416,11 +416,6 @@
         <version>${ST4.version}</version>
       </dependency>
       <dependency>
-        <groupId>org.apache.ant</groupId>
-        <artifactId>ant</artifactId>
-        <version>${ant.version}</version>
-      </dependency>
-      <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-compress</artifactId>
         <version>${commons-compress.version}</version>

http://git-wip-us.apache.org/repos/asf/hive/blob/1f1e91aa/ql/pom.xml
----------------------------------------------------------------------
diff --git a/ql/pom.xml b/ql/pom.xml
index 1e6ba9a..7db0ede 100644
--- a/ql/pom.xml
+++ b/ql/pom.xml
@@ -37,7 +37,7 @@
     <!-- used for vector code-gen -->
     <dependency>
       <groupId>org.apache.hive</groupId>
-      <artifactId>hive-ant</artifactId>
+      <artifactId>hive-vector-code-gen</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
@@ -770,7 +770,7 @@
             <configuration>
               <target>
                 <property name="compile.classpath" refid="maven.compile.classpath"/>
-                <taskdef name="vectorcodegen" classname="org.apache.hadoop.hive.ant.GenVectorCode"
+                <taskdef name="vectorcodegen" classname="org.apache.hadoop.hive.tools.GenVectorCode"
                     classpath="${compile.classpath}"/>
                 <mkdir dir="${project.build.directory}/generated-sources/java/org/apache/hadoop/hive/ql/exec/vector/expressions/gen/"/>
                 <mkdir dir="${project.build.directory}/generated-sources/java/org/apache/hadoop/hive/ql/exec/vector/expressions/aggregates/gen/"/>

http://git-wip-us.apache.org/repos/asf/hive/blob/1f1e91aa/vector-code-gen/pom.xml
----------------------------------------------------------------------
diff --git a/vector-code-gen/pom.xml b/vector-code-gen/pom.xml
new file mode 100644
index 0000000..36597aa
--- /dev/null
+++ b/vector-code-gen/pom.xml
@@ -0,0 +1,69 @@
+<?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 andx
+  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</artifactId>
+    <version>2.2.0-SNAPSHOT</version>
+    <relativePath>../pom.xml</relativePath>
+  </parent>
+
+  <artifactId>hive-vector-code-gen</artifactId>
+  <packaging>jar</packaging>
+  <name>Hive Vector-Code-Gen Utilities</name>
+
+  <properties>
+    <hive.path.to.root>..</hive.path.to.root>
+  </properties>
+
+  <dependencies>
+    <!-- dependencies are always listed in sorted order by groupId, artifectId -->
+    <!-- inter-project -->
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>${commons-lang.version}</version>
+    </dependency>
+      <dependency>
+        <groupId>com.google.guava</groupId>
+        <artifactId>guava</artifactId>
+        <version>${guava.version}</version>
+      </dependency>
+    <dependency>
+      <groupId>org.apache.ant</groupId>
+      <artifactId>ant</artifactId>
+      <version>${ant.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.velocity</groupId>
+      <artifactId>velocity</artifactId>
+      <version>${velocity.version}</version>
+           <exclusions>
+             <exclusion>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+          </exclusion>
+           </exclusions>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <sourceDirectory>${basedir}/src</sourceDirectory>
+  </build>
+
+</project>