2010-05-25 2 views
12

Я пытаюсь автоматизировать процесс создания расширений Chrome в OSX 10.5. Я не могу найти аналогичную команду для OSX, как это для Windows,Как упаковать расширение Chrome на Mac OSX с помощью командной строки?

chrome.exe --pack-расширение = C: \ myext --pack-расширения ключа = C: \ myext.pem

Возможно ли это на OSX? Поскольку об этом не упоминается в documentation.

Прошу вас, руководствоваться.

Заранее спасибо. -Parimal Das

ответ

14
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --pack-extension... 
+1

Это работает, но расширение оболочки не поддерживается, поэтому обязательно используйте полный путь (не относительный (например, ../ или ~ /)). Кроме того, нет сообщений об ошибках/ошибках. Мой вывод показал, что «Breakpad отключен», но все еще работал при использовании правильных путей. Дополнительная информация: http://code.google.com/p/chromium/issues/detail?id=87085 –

1

Полный пример для запуска на корпусе:

"/Users/varr/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --pack-extension="/Users/varr/Dropbox/Code/Projects/Bookmark Express/src"

Things отметить:

  • Chrome не будет отображать любой выход успеха или неудачи, но он возвращает код выхода
  • Ваша оболочка (например, oh-my-zsh) может отображать коды выхода, поэтому у вас может быть идея
  • Хром будет генерировать два файла, .crx и .pem

Для автоматизации этого, я использовал GebGroovy). В 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 одной строки сценария с помощью команды для запуска и все это работало!

Смежные вопросы