Как использовать пользовательские токены с задачами flex ant

#apache-flex #mxmlc

#apache-flex #mxmlc

Вопрос:

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

 mxmlc -load-config mxmlc_conf.xml srcproject.mxml -output bin-debug  libs=<absolute_path_to>3rdpartylibs  <other_token>=<absoulte_path_to_value>  
  

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

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

< mxmlc …>< значение токена arg=»…» />< /mxmlc>

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

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

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

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

Ответ №1:

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

Похоже, нам, возможно, придется отказаться от задачи 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!)

Я надеюсь, что это кому-то поможет…

Ответ №2:

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

 <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>