installjdk.sh 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/usr/bin/env bash
  2. # Cause the script to fail if any subcommand fails
  3. set -e
  4. pushd .
  5. if [ "$JAVA_HOME" != "" ]; then
  6. echo "JAVA_HOME is set"
  7. exit
  8. fi
  9. java_version=$1
  10. arch=$2
  11. osname=`uname -s`
  12. if [ "$osname" = "Darwin" ]; then
  13. echo "macOS not supported, relying on the machine providing java itself"
  14. exit 1
  15. else
  16. platformarch="linux-$arch"
  17. fi
  18. echo "PlatformArch: $platformarch"
  19. DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
  20. output_dir="$DIR/java"
  21. url="https://netcorenativeassets.blob.core.windows.net/resource-packages/external/linux/java/jdk-${java_version}_${platformarch}_bin.tar.gz"
  22. echo "Downloading from: $url"
  23. tmp="$(mktemp -d -t install-jdk.XXXXXX)"
  24. cleanup() {
  25. exitcode=$?
  26. if [ $exitcode -ne 0 ]; then
  27. echo "Failed to install java with exit code: $exitcode"
  28. fi
  29. rm -rf "$tmp"
  30. exit $exitcode
  31. }
  32. trap "cleanup" EXIT
  33. cd "$tmp"
  34. curl -Lsfo $(basename $url) "$url" --retry 5
  35. echo "Installing java from $(basename $url) $url"
  36. mkdir $output_dir
  37. echo "Unpacking to $output_dir"
  38. tar --strip-components 1 -xzf "jdk-${java_version}_${platformarch}_bin.tar.gz" --no-same-owner --directory "$output_dir"
  39. popd