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