【问题标题】:How to run packagemaker from a build script?如何从构建脚本运行 packagemaker?
【发布时间】:2010-11-23 14:35:11
【问题描述】:

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

我正在考虑使用 packagemaker 命令行工具(位于 /Developer/usr/bin/packagemaker),但它有许多缺点:

  1. 如果我使用“--doc”选项将其指向一个 .pmdoc 文件(使用 PackageMaker GUI 构建),那么每当我将文件添加到我的项目时,我都必须手动更改 .pmdoc 内容
  2. 如果我使用“--root”选项基于应用程序包构建包,那么我似乎没有获得 GUI 的许多功能(例如包括许可证文本)。

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

谢谢

【问题讨论】:

    标签: macos packagemaker


    【解决方案1】:

    我使用以下内容从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
    

    【讨论】:

      【解决方案2】:

      我使用脚本自动更新 PackageMaker 文件的某些部分。我发现保留旧格式的 .pmproj 文件比切换到更新的包格式更方便。

      【讨论】:

        【解决方案3】:

        您可以使用 packagemaker 的 --resources 选项将资源文件夹添加到包中。如果您正在构建旧式包(10.3 和可能 10.4 目标),您需要做的就是放置具有适当名称的文件(例如 (License,ReadMe,Welcome).(rtf|html) 和 Background.(jpg| gif|pdf|tif)) 可选地组织到 .lproj 子文件夹中,它们将被包包含和使用。这似乎不适用于分发包(10.5 样式的平面包和一些 10.4 包),因为资源文件名必须在分发文件中列出,我不确定如何使用 packagemaker 将它们放在那里。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-01
          • 1970-01-01
          • 2019-10-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多