IzPack - переменная из POM для записи в целевой текстовый файл

Мой установщик создает пакет приложений для 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?


person tomek.g1989    schedule 05.03.2015    source источник


Ответы (1)


Я думаю, что вам не хватает атрибута в синтаксическом разделе, если у вас есть заполнитель, установленный на @pom.version@ в Info.plist, используйте это:

<parsable targetfile="$INSTALL_PATH/MyApp.app/Contents/Info.plist" type="ant" />
person Zdeněk Vaník    schedule 29.04.2015