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