2017-10-16 10 views
1

J'ai un projet de composeur sans code mais avec une liste de dépendances. Je veux courir composer install pour télécharger tous les paquets dépendants et exécuter quelques commandes de bash dans chacun après lui.Compositeur run-script des packages imbriqués

Mon composer.json:

{ 
 
\t "name": "testmain/testmain", 
 
\t "description": "testmain", 
 
\t "minimum-stability": "dev", 
 
\t "repositories": [{ 
 
\t \t \t "type": "package", 
 
\t \t \t "package": { 
 
\t \t \t \t "name": "testsub/testsub1", 
 
\t \t \t \t "description": "testsub/testsub1", 
 
\t \t \t \t "version": "master", 
 
\t \t \t \t "source": { 
 
\t \t \t \t \t "url": "https://github.com/testsub/testsub1", 
 
\t \t \t \t \t "type": "git", 
 
\t \t \t \t \t "reference": "master" 
 
\t \t \t \t }, 
 
\t \t \t \t "scripts": { 
 
\t \t \t \t \t "post-install-cmd": [ 
 
\t \t \t \t \t \t "make", 
 
\t \t \t \t \t \t "make install" 
 
\t \t \t \t \t ] 
 
\t \t \t \t } 
 
\t \t \t } 
 
\t \t }, 
 

 
\t \t { 
 
\t \t \t "type": "package", 
 
\t \t \t "package": { 
 
\t \t \t \t "name": "testsub/testsub2", 
 
\t \t \t \t "description": "testsub/testsub2", 
 
\t \t \t \t "version": "master", 
 
\t \t \t \t "source": { 
 
\t \t \t \t \t "url": "https://github.com/testsub/testsub2", 
 
\t \t \t \t \t "type": "git", 
 
\t \t \t \t \t "reference": "master" 
 
\t \t \t \t }, 
 
\t \t \t \t "scripts": { 
 
\t \t \t \t \t "post-install-cmd": [ 
 
\t \t \t \t \t \t "make", 
 
\t \t \t \t \t \t "make install" 
 
\t \t \t \t \t ] 
 
\t \t \t \t } 
 
\t \t \t } 
 
\t \t } 
 
\t ], 
 
\t "require": { 
 
\t \t "testsub/testsub1": "master", 
 
\t \t "testsub/testsub2": "master" 
 
\t } 
 
}

Le problème est en cours d'exécution dans scripts séquence de packages imbriqués, tous les scripts sont ignorés par le compositeur.

Merci!

Répondre

1

Malheureusement, il est impossible d'exécuter des scripts non-ROOT (dans un sens non-root composer.json), comme mentionné dans documentation:

Note: Seuls les scripts définis dans le compositeur du package racine. Json sont exécutés. Si une dépendance du package racine spécifie ses propres scripts, Composer n'exécute pas ces scripts supplémentaires.