67 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			67 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
 | |
| source "$(dirname -- "$0")/lib/ulib/auto" || exit 1
 | |
| urequire java
 | |
| 
 | |
| 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."
 | |
| }
 | |
| 
 | |
| 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
 |