47 lines
1.1 KiB
Bash
Executable File
47 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Cause the script to fail if any subcommand fails
|
|
set -e
|
|
|
|
pushd .
|
|
|
|
if [ "$JAVA_HOME" != "" ]; then
|
|
echo "JAVA_HOME is set"
|
|
exit
|
|
fi
|
|
|
|
java_version=$1
|
|
arch=$2
|
|
osname=`uname -s`
|
|
if [ "$osname" = "Darwin" ]; then
|
|
echo "macOS not supported, relying on the machine providing java itself"
|
|
exit 1
|
|
else
|
|
platformarch="linux-$arch"
|
|
fi
|
|
echo "PlatformArch: $platformarch"
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
output_dir="$DIR/java"
|
|
url="https://netcorenativeassets.blob.core.windows.net/resource-packages/external/linux/java/jdk-${java_version}_${platformarch}_bin.tar.gz"
|
|
echo "Downloading from: $url"
|
|
tmp="$(mktemp -d -t install-jdk.XXXXXX)"
|
|
|
|
cleanup() {
|
|
exitcode=$?
|
|
if [ $exitcode -ne 0 ]; then
|
|
echo "Failed to install java with exit code: $exitcode"
|
|
fi
|
|
rm -rf "$tmp"
|
|
exit $exitcode
|
|
}
|
|
|
|
trap "cleanup" EXIT
|
|
cd "$tmp"
|
|
curl -Lsfo $(basename $url) "$url" --retry 5
|
|
echo "Installing java from $(basename $url) $url"
|
|
mkdir $output_dir
|
|
echo "Unpacking to $output_dir"
|
|
tar --strip-components 1 -xzf "jdk-${java_version}_${platformarch}_bin.tar.gz" --no-same-owner --directory "$output_dir"
|
|
|
|
popd
|