2010-11-23 98 views
3

我有一个Ant脚本,它使用JarBundler任务将我的Java应用程序变成一个漂亮的Mac Bundle。问题是我现在如何将它转换成.pkg文件进行分发?如何从构建脚本运行packagemaker?

我期待在使用packagemaker命令行工具(位于/开发人员的/ usr/bin中/ packagemaker),但它有一些缺点:

  1. 如果我使用“--doc”选项将其指向.pmdoc文件(使用PackageMaker GUI构建),那么只要将文件添加到我的项目中,我将不得不手动更改.pmdoc内容
  2. 如果使用'--root'选项构建基于应用程序包的包,那么看起来我没有获得很多GUI的功能(例如包括许可证文本)。

其他人如何用他们的构建脚本生成.pkg文件?

谢谢

回答

1

我使用脚本自动更新PackageMaker文件的一部分。我发现保留旧格式.pmproj文件更方便,而不是切换到更新的捆绑格式。

2

我用下面从pmdoc和包含在OS X 10.6的包DMG构建一个软件包:

/Developer/usr/bin/packagemaker --verbose --doc [project].pmdoc --out [project].pkg 
mkdir -p dmg 
cp -pR [project].pkg dmg 
hdiutil create dmg/[Project]-r$SVN_REVISION.dmg -volname "[Project]" -fs HFS+ -srcfolder dmg 
0

您可以使用packagemaker的--resources选择一个资源文件夹添加到包。如果你正在构建一个老式的包(10.3和10.4目标),你需要做的就是把文件放在适当的名字里(例如(License,ReadMe,Welcome)。(rtf | html)和Background。 gif | pdf | tif))可选地组织成.lproj子文件夹,并且它们将包括软件包使用的&。这似乎不适用于分发包(10.5样式的扁平软件包和一些10.4软件包),因为资源文件名必须在分发文件中列出,我不知道如何将它们放在packagemaker中。