ajout de select_java_any()
This commit is contained in:
parent
319f87c262
commit
58f5bbf0f2
|
@ -1 +1 @@
|
|||
4
|
||||
5
|
||||
|
|
59
ulib/java
59
ulib/java
|
@ -324,7 +324,9 @@ function __java_select() {
|
|||
export JAVA_HOME="$SELECTED_JAVA_HOME"
|
||||
export JAVA="$SELECTED_JAVA"
|
||||
export JAVAC="$SELECTED_JAVAC"
|
||||
export PATH="$JAVA_HOME/bin:$PATH"
|
||||
udelpath "$JAVA_HOME/bin"
|
||||
uinspath "$JAVA_HOME/bin"
|
||||
export PATH
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
|
@ -336,8 +338,12 @@ function __java_select_default() {
|
|||
# prendre cette valeur. Sinon, essayer dans l'ordre 5, 6, 7, puis 14
|
||||
# la version 13 n'est jamais sélectionnée automatiquement
|
||||
if [ -n "$JAVA_HOME" ]; then
|
||||
export JAVA_HOME # s'assurer que cette variable est exportée
|
||||
export JAVA="$JAVA_HOME/bin/java"
|
||||
export JAVAC="$JAVA_HOME/bin/java"
|
||||
udelpath "$JAVA_HOME/bin"
|
||||
uinspath "$JAVA_HOME/bin"
|
||||
export PATH
|
||||
return 0
|
||||
fi
|
||||
local vm
|
||||
|
@ -355,27 +361,27 @@ function select_java() {
|
|||
local v vms homes
|
||||
|
||||
case "$1" in
|
||||
1.3|1.3+)
|
||||
1.3|1.3+|13|13+)
|
||||
for v in 13 14 5 6 7; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
1.4|1.4+)
|
||||
1.4|1.4+|14|14+)
|
||||
for v in 14 5 6 7; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
1.5|1.5+)
|
||||
1.5|1.5+|5|5+)
|
||||
for v in 5 6 7; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
1.6|1.6+)
|
||||
1.6|1.6+|6|6+)
|
||||
for v in 6 7; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
1.7|1.7+)
|
||||
1.7|1.7+|7|7+)
|
||||
for v in 7; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
|
@ -385,7 +391,7 @@ function select_java() {
|
|||
}
|
||||
|
||||
function select_java_exact() {
|
||||
# sélectionner la version *exacte* de javac correspondant à $1
|
||||
# sélectionner la version *exacte* de java correspondant à $1
|
||||
# $1== 1.3|1.4|1.5|1.6|1.7 pour une correspondance exacte
|
||||
# $1== 1.3+|1.4+|1.5+|1.6+|1.7+ pour une version minimum
|
||||
# Si $2 est défini, il peut s'agit de 32 ou 64 selon que l'on requière la
|
||||
|
@ -393,42 +399,42 @@ function select_java_exact() {
|
|||
local v vms homes
|
||||
|
||||
case "$1" in
|
||||
1.3)
|
||||
1.3|13)
|
||||
__java_select 13 && return 0
|
||||
;;
|
||||
1.3+)
|
||||
1.3+|13+)
|
||||
for v in 13 14 5 6 7; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
1.4)
|
||||
1.4|14)
|
||||
__java_select 14 && return 0
|
||||
;;
|
||||
1.4+)
|
||||
1.4+|14+)
|
||||
for v in 14 5 6 7; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
1.5)
|
||||
1.5|5)
|
||||
__java_select 5 "$2" && return 0
|
||||
;;
|
||||
1.5+)
|
||||
1.5+|5+)
|
||||
for v in 5 6 7; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
1.6)
|
||||
1.6|6)
|
||||
__java_select 6 "$2" && return 0
|
||||
;;
|
||||
1.6+)
|
||||
1.6+|6+)
|
||||
for v in 6 7; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
;;
|
||||
1.7)
|
||||
1.7|7)
|
||||
__java_select 7 "$2" && return 0
|
||||
;;
|
||||
1.7+)
|
||||
1.7+|7+)
|
||||
for v in 7; do
|
||||
__java_select "$v" "$2" && return 0
|
||||
done
|
||||
|
@ -437,6 +443,25 @@ function select_java_exact() {
|
|||
return 1
|
||||
}
|
||||
|
||||
function select_java_any() {
|
||||
# Sélectionner la version exacte de java correspondant aux arguments, dans
|
||||
# l'ordre, jusqu'à ce qu'un argument corresponde. DEFAULT correspond à la
|
||||
# valeur actuelle de JAVA_HOME, si elle est définie.
|
||||
# Si aucun argument n'est défini, on assume "DEFAULT 1.5 1.6 1.7 1.4"
|
||||
local v
|
||||
[ -n "$*" ] || set -- DEFAULT 5 6 7 1.4
|
||||
for v in "$@"; do
|
||||
if [ "$v" == DEFAULT ]; then
|
||||
if [ -n "$JAVA_HOME" ]; then
|
||||
__java_select_default && return 0
|
||||
fi
|
||||
else
|
||||
select_java_exact "$v" && return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
################################################################################
|
||||
# Gestion des préfixes
|
||||
|
||||
|
|
Loading…
Reference in New Issue