Un exemple complet pour fonctionner sur la coque:
"/Users/varr/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --pack-extension="/Users/varr/Dropbox/Code/Projects/Bookmark Express/src"
choses à noter:
- Chrome n'affiche aucune sortie de la réussite ou de l'échec, mais il renvoie un code de sortie
- Votre shell (par exemple oh-my-zsh) peut afficher des codes de sortie afin que vous puissiez avoir une idée
- Chrome va générer deux fichiers, le
.crx
et un .pem
Automatiser cela, je Geb (et Groovy). En GebConfig.groovy
, j'ai essayé d'utiliser:
def chromePath = "/Users/varr/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary"
def packExtensionSwitch='--pack-extension="/Users/varr/Dropbox/Code/Projects/Bookmark Express/src"'
ProcessBuilder packExtension = new ProcessBuilder(chromePath, packExtensionSwitch)
Process process = packExtension.start()
Mais ce retour un code de sortie 21 à chaque fois et aucun fichier n'a été généré. Je finalisé mon approche avec:
def packageExtensionScript = '/Users/varr/package.sh'
ProcessBuilder packExtension = new ProcessBuilder(packageExtensionScript)
Process process = packExtension.start()
Pour finir, je fait package.sh
un script d'une ligne avec la commande à exécuter et tout cela a fonctionné!
Cela fonctionne, mais l'expansion du shell n'est pas prise en charge, veillez donc à utiliser le chemin complet (pas relatif (par exemple ../ ou ~ /)). En outre, il n'y a pas de message de réussite/erreur. Ma sortie indique "Breakpad désactivé" mais fonctionne quand vous utilisez les bons chemins. Plus d'infos: http://code.google.com/p/chromium/issues/detail?id=87085 –