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>