[SPARK-35887][BUILD] Find and set JAVA_HOME from javac location
### What changes were proposed in this pull request? This PR aims to find and set JAVA_HOME from the javac location. ### Why are the changes needed? Since SPARK-35850, maven compile fails with Java8 when there is no JAVA_HOME and `java` path is JRE java. ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Manually run mvn in vanilla ubuntu. Closes #33075 from williamhyun/util. Authored-by: William Hyun <william@apache.org> Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
This commit is contained in:
parent
c562c1674e
commit
c6555f1845
|
@ -17,6 +17,13 @@
|
|||
# limitations under the License.
|
||||
#
|
||||
|
||||
SELF=$(cd $(dirname $0) && pwd)
|
||||
. "$SELF/util.sh"
|
||||
|
||||
if [ -z "${JAVA_HOME}" -a "$(command -v javac)" ]; then
|
||||
export JAVA_HOME="$(dirname $(dirname $(realpath $(command -v javac))))"
|
||||
fi
|
||||
|
||||
# Determine the current working directory
|
||||
_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
# Preserve the calling directory
|
||||
|
|
23
build/sbt
23
build/sbt
|
@ -17,6 +17,9 @@
|
|||
# limitations under the License.
|
||||
#
|
||||
|
||||
SELF=$(cd $(dirname $0) && pwd)
|
||||
. "$SELF/util.sh"
|
||||
|
||||
# When creating new tests for Spark SQL Hive, the HADOOP_CLASSPATH must contain the hive jars so
|
||||
# that we can run Hive to generate the golden answer. This is not required for normal development
|
||||
# or testing.
|
||||
|
@ -27,26 +30,6 @@ if [ -n "$HIVE_HOME" ]; then
|
|||
export HADOOP_CLASSPATH
|
||||
fi
|
||||
|
||||
realpath () {
|
||||
(
|
||||
TARGET_FILE="$1"
|
||||
|
||||
cd "$(dirname "$TARGET_FILE")"
|
||||
TARGET_FILE="$(basename "$TARGET_FILE")"
|
||||
|
||||
COUNT=0
|
||||
while [ -L "$TARGET_FILE" -a $COUNT -lt 100 ]
|
||||
do
|
||||
TARGET_FILE="$(readlink "$TARGET_FILE")"
|
||||
cd $(dirname "$TARGET_FILE")
|
||||
TARGET_FILE="$(basename $TARGET_FILE)"
|
||||
COUNT=$(($COUNT + 1))
|
||||
done
|
||||
|
||||
echo "$(pwd -P)/"$TARGET_FILE""
|
||||
)
|
||||
}
|
||||
|
||||
. "$(dirname "$(realpath "$0")")"/sbt-launch-lib.bash
|
||||
|
||||
|
||||
|
|
38
build/util.sh
Executable file
38
build/util.sh
Executable file
|
@ -0,0 +1,38 @@
|
|||
#!/usr/bin/env 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.
|
||||
#
|
||||
|
||||
realpath () {
|
||||
(
|
||||
TARGET_FILE="$1"
|
||||
|
||||
cd "$(dirname "$TARGET_FILE")"
|
||||
TARGET_FILE="$(basename "$TARGET_FILE")"
|
||||
|
||||
COUNT=0
|
||||
while [ -L "$TARGET_FILE" -a $COUNT -lt 100 ]
|
||||
do
|
||||
TARGET_FILE="$(readlink "$TARGET_FILE")"
|
||||
cd $(dirname "$TARGET_FILE")
|
||||
TARGET_FILE="$(basename $TARGET_FILE)"
|
||||
COUNT=$(($COUNT + 1))
|
||||
done
|
||||
|
||||
echo "$(pwd -P)/"$TARGET_FILE""
|
||||
)
|
||||
}
|
Loading…
Reference in a new issue