如何使用命令行在Mac OS上打包Chrome扩展程序?

时间:2010-05-25 14:21:13

标签: macos command-line google-chrome

我正在尝试在OSX 10.5上自动化Chrome扩展程序构建过程。 我无法为Windows找到类似于OSX的类似命令

  

chrome.exe --pack-extension = c:\ myext   --pack扩展密钥= C:\ myext.pem

甚至可以在OSX上使用吗?由于在documentation中没有提及它。

请指导我。

提前致谢。 -Parimal Das

4 个答案:

答案 0 :(得分:14)

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

答案 1 :(得分:3)

使用CRXMake gem。

度过美好的一天。

答案 2 :(得分:1)

在shell上运行的完整示例:

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

注意事项:

  • Chrome不会显示任何成功或失败的输出,但会返回退出代码
  • 您的shell(例如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一个单行脚本,这一切都有效!

答案 3 :(得分:1)