cx-updatedev: remplacer --ru par -w, --ud, --ur en fonction des besoins
This commit is contained in:
		
							parent
							
								
									9bfd515cac
								
							
						
					
					
						commit
						ae7ffeb7b1
					
				
							
								
								
									
										112
									
								
								cx-updatedev
									
									
									
									
									
								
							
							
						
						
									
										112
									
								
								cx-updatedev
									
									
									
									
									
								
							| @ -17,25 +17,49 @@ OPTIONS | ||||
|         Afficher simplement ce qui serait fait | ||||
|     -q, --quiet | ||||
|         Ne pas lancer rsync en mode verbose | ||||
|     --rsync | ||||
|         Mettre à jour les répertoires dans vendor/ qui ne sont pas des liens | ||||
|         symboliques à partir des projets dépendants correspondants. Les liens | ||||
|         symboliques créés avec --link sont ignorés. C'est l'option par défaut. | ||||
|     -l, --link | ||||
|         Transformer les clones de dépôts en liens directs vers les projets | ||||
|         Transformer les clones de dépôts dans vendor/ en liens symboliques vers | ||||
|         les projets dépendants correpondants. | ||||
|     -k, --copy | ||||
|         Transformer les liens directs vers les projets en copies des projets | ||||
|         Transformer les liens symboliques dans vendor/ en copies des projets | ||||
|         dépendants correspondants. Les répertoires qui ne sont pas des liens | ||||
|         symboliques sont ignorés. | ||||
|         Cette option peut être considérée comme le contraire de --link | ||||
|     -i, --install | ||||
|         Supprimer les répertoires et les faire recréer par composer i | ||||
|         Supprimer les répertoires des projets dépendants dans vendor/, qu'il | ||||
|         s'agisse de liens symboliques ou de répertoires normaux, puis les faire | ||||
|         recréer par 'composer i' | ||||
|         Celà permet de ramener le projet à l'état original. | ||||
|     -j, --reinstall-link | ||||
|         Supprimer les répertoires et les faire recréer par composer i, | ||||
|         uniquement s'il s'agit de liens | ||||
|         Supprimer les répertoires des projets dépendants dans vendor/ s'il | ||||
|         s'agit de liens symboliques, puis les faire recréer par 'composer i' | ||||
|         Cette variante est plus rapide que --install puisqu'on ne cherche pas à | ||||
|         tout recréer. | ||||
|     -u, --update | ||||
|         Supprimer les répertoires et les faire recréer par composer u | ||||
|     --ru, --recursive-update | ||||
|         Supprimer les répertoires des projets dépendants dans vendor/, qu'il | ||||
|         s'agisse de liens symboliques ou de répertoires normaux, puis les faire | ||||
|         recréer par 'composer u' | ||||
|         Celà permet de mettre à jour le projet sans les erreurs qui résultent | ||||
|         des modifications faites par les autres actions. | ||||
|     -w, --update-commit | ||||
|         Mettre à jour le projet avec --update puis enregistrer les modifications | ||||
|         éventuelles dans git | ||||
|     --ud, --update-deps | ||||
|         Mettre à jour les projets dépendants avec --update-commit avant de | ||||
|         mettre à jour le projet courant. | ||||
|     --ur, --update-recursive | ||||
|         Mettre à jour de façon récursive tous les projets dépendants. | ||||
|         NB: les modifications seront automatiquement enregistrées dans git." | ||||
|         NB: les modifications dans les projets dépendants seront automatiquement | ||||
|         enregistrées dans git." | ||||
| } | ||||
| 
 | ||||
| fake= | ||||
| verbose=1 | ||||
| action= | ||||
| action=rsync | ||||
| args=( | ||||
|     --help '$exit_with display_help' | ||||
|     -d:,--project-dir: projdir= | ||||
| @ -46,7 +70,9 @@ args=( | ||||
|     -i,--install action=install | ||||
|     -j,--reinstall-link action=reinstall-link | ||||
|     -u,--update action=update | ||||
|     --ru,--recursive-update action=recursive-update | ||||
|     -w,--update-commit action=update-commit | ||||
|     --ud,--update-deps action=update-deps | ||||
|     --ur,--update-recursive action=update-recursive | ||||
| ) | ||||
| parse_args "$@"; set -- "${args[@]}" | ||||
| 
 | ||||
| @ -74,12 +100,13 @@ if [ -z "$first" ]; then | ||||
| fi | ||||
| 
 | ||||
| case "$action" in | ||||
| install|update|reinstall-link|recursive-update) | ||||
| install|reinstall-link|update|update-commit|update-deps|update-recursive) | ||||
|     [ -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 | ||||
| if [ "$action" == update-deps -o "$action" == update-recursive ]; then | ||||
|     # avec update-deps et update-recursive, tous les modules doivent être | ||||
|     # considérés | ||||
|     set -- | ||||
| fi | ||||
| 
 | ||||
| @ -119,6 +146,14 @@ for m in "$@"; do | ||||
| 
 | ||||
|     check_module | ||||
|     case "$action" in | ||||
|     rsync) | ||||
|         # Action par défaut: ignorer les liens et synchroniser les copies | ||||
|         if [ ! -L "vendor/$p" ]; then | ||||
|             etitle "$m" | ||||
|             update_with_rsync | ||||
|             eend | ||||
|         fi | ||||
|         ;; | ||||
|     link) | ||||
|         # Ignorer les liens et transformer les copies en liens | ||||
|         if [ ! -L "vendor/$p" ]; then | ||||
| @ -160,7 +195,7 @@ for m in "$@"; do | ||||
|         array_add deps "$p" | ||||
|         eend | ||||
|         ;; | ||||
|     reinstall-link|recursive-update) | ||||
|     reinstall-link) | ||||
|         # Supprimer les liens uniquement... | ||||
|         etitle "$m" | ||||
|         if [ -L "vendor/$p" ]; then | ||||
| @ -170,7 +205,7 @@ for m in "$@"; do | ||||
|         array_add deps "$p" | ||||
|         eend | ||||
|         ;; | ||||
|     update) | ||||
|     update|update-commit|update-deps|update-recursive) | ||||
|         # Supprimer les liens et répertoires... | ||||
|         etitle "$m" | ||||
|         if [ -e "vendor/$p" ]; then | ||||
| @ -180,38 +215,49 @@ for m in "$@"; do | ||||
|         array_add deps "$p" | ||||
|         eend | ||||
|         ;; | ||||
|     *) | ||||
|         # Action par défaut: ignorer les liens et synchroniser les copies | ||||
|         if [ ! -L "vendor/$p" ]; then | ||||
|             etitle "$m" | ||||
|             update_with_rsync | ||||
|             eend | ||||
|         fi | ||||
|         ;; | ||||
|     *) die "$action: action inconnue";; | ||||
|     esac | ||||
| done | ||||
| 
 | ||||
| case "$action" in | ||||
| install|reinstall-link) | ||||
|     # ... puis installer les dépendances | ||||
|     etitle "Installation des dépendances" | ||||
|     estep "Installation des dépendances" | ||||
|     ./composer.phar i | ||||
|     eend | ||||
|     ;; | ||||
| update) | ||||
| update|update-commit) | ||||
|     # ... puis mettre à jour les dépendances | ||||
|     etitle "Mise à jour des dépendances" | ||||
|     estep "Mise à jour des dépendances" | ||||
|     ./composer.phar u "${deps[@]}" | ||||
|     eend | ||||
| 
 | ||||
|     if [ "$action" == update-commit ]; then | ||||
|         estep "Enregistrement dans git" | ||||
|         pci -A "maj deps" | ||||
|     fi | ||||
|     ;; | ||||
| recursive-update) | ||||
|     # mettre à jour les dépendances de façon récursives | ||||
| update-deps) | ||||
|     # mettre à jour les dépendances directes | ||||
|     for m in "${modules[@]}"; do | ||||
|         etitle "Mise à jour récursive: $m" | ||||
|         "$script" -d "../$m" --ru | ||||
|         etitle "Mise à jour projet dépendant: $m" | ||||
|         "$script" -d "../$m" -w | ||||
|         eend | ||||
|     done | ||||
|     estep "Maj deps" | ||||
| 
 | ||||
|     estep "Mise à jour des dépendances" | ||||
|     ./composer.phar u | ||||
| 
 | ||||
|     estep "Enregistrement dans git" | ||||
|     pci -A "maj deps" | ||||
|     ;; | ||||
| update-recursive) | ||||
|     # mettre à jour les dépendances de façon récursive | ||||
|     for m in "${modules[@]}"; do | ||||
|         etitle "Mise à jour récursive: $m" | ||||
|         "$script" -d "../$m" --ur | ||||
|         eend | ||||
|     done | ||||
| 
 | ||||
|     estep "Mise à jour des dépendances" | ||||
|     ./composer.phar u | ||||
| 
 | ||||
|     estep "Enregistrement dans git" | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user