Мой установщик создает пакет приложений для Mac вручную, так как лучшего решения я не нашел (но проблема не в этом). Для создания такого бандла у меня есть заранее подготовленный файл Info.plist. Моя цель — взять значение pom.version из POM-файла Maven установщика и записать его в файл Info.plist. Это моя попытка:
<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<installation version="5.0">
<info>
<appname>MyApp</appname>
<appversion>@pom.version@</appversion>
</info>
<resources>
<res id="Info.plist" src="Info.plist" parse="yes" type="xml" />
</resources>
<!-- Panel definitions omitted for brevity -->
<packs>
<pack id="MyPack" name="MyApplicationPack"
required="yes">
<file targetdir="$INSTALL_PATH/MyApp.app/Contents" src="Info.plist">
<os family="mac" />
</file>
<parsable targetfile="$INSTALL_PATH/MyApp.app/Contents/Info.plist" />
</pack>
</packs>
</installation>
Во-первых, следует взять значение из POM, используя @pom.version@ . В файле Info.plist я использую $APP_VER для заполнения этого значения. Вместо значения типа 1.0-SNAPSHOT я получаю строку: @pom.version@
Ресурс имеет атрибут parse="yes", а также я добавил тег для файла в элементе "pack".
Версия IzPack, которую я использую: 5.0.0-rc2.
Есть ли способ заставить IzPack правильно заменить версию в файле Info.plist?