cx-updatedev: ajout des mises à jour récursives

This commit is contained in:
Jephté Clain 2019-06-05 15:45:37 +04:00
parent 4c58b127af
commit aa4eb4a481
1 changed files with 33 additions and 3 deletions

View File

@ -27,7 +27,10 @@ OPTIONS
Supprimer les répertoires et les faire recréer par composer i,
uniquement s'il s'agit de liens
-u, --update
Supprimer les répertoires et les faire recréer par composer u"
Supprimer les répertoires et les faire recréer par composer u
--ru, --recursive-update
Mettre à jour de façon récursive tous les projets dépendants.
NB: les modifications seront automatiquement enregistrées dans git."
}
fake=
@ -35,6 +38,7 @@ verbose=1
action=
args=(
--help '$exit_with display_help'
-d:,--project-dir: projdir=
-n,--fake fake=1
-q,--quiet verbose=
-l,--link action=link
@ -42,9 +46,16 @@ args=(
-i,--install action=install
-j,--reinstall-link action=reinstall-link
-u,--update action=update
--ru,--recursive-update action=recursive-update
)
parse_args "$@"; set -- "${args[@]}"
if [ -d "$projdir" ]; then
cd "$projdir"
elif [ -e "$projdir" ]; then
die "$projdir: répertoire introuvable"
fi
found=
first=1
while true; do
@ -63,10 +74,14 @@ if [ -z "$first" ]; then
fi
case "$action" in
install|update)
install|update|reinstall-link|recursive-update)
[ -x ./composer.phar ] || die "Impossible de trouver composer.phar"
;;
esac
if [ "$action" == recursive-update ]; then
# avec recursive-update, tous les modules doivent être considérés
set --
fi
###
@ -91,6 +106,7 @@ function update_with_rsync() {
}
deps=()
modules=()
for m in "$@"; do
m="${m#vendor/}" # pour permettre de spécifier le chemin directement
m="${m//\//-}"
@ -98,6 +114,7 @@ for m in "$@"; do
ur-*|lib-*) ;;
*) m="ur-$m";;
esac
modules+=("$m")
p="${m//-/\/}"
check_module
@ -143,7 +160,7 @@ for m in "$@"; do
array_add deps "$p"
eend
;;
reinstall-link)
reinstall-link|recursive-update)
# Supprimer les liens uniquement...
etitle "$m"
if [ -L "vendor/$p" ]; then
@ -187,4 +204,17 @@ update)
./composer.phar u "${deps[@]}"
eend
;;
recursive-update)
# mettre à jour les dépendances de façon récursives
for m in "${modules[@]}"; do
etitle "Mise à jour récursive: $m"
"$script" -d "../$m" --ru
eend
done
estep "Maj deps"
./composer.phar u
estep "Enregistrement dans git"
pci -A "maj deps"
;;
esac