58 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.8 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: Gestion de la version de ulib
 | |
| 
 | |
| USAGE
 | |
|     $scriptname [options]
 | |
| 
 | |
| OPTIONS
 | |
|     -l, --show
 | |
|         Afficher la version de la librairie (par défaut)
 | |
|     -u, --update
 | |
|         Incrémenter la version de la librairie. Il faut incrémenter la version
 | |
|         de la librairie à chaque modification incompatible ou correction de bug.
 | |
|     -c, --check MIN_VERSION
 | |
|         Vérifier que la version de la librairie est au minimum MIN_VERSION, et
 | |
|         afficher un message d'information. Utiliser l'option -q si l'on veut
 | |
|         juste tester la version et ne pas afficher le message d'information."
 | |
| }
 | |
| 
 | |
| source "$(dirname "$0")/ulib" &&
 | |
| urequire DEFAULTS ||
 | |
| exit 1
 | |
| 
 | |
| action=show
 | |
| version=0
 | |
| set_version=
 | |
| min_version=
 | |
| parse_opts "${PRETTYOPTS[@]}" \
 | |
|     --help '$exit_with display_help' \
 | |
|     -l,--show action=show \
 | |
|     -u,--update action=update \
 | |
|     -V:,--set-version: set_version= \
 | |
|     -c:,--check: '$set@ min_version; action=check' \
 | |
|     @ args -- "$@" && set -- "${args[@]}" || die "$args"
 | |
| 
 | |
| versionfile="$scriptdir/.ulib_version"
 | |
| [ -f "$versionfile" ] || echo "$version" >"$versionfile"
 | |
| version="$(<"$versionfile")"
 | |
| 
 | |
| if [ "$action" == show ]; then
 | |
|     echo "ulib est en version $version"
 | |
| elif [ "$action" == update ]; then
 | |
|     [ -n "$set_version" ] || set_version=$(($version + 1))
 | |
|     echo "$set_version" >"$versionfile"
 | |
|     echo "ulib est maintenant en version $set_version"
 | |
| elif [ "$action" == check ]; then
 | |
|     r=1
 | |
|     [ $version -ge $min_version ] && r=0
 | |
|     if [ $r -eq 0 ]; then
 | |
|         einfo "ulib est en version $version >= $min_version ${COULEUR_VERTE}[OK]${COULEUR_NORMALE}"
 | |
|     else
 | |
|         einfo "ulib est en version $version < $min_version ${COULEUR_ROUGE}[KO]${COULEUR_NORMALE}"
 | |
|     fi
 | |
|     exit $r
 | |
| fi
 | 
