| <?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 name="odbc" default="compile-cpp"> |
| <property name="src.dir" value="${basedir}/src"/> |
| |
| <!-- |
| Override properties defined in ../build-common.xml. |
| --> |
| <property name="test.junit.output.format" value="plain"/> |
| <property name="test.output" value="false"/> |
| <property name="test.junit.output.usefile" value="false"/> |
| <property name="make.cmd" value="make"/> |
| <import file="../build-common.xml"/> |
| |
| <!--Skip the Make file execution on windows--> |
| <condition property="execute.makefile"> |
| <not> |
| <equals arg1="windows" arg2="${os.family}"/> |
| </not> |
| </condition> |
| |
| <!-- Only run tests if thrift.home is defined and not on windows--> |
| <condition property="execute.tests"> |
| <and> |
| <istrue value="${execute.makefile}"/> |
| <istrue value="${thrift.home.defined}"/> |
| </and> |
| </condition> |
| |
| <target name="set-test-classpath"> |
| <path id="test.classpath"> |
| <pathelement location="${test.build.classes}" /> |
| <pathelement location="" /> |
| <pathelement location="${test.src.data.dir}/conf"/> |
| <pathelement location="${hive.conf.dir}"/> |
| <fileset dir="${test.src.data.dir}" includes="files/*.jar"/> |
| <fileset dir="${hive.root}" includes="testlibs/*.jar"/> |
| <pathelement location="${build.dir.hive}/ql/test/classes"/> |
| <path refid="classpath"/> |
| </path> |
| </target> |
| |
| <target name="check-word-size"> |
| <echo message="Project: ${ant.project.name}"/> |
| <condition property="word.size" value="64" else="32"> |
| <contains string="${os.arch}" substring="64"/> |
| </condition> |
| </target> |
| |
| <target name="compile-cpp" depends="init,check-word-size" if="execute.makefile"> |
| <echo message="Project: ${ant.project.name}"/> |
| <exec dir="." executable="${make.cmd}" failonerror="true"> |
| <env key="WORD_SIZE" value="${word.size}"/> |
| <env key="THRIFT_HOME" value="${thrift.home}"/> |
| <env key="BOOST_HOME" value="${boost.home}"/> |
| <env key="HIVE_ROOT" value="${hive.root}"/> |
| <env key="BASE_DIR" value="${basedir}"/> |
| </exec> |
| <mkdir dir="${build.dir.hive}/odbc/include"/> |
| <copy file="${basedir}/src/cpp/hiveclient.h" todir="${build.dir.hive}/odbc/include"/> |
| <copy file="${basedir}/src/cpp/hiveconstants.h" todir="${build.dir.hive}/odbc/include"/> |
| </target> |
| |
| <target name="clean" if="execute.makefile"> |
| <echo message="Project: ${ant.project.name}"/> |
| <delete dir="${build.dir.hive}/odbc/include"/> |
| <exec dir="." executable="${make.cmd}" failonerror="true"> |
| <arg line="clean"/> |
| <env key="HIVE_ROOT" value="${hive.root}"/> |
| <env key="BASE_DIR" value="${basedir}"/> |
| </exec> |
| </target> |
| |
| <target name="install" depends="check-word-size" if="execute.makefile"> |
| <echo message="Project: ${ant.project.name}"/> |
| <exec dir="." executable="${make.cmd}" failonerror="true"> |
| <arg line="install"/> |
| <env key="WORD_SIZE" value="${word.size}"/> |
| <env key="THRIFT_HOME" value="${thrift.home}"/> |
| <env key="HIVE_ROOT" value="${hive.root}"/> |
| <env key="BASE_DIR" value="${basedir}"/> |
| </exec> |
| </target> |
| |
| <target name="uninstall" if="execute.makefile"> |
| <echo message="Project: ${ant.project.name}"/> |
| <exec dir="." executable="${make.cmd}" failonerror="true"> |
| <arg line="uninstall"/> |
| <env key="HIVE_ROOT" value="${hive.root}"/> |
| <env key="BASE_DIR" value="${basedir}"/> |
| </exec> |
| </target> |
| |
| <!-- Only run tests if thrift.home is defined so that we don't break other tests --> |
| <target name="test" depends="check-word-size,check-thrift-home,set-test-classpath" if="execute.tests"> |
| <echo message="Project: ${ant.project.name}"/> |
| <exec dir="." executable="${make.cmd}" failonerror="true"> |
| <arg line="test"/> |
| <env key="WORD_SIZE" value="${word.size}"/> |
| <env key="THRIFT_HOME" value="${thrift.home}"/> |
| <env key="HIVE_ROOT" value="${hive.root}"/> |
| <env key="BASE_DIR" value="${basedir}"/> |
| </exec> |
| </target> |
| </project> |