2010-11-23 10 views
3

J'ai un script Ant qui transforme mon application Java en un joli paquet Mac en utilisant la tâche JarBundler. Le problème est comment puis-je maintenant transformer cela en un fichier .pkg pour la distribution?Comment lancer packagemaker à partir d'un script de build?

Je cherche à utiliser l'outil de ligne de commande packagemaker (situé dans/Developer/usr/bin/packagemaker) mais il a un certain nombre d'inconvénients:

  1. Si j'utilise le '--doc' possibilité de pointer vers un fichier .pmdoc (construit en utilisant l'interface graphique PackageMaker), alors je vais devoir modifier manuellement le contenu de .pmdoc chaque fois que j'ajouter des fichiers à mon projet
  2. Si j'utilise l'option « --root » pour construire la paquet basé sur l'ensemble de l'application, il semble que je ne reçois pas beaucoup de fonctionnalités de l'interface graphique (comme l'inclusion du texte de la licence).

Comment d'autres personnes produisent un fichier .pkg avec leur script de construction?

Merci

Répondre

1

j'utiliser des scripts pour mettre à jour automatiquement les parties du fichier PackageMaker. J'ai trouvé plus pratique de conserver l'ancien format .pmproj plutôt que de passer au format plus récent.

2

J'utilise ce qui suit pour construire un paquet à partir d'un pmdoc et DMG contenant le package sur 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 
0

Vous pouvez utiliser --resources options PackageMaker pour ajouter un dossier de ressources à l'ensemble. Si vous construisez un paquet de style plus ancien (10.3 et peut-être 10.4 cible), tout ce que vous devez faire est de mettre des fichiers avec les noms appropriés (par exemple, Licence, ReadMe, Welcome). (Rtf | html) et Background. gif | pdf | tif)) optionnellement organisé en sous-dossiers .lproj, et ils incluront & utilisé par le paquet. Cela ne semble pas fonctionner avec les paquets de distribution (paquets plats de style 10.5 et 10.4 paquets), car les noms de fichiers de ressources doivent être listés dans le fichier de distribution, et je ne sais pas comment les mettre avec packagemaker.