Полный пример запуска на оболочке:
"/Users/varr/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --pack-extension="/Users/varr/Dropbox/Code/Projects/Bookmark Express/src"
На что обратить внимание:
- Chrome не будет отображать какие-либо выходные данные об успехе или неудаче, но вернет код выхода
- Ваша оболочка (напр., Oh-my-zsh) может отображать коды выхода, так что у вас есть идея там
- Chrome сгенерирует два файла:
.crx
и .pem
Чтобы автоматизировать это, я использовал Geb (и Groovy ). В GebConfig.groovy
я пытался использовать:
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()
Но каждый раз возвращался код выхода 21, и файлы не создавались. Я завершил свой подход с:
def packageExtensionScript = '/Users/varr/package.sh'
ProcessBuilder packExtension = new ProcessBuilder(packageExtensionScript)
Process process = packExtension.start()
Чтобы закончить, я сделал package.sh
однострочный скрипт с командой для запуска, и все заработало!