support java17
This commit is contained in:
parent
5cb4112cd0
commit
efe31b8c9d
|
@ -15,6 +15,7 @@ JAVA_VMS6=(); JAVA_HOMES6=()
|
||||||
JAVA_VMS7=(); JAVA_HOMES7=()
|
JAVA_VMS7=(); JAVA_HOMES7=()
|
||||||
JAVA_VMS8=(); JAVA_HOMES8=()
|
JAVA_VMS8=(); JAVA_HOMES8=()
|
||||||
JAVA_VMS11=(); JAVA_HOMES11=()
|
JAVA_VMS11=(); JAVA_HOMES11=()
|
||||||
|
JAVA_VMS17=(); JAVA_HOMES17=()
|
||||||
# versions locales 32 bits
|
# versions locales 32 bits
|
||||||
JAVA32_VMS1_3=(); JAVA32_HOMES1_3=()
|
JAVA32_VMS1_3=(); JAVA32_HOMES1_3=()
|
||||||
JAVA32_VMS1_4=(); JAVA32_HOMES1_4=()
|
JAVA32_VMS1_4=(); JAVA32_HOMES1_4=()
|
||||||
|
@ -23,12 +24,14 @@ JAVA32_VMS6=(); JAVA32_HOMES6=()
|
||||||
JAVA32_VMS7=(); JAVA32_HOMES7=()
|
JAVA32_VMS7=(); JAVA32_HOMES7=()
|
||||||
JAVA32_VMS8=(); JAVA32_HOMES8=()
|
JAVA32_VMS8=(); JAVA32_HOMES8=()
|
||||||
JAVA32_VMS11=(); JAVA32_HOMES11=()
|
JAVA32_VMS11=(); JAVA32_HOMES11=()
|
||||||
|
JAVA32_VMS17=(); JAVA32_HOMES17=()
|
||||||
# versions locales 64 bits
|
# versions locales 64 bits
|
||||||
JAVA64_VMS5=(); JAVA64_HOMES5=()
|
JAVA64_VMS5=(); JAVA64_HOMES5=()
|
||||||
JAVA64_VMS6=(); JAVA64_HOMES6=()
|
JAVA64_VMS6=(); JAVA64_HOMES6=()
|
||||||
JAVA64_VMS7=(); JAVA64_HOMES7=()
|
JAVA64_VMS7=(); JAVA64_HOMES7=()
|
||||||
JAVA64_VMS8=(); JAVA64_HOMES8=()
|
JAVA64_VMS8=(); JAVA64_HOMES8=()
|
||||||
JAVA64_VMS11=(); JAVA64_HOMES11=()
|
JAVA64_VMS11=(); JAVA64_HOMES11=()
|
||||||
|
JAVA64_VMS17=(); JAVA64_HOMES17=()
|
||||||
# version sélectionnée
|
# version sélectionnée
|
||||||
SELECTED_JAVA_VM=; SELECTED_JAVA_HOME=
|
SELECTED_JAVA_VM=; SELECTED_JAVA_HOME=
|
||||||
SELECTED_JAVA=; SELECTED_JAVAC=
|
SELECTED_JAVA=; SELECTED_JAVAC=
|
||||||
|
@ -109,6 +112,14 @@ function __java_compute_vms() {
|
||||||
__java_add HOMES8 "$HOME/opt/jvm64/$vm" 64
|
__java_add HOMES8 "$HOME/opt/jvm64/$vm" 64
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
array_from_lines vms "$(list_dirs "$HOME/opt/jvm64" jdk17)"
|
||||||
|
for vm in "${vms[@]}"; do
|
||||||
|
v="${vm#jdk}"
|
||||||
|
if [ "$v" == 17 ]; then
|
||||||
|
__java_add VMS17 "$vm" 64
|
||||||
|
__java_add HOMES17 "$HOME/opt/jvm64/$vm" 64
|
||||||
|
fi
|
||||||
|
done
|
||||||
array_from_lines vms "$(list_dirs "$HOME/opt/jvm64" jdk11)"
|
array_from_lines vms "$(list_dirs "$HOME/opt/jvm64" jdk11)"
|
||||||
for vm in "${vms[@]}"; do
|
for vm in "${vms[@]}"; do
|
||||||
v="${vm#jdk}"
|
v="${vm#jdk}"
|
||||||
|
@ -142,6 +153,11 @@ function __java_compute_vms() {
|
||||||
__java_add VMS11 "$vm" 64
|
__java_add VMS11 "$vm" 64
|
||||||
__java_add HOMES11 "$HOME/opt/jvm64/$vm" 64
|
__java_add HOMES11 "$HOME/opt/jvm64/$vm" 64
|
||||||
done
|
done
|
||||||
|
array_from_lines vms "$(list_dirs "$HOME/opt/jvm64" "jdk-17.*" | LANG=C sort -r)"
|
||||||
|
for vm in "${vms[@]}"; do
|
||||||
|
__java_add VMS17 "$vm" 64
|
||||||
|
__java_add HOMES17 "$HOME/opt/jvm64/$vm" 64
|
||||||
|
done
|
||||||
# Puis chercher dans les JVMs installées manuellement dans ~/opt
|
# Puis chercher dans les JVMs installées manuellement dans ~/opt
|
||||||
array_from_lines vms "$(list_dirs "$HOME/opt" "sun-jdk-*")"
|
array_from_lines vms "$(list_dirs "$HOME/opt" "sun-jdk-*")"
|
||||||
for vm in "${vms[@]}"; do
|
for vm in "${vms[@]}"; do
|
||||||
|
@ -171,6 +187,14 @@ function __java_compute_vms() {
|
||||||
__java_add HOMES11 "$HOME/opt/$vm"
|
__java_add HOMES11 "$HOME/opt/$vm"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
array_from_lines vms "$(list_dirs "$HOME/opt" jdk17)"
|
||||||
|
for vm in "${vms[@]}"; do
|
||||||
|
v="${vm#jdk}"
|
||||||
|
if [ "$v" == 17 ]; then
|
||||||
|
__java_add VMS17 "$vm"
|
||||||
|
__java_add HOMES17 "$HOME/opt/$vm"
|
||||||
|
fi
|
||||||
|
done
|
||||||
array_from_lines vms "$(list_dirs "$HOME/opt" "j2sdk1.4.2*" | LANG=C sort -r)"
|
array_from_lines vms "$(list_dirs "$HOME/opt" "j2sdk1.4.2*" | LANG=C sort -r)"
|
||||||
for vm in "${vms[@]}"; do
|
for vm in "${vms[@]}"; do
|
||||||
__java_add VMS1_4 "$vm"
|
__java_add VMS1_4 "$vm"
|
||||||
|
@ -201,6 +225,11 @@ function __java_compute_vms() {
|
||||||
__java_add VMS11 "$vm"
|
__java_add VMS11 "$vm"
|
||||||
__java_add HOMES11 "$HOME/opt/$vm"
|
__java_add HOMES11 "$HOME/opt/$vm"
|
||||||
done
|
done
|
||||||
|
array_from_lines vms "$(list_dirs "$HOME/opt" "jdk-17.*" | LANG=C sort -r)"
|
||||||
|
for vm in "${vms[@]}"; do
|
||||||
|
__java_add VMS17 "$vm"
|
||||||
|
__java_add HOMES17 "$HOME/opt/$vm"
|
||||||
|
done
|
||||||
# Puis chercher dans les JVMs installées manuellement dans /opt
|
# Puis chercher dans les JVMs installées manuellement dans /opt
|
||||||
array_from_lines vms "$(list_dirs "/opt" "sun-jdk-*")"
|
array_from_lines vms "$(list_dirs "/opt" "sun-jdk-*")"
|
||||||
for vm in "${vms[@]}"; do
|
for vm in "${vms[@]}"; do
|
||||||
|
@ -230,6 +259,14 @@ function __java_compute_vms() {
|
||||||
__java_add HOMES11 "/opt/$vm"
|
__java_add HOMES11 "/opt/$vm"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
array_from_lines vms "$(list_dirs "/opt" jdk17)"
|
||||||
|
for vm in "${vms[@]}"; do
|
||||||
|
v="${vm#jdk}"
|
||||||
|
if [ "$v" == 17 ]; then
|
||||||
|
__java_add VMS17 "$vm"
|
||||||
|
__java_add HOMES17 "/opt/$vm"
|
||||||
|
fi
|
||||||
|
done
|
||||||
array_from_lines vms "$(list_dirs "/opt" "j2sdk1.4.2*" | LANG=C sort -r)"
|
array_from_lines vms "$(list_dirs "/opt" "j2sdk1.4.2*" | LANG=C sort -r)"
|
||||||
for vm in "${vms[@]}"; do
|
for vm in "${vms[@]}"; do
|
||||||
__java_add VMS1_4 "$vm"
|
__java_add VMS1_4 "$vm"
|
||||||
|
@ -260,6 +297,11 @@ function __java_compute_vms() {
|
||||||
__java_add VMS11 "$vm"
|
__java_add VMS11 "$vm"
|
||||||
__java_add HOMES11 "/opt/$vm"
|
__java_add HOMES11 "/opt/$vm"
|
||||||
done
|
done
|
||||||
|
array_from_lines vms "$(list_dirs "/opt" "jdk-17.*" | LANG=C sort -r)"
|
||||||
|
for vm in "${vms[@]}"; do
|
||||||
|
__java_add VMS17 "$vm"
|
||||||
|
__java_add HOMES17 "/opt/$vm"
|
||||||
|
done
|
||||||
# Puis chercher dans les JVMs installées par le système dans
|
# Puis chercher dans les JVMs installées par le système dans
|
||||||
# /usr/lib/jvm
|
# /usr/lib/jvm
|
||||||
if check_sysinfos -d gentoo; then
|
if check_sysinfos -d gentoo; then
|
||||||
|
@ -312,6 +354,9 @@ function __java_compute_vms() {
|
||||||
elif [ "$v" == 11 ]; then
|
elif [ "$v" == 11 ]; then
|
||||||
__java_add VMS11 "$vm"
|
__java_add VMS11 "$vm"
|
||||||
__java_add HOMES11 "/usr/lib/jvm/$vm"
|
__java_add HOMES11 "/usr/lib/jvm/$vm"
|
||||||
|
elif [ "$v" == 17 ]; then
|
||||||
|
__java_add VMS17 "$vm"
|
||||||
|
__java_add HOMES17 "/usr/lib/jvm/$vm"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
if [ -d /usr/lib/j2sdk1.4-sun ]; then
|
if [ -d /usr/lib/j2sdk1.4-sun ]; then
|
||||||
|
@ -353,7 +398,7 @@ function __java_compute_vms() {
|
||||||
|
|
||||||
function __java_dump_vms() {
|
function __java_dump_vms() {
|
||||||
local v b i vms homes
|
local v b i vms homes
|
||||||
for v in 1_3 1_4 5 6 7 8 11; do
|
for v in 1_3 1_4 5 6 7 8 11 17; do
|
||||||
for b in "" 32 64; do
|
for b in "" 32 64; do
|
||||||
vms="JAVA${b}_VMS${v}[@]"; vms=("${!vms}")
|
vms="JAVA${b}_VMS${v}[@]"; vms=("${!vms}")
|
||||||
homes="JAVA${b}_HOMES${v}[@]"; homes=("${!homes}")
|
homes="JAVA${b}_HOMES${v}[@]"; homes=("${!homes}")
|
||||||
|
@ -384,7 +429,7 @@ function __java_select_vms() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function __java_select() {
|
function __java_select() {
|
||||||
# Sélectionner la version de java $1 (qui peut être 1_3, 1_4, 5, 6, 7, 8 ou 11)
|
# Sélectionner la version de java $1 (qui peut être 1_3, 1_4, 5, 6, 7, 8, 11, 17)
|
||||||
# Si $2 est défini, il peut s'agit de 32 ou 64 selon que l'on requière la
|
# Si $2 est défini, il peut s'agit de 32 ou 64 selon que l'on requière la
|
||||||
# version 32bits ou 64 bits. Sinon, la version sélectionnée peut être 32bits
|
# version 32bits ou 64 bits. Sinon, la version sélectionnée peut être 32bits
|
||||||
# ou 64bits selon ce qui est disponible.
|
# ou 64bits selon ce qui est disponible.
|
||||||
|
@ -428,7 +473,7 @@ function __java_select() {
|
||||||
|
|
||||||
function __java_select_default() {
|
function __java_select_default() {
|
||||||
# Sélectionner la version de java par défaut. Si JAVA_HOME est défini,
|
# Sélectionner la version de java par défaut. Si JAVA_HOME est défini,
|
||||||
# prendre cette valeur. Sinon, essayer dans l'ordre 5, 6, 7, 8, 11 puis 1_4
|
# prendre cette valeur. Sinon, essayer dans l'ordre 5, 6, 7, 8, 11, 17 puis 1_4
|
||||||
# la version 1_3 n'est jamais sélectionnée automatiquement
|
# la version 1_3 n'est jamais sélectionnée automatiquement
|
||||||
if [ -n "$JAVA_HOME" ]; then
|
if [ -n "$JAVA_HOME" ]; then
|
||||||
export JAVA_HOME # s'assurer que cette variable est exportée
|
export JAVA_HOME # s'assurer que cette variable est exportée
|
||||||
|
@ -440,7 +485,7 @@ function __java_select_default() {
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
local vm
|
local vm
|
||||||
for vm in 5 6 7 8 11 1_4; do
|
for vm in 5 6 7 8 11 17 1_4; do
|
||||||
__java_select "$vm" && return 0
|
__java_select "$vm" && return 0
|
||||||
done
|
done
|
||||||
return 1
|
return 1
|
||||||
|
@ -448,7 +493,7 @@ function __java_select_default() {
|
||||||
|
|
||||||
function select_java() {
|
function select_java() {
|
||||||
# sélectionner la version *minimum* de java correspondant à $1
|
# sélectionner la version *minimum* de java correspondant à $1
|
||||||
# $1 == 1.3|1.3+|1.4|1.4+|1.5|1.5+|1.6|1.6+|1.7|1.7+|1.8|1.8+|11|11+
|
# $1 == 1.3|1.3+|1.4|1.4+|1.5|1.5+|1.6|1.6+|1.7|1.7+|1.8|1.8+|11|11+|17|17+
|
||||||
# Si $2 est défini, il peut s'agit de 32 ou 64 selon que l'on requière la
|
# Si $2 est défini, il peut s'agit de 32 ou 64 selon que l'on requière la
|
||||||
# version 32bits ou 64 bits
|
# version 32bits ou 64 bits
|
||||||
local v vms homes
|
local v vms homes
|
||||||
|
@ -489,14 +534,19 @@ function select_java() {
|
||||||
__java_select "$v" "$2" && return 0
|
__java_select "$v" "$2" && return 0
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
|
17|17+)
|
||||||
|
for v in 17; do
|
||||||
|
__java_select "$v" "$2" && return 0
|
||||||
|
done
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
function select_java_exact() {
|
function select_java_exact() {
|
||||||
# sélectionner la version *exacte* de java correspondant à $1
|
# sélectionner la version *exacte* de java correspondant à $1
|
||||||
# $1 == 1.3|1.4|1.5|1.6|1.7|1.8|11 pour une correspondance exacte
|
# $1 == 1.3|1.4|1.5|1.6|1.7|1.8|11|17 pour une correspondance exacte
|
||||||
# $1 == 1.3+|1.4+|1.5+|1.6+|1.7+|1.8+|11+ pour une version minimum
|
# $1 == 1.3+|1.4+|1.5+|1.6+|1.7+|1.8+|11+|17+ pour une version minimum
|
||||||
# Si $2 est défini, il peut s'agit de 32 ou 64 selon que l'on requière la
|
# Si $2 est défini, il peut s'agit de 32 ou 64 selon que l'on requière la
|
||||||
# version 32bits ou 64 bits
|
# version 32bits ou 64 bits
|
||||||
local v vms homes
|
local v vms homes
|
||||||
|
@ -558,6 +608,14 @@ function select_java_exact() {
|
||||||
__java_select "$v" "$2" && return 0
|
__java_select "$v" "$2" && return 0
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
|
17)
|
||||||
|
__java_select 17 "$2" && return 0
|
||||||
|
;;
|
||||||
|
17+)
|
||||||
|
for v in 17; do
|
||||||
|
__java_select "$v" "$2" && return 0
|
||||||
|
done
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
@ -566,9 +624,9 @@ function select_java_any() {
|
||||||
# Sélectionner la version exacte de java correspondant aux arguments, dans
|
# Sélectionner la version exacte de java correspondant aux arguments, dans
|
||||||
# l'ordre, jusqu'à ce qu'un argument corresponde. DEFAULT correspond à la
|
# l'ordre, jusqu'à ce qu'un argument corresponde. DEFAULT correspond à la
|
||||||
# valeur actuelle de JAVA_HOME, si elle est définie.
|
# valeur actuelle de JAVA_HOME, si elle est définie.
|
||||||
# Si aucun argument n'est défini, on assume "DEFAULT 5 6 7 8 11 1.4"
|
# Si aucun argument n'est défini, on assume "DEFAULT 5 6 7 8 11 17 1.4"
|
||||||
local v
|
local v
|
||||||
[ -n "$*" ] || set -- DEFAULT 5 6 7 8 11 1.4
|
[ -n "$*" ] || set -- DEFAULT 5 6 7 8 11 17 1.4
|
||||||
for v in "$@"; do
|
for v in "$@"; do
|
||||||
if [ "$v" == DEFAULT ]; then
|
if [ "$v" == DEFAULT ]; then
|
||||||
if [ -n "$JAVA_HOME" ]; then
|
if [ -n "$JAVA_HOME" ]; then
|
||||||
|
|
Loading…
Reference in New Issue