blob: a3e051fb07f432591c099175ec125f1756360bff [file] [log] [blame]
#!/bin/bash
#
# 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.
# This script explicitly sets the CLASSPATH for embedded JVMs (e.g. in
# Impalad or in runquery) Because embedded JVMs do not honour
# CLASSPATH wildcard expansion, we have to add every dependency jar
# explicitly to the CLASSPATH.
if [ "$0" = "$BASH_SOURCE" ]; then
>&2 echo "error: $BASH_SOURCE should be sourced, not executed. e.g:"
>&2 echo " source $BASH_SOURCE"
exit 1
fi
# IMPALA-10057: The fe/target/classes and fe/target/test-classes
# directory can get cleaned out / rebuilt as part of running the
# frontend tests. This uses jars to avoid issues related to that
# inconsistency.
CLASSPATH=\
"$IMPALA_HOME"/fe/src/test/resources:
PACKAGE_CP_FILE="$IMPALA_HOME/java/impala-package/target/package-classpath.txt"
if [ ! -s "$PACKAGE_CP_FILE" ]; then
>&2 echo impala-package classpath file "$PACKAGE_CP_FILE" missing.
>&2 echo Build the impala-package first.
return 1
fi
CLASSPATH=$(cat "$PACKAGE_CP_FILE"):"$CLASSPATH"
if [[ "${1:-notest}" = "test" ]]; then
FE_TEST_CP_FILE="$IMPALA_HOME/fe/target/test-classpath.txt"
CLASSPATH=$(cat "$FE_TEST_CP_FILE"):\
"$IMPALA_HOME"/fe/target/impala-frontend-${IMPALA_VERSION}-tests.jar:"$CLASSPATH"
fi
: ${CUSTOM_CLASSPATH=}
CLASSPATH="$CUSTOM_CLASSPATH:$CLASSPATH"
export CLASSPATH