Как использовать пользовательские токены с задачами flex ant - PullRequest
2 голосов
/ 26 октября 2011

Я пытаюсь использовать задачу flex ant для создания своего проекта Flex. Перед использованием ant я запустил команду mxmlc следующим образом:

mxmlc -load-config mxmlc_conf.xml src\project.mxml -output bin-debug +libs=<absolute_path_to>3rdparty\libs +<other_token>=<absoulte_path_to_value>  

Дело в том, что теперь я должен использовать задачи flex ant, и похоже, что они отключили (или забыли о) пользовательские токены, такие как + =, поскольку я не нашел способа передать их в задачу mxmlc.

Я пытался использовать:

<значение аргумента arg = "..." />

но это не работает.

Что я пытаюсь сделать, так это избавиться от жестко запрограммированных путей в файле конфигурации mxmlc (mxmlc_conf.xml), и сначала я использовал пользовательские токены в mxmlc, но теперь я не знаю, как передавать пути в качестве переменных в конфигурационном файле.

Я могу принять предложения.

Заранее большое спасибо.

Ответы [ 2 ]

0 голосов
/ 05 сентября 2014

Попробуйте это

<target>
    <replace file="mxmlc_conf.xml" token="$${libs}" value="absolute/path/to/3rdparty/libs"/>
    <mxmlc ...>
        <load-config filename="mxmlc_conf.xml" />
    </mxmlc>
    <replace file="mxmlc_conf.xml" token="absolute/path/to/3rdparty/libs" value="$${libs}"/>
</target>
0 голосов
/ 01 декабря 2011

Я пытаюсь сделать то же самое (заменить жестко запрограммированные пути в файле конфигурации), и я ищу то же решение.

Кажется, нам, возможно, придется отказаться от задачи mxmlcи просто используйте mxmlc из командной строки:

<exec searchpath="true" executable="amxmlc"
        dir="${project.build.outputDirectory}">
        <env key="PATH"
            path="${env.PATH}:/Applications/Adobe\ Flash\ Builder\ 4.5/sdks/4.5.1/bin" />
        <arg value="-load-config" />
        <arg value="../src/main/resources/dumpConfig.xml" />
        <arg value="+libs=/absolute/path/to/3rd/party/libs" /> 
        <arg value="-output" />
        <arg
            value="${project.build.outputDirectory}/${application.name}.swf" />
        <arg value="../src/main/flex/${application.name}.mxml" />
    </exec>

Как-то так должно работать.Я просто надеюсь, что есть лучший способ (то есть способ, которым мы на самом деле можем использовать цель mxml ant!)

Надеюсь, это кому-нибудь поможет ...

...