modifs.mineures sans commentaires
This commit is contained in:
parent
9fea3c603b
commit
3f47c40a0e
|
@ -65,12 +65,20 @@ usage
|
|||
-o, --longopt
|
||||
: option sans argument
|
||||
|
||||
-a:, --mandarg
|
||||
-a:, --mandarg:
|
||||
: option avec argument obligatoire
|
||||
|
||||
l'option peut être suivi d'une valeur qui décrit l'argument attendu e.g
|
||||
-a:file pour un fichier. cette valeur est mise en majuscule lors de
|
||||
l'affichage de l'aide. pour le moment, cette valeur n'est pas signifiante.
|
||||
|
||||
-b::, --optarg::
|
||||
: option avec argument facultatif
|
||||
|
||||
l'option peut être suivi d'une valeur qui décrit l'argument attendu e.g
|
||||
-b::file pour un fichier. cette valeur est mise en majuscule lors de
|
||||
l'affichage de l'aide. pour le moment, cette valeur n'est pas signifiante.
|
||||
|
||||
action
|
||||
: action à effectuer si cette option est utilisée. plusieurs syntaxes sont valides:
|
||||
* 'NAME' met à jour la variable en fonction du type d'argument: l'incrémenter
|
||||
|
@ -159,7 +167,7 @@ function __parse_args() {
|
|||
*) eerror "Invalid arg definition: expected option, got '$1'"; eval "$__DIE";;
|
||||
esac
|
||||
# est-ce que l'option prend un argument?
|
||||
local __def __witharg=
|
||||
local __def __witharg __valdesc
|
||||
for __def in "${__defs[@]}"; do
|
||||
if [ "${__def%::*}" != "$__def" ]; then
|
||||
[ "$__witharg" != : ] && __witharg=::
|
||||
|
@ -300,11 +308,14 @@ $prefix$usage"
|
|||
fi
|
||||
# est-ce que l'option prend un argument?
|
||||
__witharg=
|
||||
__valdesc=value
|
||||
for __def in "${__defs[@]}"; do
|
||||
if [ "${__def%::*}" != "$__def" ]; then
|
||||
[ "$__witharg" != : ] && __witharg=::
|
||||
[ -n "${__def#*::}" ] && __valdesc="[${__def#*::}]"
|
||||
elif [ "${__def%:*}" != "$__def" ]; then
|
||||
__witharg=:
|
||||
[ -n "${__def#*:}" ] && __valdesc="${__def#*:}"
|
||||
fi
|
||||
done
|
||||
# description de l'option
|
||||
|
@ -327,7 +338,7 @@ $prefix$usage"
|
|||
fi
|
||||
thelp="$thelp$__def"
|
||||
done
|
||||
[ -n "$__witharg" ] && thelp="$thelp VALUE"
|
||||
[ -n "$__witharg" ] && thelp="$thelp ${__valdesc^^}"
|
||||
# sauter l'action
|
||||
shift
|
||||
# prendre la description le cas échéant
|
||||
|
@ -349,7 +360,7 @@ $prefix$usage"
|
|||
uecho "$help"
|
||||
exit 0
|
||||
}
|
||||
if [ "$__popt" != + ]; then
|
||||
if [ "$__popt" != - ]; then
|
||||
while [ $# -gt 0 ]; do
|
||||
if [ "$1" == -- ]; then
|
||||
shift
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||||
##@cooked nocomments
|
||||
module: donk.build "construire des images docker"
|
||||
require: donk.common
|
|
@ -0,0 +1,3 @@
|
|||
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||||
##@cooked nocomments
|
||||
module: donk.common "fonctions communes"
|
|
@ -0,0 +1,41 @@
|
|||
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||||
##@cooked nocomments
|
||||
module: donk.help "aide de donk"
|
||||
|
||||
DONK_VALID_ACTIONS=(
|
||||
dump:d
|
||||
build:b
|
||||
clean:k
|
||||
)
|
||||
dump_SUMMARY="afficher les valeurs des variables et ce que ferait l'action build"
|
||||
build_SUMMARY="construire les images"
|
||||
clean_SUMMARY="nettoyer le projet des fichiers créés avec 'copy gitignore=', en utilisant la commande 'git clean -dX'"
|
||||
|
||||
DONK_HELP_SECTIONS=(
|
||||
base:b
|
||||
reference:ref:r
|
||||
)
|
||||
|
||||
function donk_help() {
|
||||
:
|
||||
}
|
||||
|
||||
function _donk_show_actions() {
|
||||
local action summary
|
||||
echo "
|
||||
ACTIONS"
|
||||
for action in "${DONK_VALID_ACTIONS[@]}"; do
|
||||
IFS=: read -a action <<<"$action"; action="${action[0]}"
|
||||
summary="${action}_SUMMARY"; summary="${!summary}"
|
||||
echo "\
|
||||
$action
|
||||
$summary"
|
||||
done
|
||||
}
|
||||
|
||||
function _donk_show_help() {
|
||||
if [ -z "$value_" ]; then showhelp@
|
||||
else donk_help "$value_"
|
||||
fi
|
||||
exit $?
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
#!/bin/bash
|
||||
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||||
source "$(dirname -- "$0")/../load.sh" || exit 1
|
||||
require: donk.help
|
||||
|
||||
# par défaut, c'est l'action build
|
||||
case "$1" in
|
||||
-h*|--help|--help=*|--help++) ;;
|
||||
-*) set -- build "$@";;
|
||||
esac
|
||||
|
||||
args=(
|
||||
"construire des images docker"
|
||||
"ACTION [options]
|
||||
$(_donk_show_actions)"
|
||||
+
|
||||
-h::section,--help '$_donk_show_help' "Afficher l'aide de la section spécifiée.
|
||||
Les sections valides sont: ${DONK_HELP_SECTIONS[*]%%:*}"
|
||||
--help++ '$_donk_show_help' "++Afficher l'aide"
|
||||
)
|
||||
parse_args "$@"; set -- "${args[@]}"
|
||||
|
||||
action="$1"; shift
|
||||
require: "donk.$action" || die
|
||||
"donk_$action" "$@"
|
Loading…
Reference in New Issue