#!/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