Как запустить packagemaker из скрипта сборки? - PullRequest
3 голосов
/ 23 ноября 2010

У меня есть Ant-скрипт, который превращает мое Java-приложение в красивый Mac Mac, используя задачу JarBundler . Проблема в том, как мне теперь превратить это в файл .pkg для распространения?

Я использую инструмент командной строки packagemaker (находится в / Developer / usr / bin / packagemaker), но у него есть ряд недостатков:

  1. Если я использую опцию '--doc', чтобы указать его на файл .pmdoc (созданный с использованием GUI PackageMaker), мне придется вручную изменять содержимое .pmdoc всякий раз, когда я добавляю файлы в свой проект
  2. Если я использую опцию --root для сборки пакета на основе пакета приложения, то, похоже, я не получаю многих функций графического интерфейса (таких как текст лицензии).

Как другие люди создают файл .pkg со своим скриптом сборки?

Спасибо

Ответы [ 3 ]

2 голосов
/ 23 ноября 2010

Я использую следующее для сборки пакета из pmdoc и DMG, содержащего пакет в OS X 10.6:

/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
1 голос
/ 23 ноября 2010

Я использую скрипты для автоматического обновления частей файла PackageMaker. Я обнаружил, что удобнее сохранять файлы в старом формате .pmproj, а не переключаться на более новый формат пакета.

0 голосов
/ 23 ноября 2010

Вы можете использовать опции --resources packagemaker, чтобы добавить папку ресурсов в пакет.Если вы создаете пакет более старого стиля (цель 10.3 и, возможно, 10.4), все, что вам нужно сделать, это поместить файлы с соответствующими именами (например, (License, ReadMe, Welcome). (Rtf | html) и Background. (Jpg |gif | pdf | tif)) опционально организованы в подпапки .lproj, и они будут включены и использованы пакетом.Похоже, что это не работает с дистрибутивными пакетами (плоские пакеты в стиле 10.5 и некоторые пакеты 10.4), так как имена файлов ресурсов должны быть указаны в файле дистрибутива, и я не уверен, как поместить их туда с помощью packagemaker.

...