cx-updatedev: ajout de -i et -u

This commit is contained in:
Jephté Clain 2019-05-22 23:04:52 +04:00
parent c7eca6ae7d
commit 9b03dcd69f
1 changed files with 45 additions and 3 deletions

View File

@ -19,8 +19,12 @@ OPTIONS
Ne pas lancer rsync en mode verbose
-l, --link
Transformer les clones de dépôts en liens directs vers les projets
-c, --copy
Transformer les liens directs vers les projets en copies des projets"
-k, --copy
Transformer les liens directs vers les projets en copies des projets
-i, --install
Supprimer les répertoires et les faire recréer par composer i
-u, --update
Supprimer les répertoires et les faire recréer par composer u"
}
fake=
@ -31,7 +35,9 @@ args=(
-n,--fake fake=1
-q,--quiet verbose=
-l,--link action=link
-c,--copy action=copy
-k,--copy action=copy
-i,--install action=install
-u,--update action=update
)
parse_args "$@"; set -- "${args[@]}"
@ -52,6 +58,12 @@ if [ -z "$first" ]; then
enote "Le répertoire du projet est $(ppath . ~)"
fi
case "$action" in
install|update)
[ -x ./composer.phar ] || die "Impossible de trouver composer.phar"
;;
esac
###
if [ $# -eq 0 ]; then
@ -74,6 +86,7 @@ function update_with_rsync() {
rsync "${rsync_args[@]}"
}
deps=()
for m in "$@"; do
m="${m#vendor/}" # pour permettre de spécifier le chemin directement
m="${m//\//-}"
@ -115,6 +128,20 @@ for m in "$@"; do
update_with_rsync
eend
;;
install)
# Supprimer les liens et répertoires...
etitle "$m"
[ -e "vendor/$p" ] && rm -rf "vendor/$p"
array_add deps "$p"
eend
;;
update)
# Supprimer les liens et répertoires...
etitle "$m"
[ -e "vendor/$p" ] && rm -rf "vendor/$p"
array_add deps "$p"
eend
;;
*)
# Action par défaut: ignorer les liens et synchroniser les copies
if [ ! -L "vendor/$p" ]; then
@ -125,3 +152,18 @@ for m in "$@"; do
;;
esac
done
case "$action" in
install)
# ... puis installer les dépendances
etitle "Installation des dépendances"
./composer.phar i
eend
;;
update)
# ... puis mettre à jour les dépendances
etitle "Mise à jour des dépendances"
./composer.phar u "${deps[@]}"
eend
;;
esac