cx-updatedev: ajout des mises à jour récursives
This commit is contained in:
		
							parent
							
								
									4c58b127af
								
							
						
					
					
						commit
						aa4eb4a481
					
				
							
								
								
									
										36
									
								
								cx-updatedev
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								cx-updatedev
									
									
									
									
									
								
							| @ -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 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user