69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
 | 
						|
 | 
						|
function display_help() {
 | 
						|
    uecho "$scriptname: Lancer un script après avoir sélectionné une version de java
 | 
						|
 | 
						|
USAGE
 | 
						|
    $scriptname [options] version [args...]
 | 
						|
 | 
						|
OPTIONS
 | 
						|
    -b, --bits 32|64|auto
 | 
						|
    --32
 | 
						|
    --64
 | 
						|
        Sélectionner une version 32 ou 64 bits de java
 | 
						|
    -e, --exact
 | 
						|
        Sélectionner la version *exacte* de java demandée, au lieu de la version
 | 
						|
        minimum correspondant à la version demandée.
 | 
						|
        Si la version requise de java n'est pas trouvée, retourner avec le code
 | 
						|
        d'erreur 254.
 | 
						|
 | 
						|
La version de java attendue peut-être exprimée de l'une des façons suivantes:
 | 
						|
1.4 1.4+ 1.5 1.5+ 1.6 1.6+ 1.7 1.7+
 | 
						|
Si args n'est pas spécifié, un shell est lancé dans lequel les variables
 | 
						|
JAVA_HOME, JAVA, JAVAC et PATH sont mis à jour."
 | 
						|
}
 | 
						|
 | 
						|
source "$(dirname "$0")/ulib/ulib" &&
 | 
						|
urequire DEFAULTS java ||
 | 
						|
exit 1
 | 
						|
 | 
						|
bits=
 | 
						|
exact=
 | 
						|
parse_opts + "${PRETTYOPTS[@]}" \
 | 
						|
    --help '$exit_with display_help' \
 | 
						|
    -b:,--bits: bits= \
 | 
						|
    -2,--32 bits=32 \
 | 
						|
    -4,--64 bits=64 \
 | 
						|
    -e,--exact exact=1 \
 | 
						|
    @ args -- "$@" && set -- "${args[@]}" || die "$args"
 | 
						|
 | 
						|
[ "$bits" == "auto" ] && bits=
 | 
						|
javavers="${1:-1.5+}"; shift
 | 
						|
javadesc="Java $javavers${bits:+ / $bits bits}"
 | 
						|
 | 
						|
estep "Sélection de $javadesc"
 | 
						|
found=
 | 
						|
if [ -n "$exact" ]; then
 | 
						|
    select_java_exact "$javavers" "$bits" && found=1
 | 
						|
else
 | 
						|
    select_java "$javavers" "$bits" && found=1
 | 
						|
fi
 | 
						|
if [ -z "$found" ]; then
 | 
						|
    eerror "Impossible de trouver $javadesc"
 | 
						|
    exit 254
 | 
						|
fi
 | 
						|
eecho "JAVA_HOME=$JAVA_HOME"
 | 
						|
 | 
						|
if [ -n "$*" ]; then
 | 
						|
    estep "Lancement de $*"
 | 
						|
    if [ "${1%.jar}" != "$1" ]; then
 | 
						|
        exec java -jar "$@"
 | 
						|
    else
 | 
						|
        exec "$@"
 | 
						|
    fi
 | 
						|
else
 | 
						|
    estep "Lancement d'un sous-shell"
 | 
						|
    exec "${SHELL:-bash}"
 | 
						|
fi
 |