ajout de --add-metadata
support de --allow-empty pour --update
This commit is contained in:
parent
8d3ab79b39
commit
259e1be6dc
|
@ -145,7 +145,7 @@ function pver() {
|
|||
local setbeta=
|
||||
local setrc=
|
||||
local setrelease=
|
||||
local setmetadata=
|
||||
local setmetadata= addmetadata=
|
||||
local vcsmetadata=
|
||||
parse_opts "${PRETTYOPTS[@]}" \
|
||||
--help '$exit_with pver_display_help' \
|
||||
|
@ -177,7 +177,8 @@ function pver() {
|
|||
-b,--beta '$action=update; setalpha=; setbeta=1; setrc=; setrelease=' \
|
||||
-r,--rc '$action=update; setalpha=; setbeta=; setrc=1; setrelease=' \
|
||||
-R,--release,--final '$action=update; setalpha=; setbeta=; setrc=; setrelease=1' \
|
||||
-m:,--metadata: '$action=update; set@ setmetadata' \
|
||||
-m:,--metadata:,--set-metadata: '$action=update; set@ setmetadata' \
|
||||
--add-metadata: '$action=update; set@ addmetadata' \
|
||||
-M,--vcs-metadata '$action=update; vcsmetadata=1' \
|
||||
@ args -- "$@" && set -- "${args[@]}" || { eerror "$args"; return 1; }
|
||||
|
||||
|
@ -232,7 +233,6 @@ function pver() {
|
|||
version="$(git cat-file blob "$branch:$name" 2>/dev/null)"
|
||||
fi
|
||||
fi
|
||||
[ "$action" == show ] || allow_empty=
|
||||
[ -n "$version" -o -n "$allow_empty" ] || version=0.0.0
|
||||
|
||||
# Conversion éventuelle du numéro de version
|
||||
|
@ -241,7 +241,7 @@ function pver() {
|
|||
if [ "$convert" == auto ]; then
|
||||
[ -z "$valid" ] && convert=1
|
||||
fi
|
||||
if [ -n "$convert" ]; then
|
||||
if [ -n "$convert" -a -n "$version" ]; then
|
||||
mversion="$(awkrun version="$version" '
|
||||
function nbdot(s) {
|
||||
gsub(/[^.]/, "", s)
|
||||
|
@ -408,6 +408,7 @@ BEGIN {
|
|||
esac
|
||||
|
||||
elif [ "$action" == update ]; then
|
||||
[ -z "$version" -a -n "$allow_empty" ] && return 1
|
||||
[ -n "$valid" ] || { eerror "Numéro de version invalide: $version"; return 1; }
|
||||
|
||||
if [ -n "$file" ]; then
|
||||
|
@ -446,17 +447,56 @@ BEGIN {
|
|||
|
||||
# incrémenter les numéros de version
|
||||
if [ "$incversion" == auto ]; then
|
||||
if [ -n "$setrelease" -o -n "$setprelease" -o -n "$setmetadata" ]; then
|
||||
if [ -n "$setrelease" -o -n "$setprelease" -o -n "$setmetadata" -o -n "$addmetadata" ]; then
|
||||
incversion=
|
||||
else
|
||||
incversion=menu
|
||||
fi
|
||||
fi
|
||||
if [ "$incversion" == menu ]; then
|
||||
psemver_copy x; psemver_incmajor x; psemver_setprelease "$setprelease" x; psemver_setmetadata "$setmetadata" x; psemver_setvar versionx x
|
||||
psemver_copy z; psemver_incminor z; psemver_setprelease "$setprelease" z; psemver_setmetadata "$setmetadata" z; psemver_setvar versionz z
|
||||
psemver_copy p; psemver_incpatchlevel p; psemver_setprelease "$setprelease" p; psemver_setmetadata "$setmetadata" p; psemver_setvar versionp p
|
||||
psemver_copy k; psemver_setprelease "$setprelease" k; psemver_setmetadata "$setmetadata" k; psemver_setvar versionk k
|
||||
psemver_copy x; {
|
||||
psemver_incmajor x
|
||||
psemver_setprelease "$setprelease" x
|
||||
if [ -n "$addmetadata" ]; then
|
||||
[ -n "$setmetadata" ] && psemver_setmetadata "$setmetadata" x
|
||||
psemver_addmetadata "$addmetadata" x
|
||||
else
|
||||
psemver_setmetadata "$setmetadata" x
|
||||
fi
|
||||
psemver_setvar versionx x
|
||||
}
|
||||
psemver_copy z; {
|
||||
psemver_incminor z
|
||||
psemver_setprelease "$setprelease" z
|
||||
if [ -n "$addmetadata" ]; then
|
||||
[ -n "$setmetadata" ] && psemver_setmetadata "$setmetadata" z
|
||||
psemver_addmetadata "$addmetadata" z
|
||||
else
|
||||
psemver_setmetadata "$setmetadata" z
|
||||
fi
|
||||
psemver_setvar versionz z
|
||||
}
|
||||
psemver_copy p; {
|
||||
psemver_incpatchlevel p
|
||||
psemver_setprelease "$setprelease" p
|
||||
if [ -n "$addmetadata" ]; then
|
||||
[ -n "$setmetadata" ] && psemver_setmetadata "$setmetadata" p
|
||||
psemver_addmetadata "$addmetadata" p
|
||||
else
|
||||
psemver_setmetadata "$setmetadata" p
|
||||
fi
|
||||
psemver_setvar versionp p
|
||||
}
|
||||
psemver_copy k; {
|
||||
psemver_setprelease "$setprelease" k
|
||||
if [ -n "$addmetadata" ]; then
|
||||
[ -n "$setmetadata" ] && psemver_setmetadata "$setmetadata" k
|
||||
psemver_addmetadata "$addmetadata" k
|
||||
else
|
||||
psemver_setmetadata "$setmetadata" k
|
||||
fi
|
||||
psemver_setvar versionk k
|
||||
}
|
||||
nextvs=(
|
||||
"$versionx : maj incompatibles de l'API (-x)"
|
||||
"$versionz : maj compatibles de l'API (-z)"
|
||||
|
@ -482,7 +522,7 @@ BEGIN {
|
|||
esac
|
||||
# Quand on incrémente, réinitialiser la valeur de prérelease et metadata
|
||||
psemver_setprelease
|
||||
psemver_setmetadata
|
||||
[ -z "$addmetadata" ] && psemver_setmetadata
|
||||
fi
|
||||
|
||||
# spécifier prerelease
|
||||
|
@ -503,6 +543,9 @@ BEGIN {
|
|||
if [ -n "$setmetadata" ]; then
|
||||
psemver_setmetadata "$setmetadata" || { eerror "Identifiant de build invalide: $setmetadata"; return 1; }
|
||||
fi
|
||||
if [ -n "$addmetadata" ]; then
|
||||
psemver_addmetadata "$addmetadata" || { eerror "Identifiant de build invalide: $addmetadata"; return 1; }
|
||||
fi
|
||||
|
||||
# afficher le résultat final
|
||||
psemver_setvar version
|
||||
|
|
9
pver
9
pver
|
@ -30,6 +30,10 @@ OPTIONS
|
|||
|
||||
--show
|
||||
Afficher le numéro de version. C'est l'action par défaut
|
||||
--allow-empty
|
||||
Supporter que la version puisse ne pas être spécifiée ni trouvée. Dans
|
||||
ce cas, ne pas assumer que la version effective est 0.0.0
|
||||
Avec --show et --update, ne rien afficher si la version est vide.
|
||||
--check
|
||||
Vérifier que le numéro de version est conforme aux règles du versionage
|
||||
sémantique
|
||||
|
@ -88,7 +92,10 @@ OPTIONS
|
|||
Spécifier un identifiant de build, à ajouter au numéro de version.
|
||||
-M, --vcs-metadata
|
||||
Spécifier l'identifiant à partir de la révision actuelle dans le
|
||||
gestionnaire de version. Note: pour le moment, seul git est supporté."
|
||||
gestionnaire de version. Note: pour le moment, seul git est supporté.
|
||||
--add-metadata ID
|
||||
Ajouter l'identifiant spécifié à la valeur actuelle, au lieu de la
|
||||
remplacer. Séparer l'identifiant de la valeur précédente avec un '.'"
|
||||
}
|
||||
|
||||
pver "$@"
|
||||
|
|
Loading…
Reference in New Issue