Last active
June 29, 2023 01:34
-
-
Save rafex/ed7ba0b1eab3e294488f010130ff82f4 to your computer and use it in GitHub Desktop.
Instalador de java en versiones GraalVM, Adoptium, Corretto y Semeru para Distros basado en Debian. Java installer in GraalVM, Adoptium, Corretto and Semeru versions for Debian-based Distros.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"installationPath" : "/opt/java", | |
"sudo" : 1, | |
"install" : "graalvm", | |
"vendors":[ | |
{ | |
"vendor" : "ibm", | |
"version" : "8", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 1008, | |
"url" : "https://github.com/ibmruntimes/semeru8-binaries/releases/download/jdk8u362-b09_openj9-0.36.0/ibm-semeru-open-jdk_x64_linux_8u362b09_openj9-0.36.0.tar.gz", | |
"package" : "ibm-semeru-open-jdk_x64_linux_8u362b09_openj9-0.36.0.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool"] | |
}, | |
{ | |
"vendor" : "ibm", | |
"version" : "11", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 1011, | |
"url" : "https://github.com/ibmruntimes/semeru11-binaries/releases/download/jdk-11.0.18%2B10_openj9-0.36.1/ibm-semeru-open-jdk_x64_linux_11.0.18_10_openj9-0.36.1.tar.gz", | |
"package" : "ibm-semeru-open-jdk_x64_linux_11.0.18_10_openj9-0.36.1.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool"] | |
}, | |
{ | |
"vendor" : "ibm", | |
"version" : "16", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 1016, | |
"url" : "https://github.com/ibmruntimes/semeru16-binaries/releases/download/jdk-16.0.2%2B7_openj9-0.27.0/ibm-semeru-open-jdk_x64_linux_16.0.2_7_openj9-0.27.0.tar.gz", | |
"package" : "ibm-semeru-open-jdk_x64_linux_16.0.2_7_openj9-0.27.0.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool"] | |
}, | |
{ | |
"vendor" : "ibm", | |
"version" : "17", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 1017, | |
"url" : "https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.6%2B10_openj9-0.36.0/ibm-semeru-open-jdk_x64_linux_17.0.6_10_openj9-0.36.0.tar.gz", | |
"package" : "ibm-semeru-open-jdk_x64_linux_17.0.6_10_openj9-0.36.0.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool"] | |
}, | |
{ | |
"vendor" : "ibm", | |
"version" : "18", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 1018, | |
"url" : "https://github.com/ibmruntimes/semeru18-binaries/releases/download/jdk-18.0.2%2B9_openj9-0.33.1/ibm-semeru-open-jdk_x64_linux_18.0.2_9_openj9-0.33.1.tar.gz", | |
"package" : "ibm-semeru-open-jdk_x64_linux_18.0.2_9_openj9-0.33.1.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool"] | |
}, | |
{ | |
"vendor" : "adoptium", | |
"version" : "8", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 2008, | |
"url" : "https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u362-b09/OpenJDK8U-jdk_x64_linux_hotspot_8u362b09.tar.gz", | |
"package" : "OpenJDK8U-jdk_x64_linux_hotspot_8u362b09.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool"] | |
}, | |
{ | |
"vendor" : "adoptium", | |
"version" : "11", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 2011, | |
"url" : "https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.18%2B10/OpenJDK11U-jdk_x64_linux_hotspot_11.0.18_10.tar.gz", | |
"package" : "OpenJDK11U-jdk_x64_linux_hotspot_11.0.18_10.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool"] | |
}, | |
{ | |
"vendor" : "adoptium", | |
"version" : "16", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 2016, | |
"url" : "https://github.com/adoptium/", | |
"package" : "OpenJDK16U-jdk_x64_linux_hotspot_16.0.2_7.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool"] | |
}, | |
{ | |
"vendor" : "adoptium", | |
"version" : "17", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 2017, | |
"url" : "https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.6%2B10/OpenJDK17U-jdk_x64_linux_hotspot_17.0.6_10.tar.gz", | |
"package" : "OpenJDK17U-jdk_x64_linux_hotspot_17.0.6_10.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool"] | |
}, | |
{ | |
"vendor" : "adoptium", | |
"version" : "18", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 2018, | |
"url" : "https://github.com/adoptium/temurin18-binaries/releases/download/jdk-18.0.2.1%2B1/OpenJDK18U-jdk_x64_linux_hotspot_18.0.2.1_1.tar.gz", | |
"package" : "OpenJDK18U-jdk_x64_linux_hotspot_18.0.2.1_1.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool"] | |
}, | |
{ | |
"vendor" : "adoptium", | |
"version" : "19", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 2019, | |
"url" : "https://github.com/adoptium/temurin19-binaries/releases/download/jdk-19.0.2%2B7/OpenJDK19U-jdk_x64_linux_hotspot_19.0.2_7.tar.gz", | |
"package" : "OpenJDK19U-jdk_x64_linux_hotspot_19.0.2_7.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool"] | |
}, | |
{ | |
"vendor" : "graalvm", | |
"version" : "11", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 1020, | |
"url" : "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.2/graalvm-ce-java11-linux-amd64-22.3.2.tar.gz", | |
"package" : "graalvm-ce-java11-linux-amd64-22.3.2.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool","gu","polyglot","native-image","native-image-configure","rebuild-images"] | |
}, | |
{ | |
"vendor" : "graalvm", | |
"version" : "17", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 1021, | |
"url" : "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.2/graalvm-ce-java17-linux-amd64-22.3.2.tar.gz", | |
"package" : "graalvm-ce-java17-linux-amd64-22.3.2.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool","gu","polyglot","native-image","native-image-configure","rebuild-images"] | |
}, | |
{ | |
"vendor" : "graalvm", | |
"version" : "19", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 1022, | |
"url" : "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.3.1/graalvm-ce-java19-linux-amd64-22.3.1.tar.gz", | |
"package" : "graalvm-ce-java19-linux-amd64-22.3.1.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool","gu","polyglot","native-image","native-image-configure","rebuild-images"] | |
}, | |
{ | |
"vendor" : "corretto", | |
"version" : "8", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 108, | |
"url" : "https://corretto.aws/downloads/latest/amazon-corretto-8-x64-linux-jdk.tar.gz", | |
"package" : "amazon-corretto-8-x64-linux-jdk.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool"] | |
}, | |
{ | |
"vendor" : "corretto", | |
"version" : "11", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 111, | |
"url" : "https://corretto.aws/downloads/latest/amazon-corretto-11-x64-linux-jdk.tar.gz", | |
"package" : "amazon-corretto-11-x64-linux-jdk.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool"] | |
}, | |
{ | |
"vendor" : "corretto", | |
"version" : "17", | |
"arch" : "x64", | |
"type" : "jdk", | |
"ignore" : 0, | |
"priority" : 117, | |
"url" : "https://corretto.aws/downloads/latest/amazon-corretto-17-x64-linux-jdk.tar.gz", | |
"package" : "amazon-corretto-17-x64-linux-jdk.tar.gz", | |
"binarys" : ["java","javac","jar","jcmd","keytool"] | |
} | |
] | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# @Author Raúl González | |
# Twitter @rafex | |
CONFIGURATION_JSON="install_java_debian.json" | |
TMP_PATH="/tmp/java" | |
INSTALLATION_PATH=$(jq '.installationPath' $CONFIGURATION_JSON) | |
INSTALLATION_PATH=$(echo $INSTALLATION_PATH | tr -d '\"') | |
SUDO=$(jq '.sudo' $CONFIGURATION_JSON) | |
if [ $SUDO -eq 1 ] | |
then | |
echo "Sudo activate" | |
SUDO="sudo" | |
else | |
echo "Sudo desactivate" | |
SUDO="" | |
fi | |
# Example URL | |
# https://github.com/ibmruntimes/semeru17-binaries/releases/download/jdk-17.0.6%2B10_openj9-0.36.0/ibm-semeru-open-jdk_x64_linux_17.0.6_10_openj9-0.36.0.tar.gz | |
download() { | |
resources=$(echo $1 | tr -d '\"') | |
if [ ! -d "$TMP_PATH" ]; then | |
echo "$TMP_PATH does not exist." | |
mkdir -p $TMP_PATH | |
fi | |
wget -P $TMP_PATH -c $resources | |
} | |
unpackage() { | |
folder="$INSTALLATION_PATH/$1" | |
folder=$(echo $folder | tr -d '\"') | |
if [ ! -d "$folder" ]; then | |
echo "$folder does not exist." | |
$SUDO mkdir -p $folder | |
fi | |
binary=$2 | |
binary=$(echo $binary | tr -d '\"') | |
$SUDO tar -xf "$TMP_PATH/$binary" -C $folder --strip-components=1 | |
} | |
install_update_alternatives() { | |
name=$(echo $1 | tr -d '\"') | |
path=$(echo $2 | tr -d '\"') | |
priority=$(echo $3 | tr -d '\"') | |
#echo $path | |
$SUDO update-alternatives --install /usr/bin/$name $name $INSTALLATION_PATH/$path/bin/$name $priority | |
update-alternatives --list $name | |
} | |
install_native_image_graalvm() { | |
vendor=$(echo $1 | tr -d '\"') | |
path=$(echo $2 | tr -d '\"') | |
if [ $vendor == "graalvm" ]; then | |
echo "Install Native Image GraalVM" | |
$SUDO $INSTALLATION_PATH/$path/bin/gu install native-image | |
fi | |
} | |
count=0 | |
while [ $count -lt 100 ]; do | |
vendor=$(jq .vendors[$count].vendor $CONFIGURATION_JSON) | |
if [ $vendor == "null" ] | |
then | |
echo "No more vendors" | |
exit 0 | |
fi | |
ignore=$(jq .vendors[$count].ignore $CONFIGURATION_JSON) | |
install=$(jq .install $CONFIGURATION_JSON) | |
if [ $ignore -eq 0 ]; then | |
if [[ $install == $vendor ]] || [[ $install == "all" ]]; then | |
echo "Vendor of count is: $count - [$vendor] - version [$(jq .vendors[$count].version $CONFIGURATION_JSON)] - arch [$(jq .vendors[$count].arch $CONFIGURATION_JSON)]" | |
# jq .vendors[$count] $CONFIGURATION_JSON | |
url=$(jq .vendors[$count].url $CONFIGURATION_JSON) | |
url=$(echo $url | sed 's/""//') | |
priority=$(jq .vendors[$count].priority $CONFIGURATION_JSON) | |
name=$(jq .vendors[$count].package $CONFIGURATION_JSON) | |
name=$(echo "${name%.*.*}") | |
path="$(jq .vendors[$count].version $CONFIGURATION_JSON)/$(jq .vendors[$count].arch $CONFIGURATION_JSON)/$name" | |
package=$(jq .vendors[$count].package $CONFIGURATION_JSON) | |
download $url | |
unpackage $path $package | |
install_native_image_graalvm $vendor $path | |
count_bin=0 | |
while [ $count_bin -lt 10 ]; do | |
bin=$(jq .vendors[$count].binarys[$count_bin] $CONFIGURATION_JSON) | |
if [[ $bin == "null" ]] | |
then | |
echo "" > /dev/null | |
else | |
echo "UPDATE-ALTERNATIVES [$bin $path $priority]" | |
install_update_alternatives $bin $path $priority | |
fi | |
count_bin=$(($count_bin + 1)) | |
done | |
fi | |
fi | |
count=$(($count + 1)) | |
done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment