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 hidden or 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 hidden or 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