Задача Ant MXMLC с произвольным списком исходных /lib путей?

Кто-нибудь знает, как использовать задачу Flex Ant mxmlc с пользовательским списком исходных или библиотечных путей?

Пользователь должен иметь возможность определять произвольный список исходных и / или библиотечных (.swc) путей в файле свойств Ant, и файл сборки может использовать эти значения в задаче mxmlc.

Есть ли какие-то хитрости (возможно, использовать фильтрацию / замену строк), чтобы заставить это работать?

3 ответа

Решение

Не знаю, поможет ли это, но вы можете включить внешний XML в ваш файл сборки Ant:

<?xml version="1.0" ?>
<project name="test" default="test" basedir=".">

  <target name="setup">
    ...
  </target>

  <import file="./common.xml" />

</project>

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

Кажется, что включение внешних файлов, определяющих библиотеку, и различных исходных путей может быть лучшим и столь же расширяемым способом.

Как я это делаю, это перечисляет мои исходные пути, пути к библиотекам и т. Д. Во внешнем файле конфигурации mxmlc (например, flex-config.xml), мой более-менее универсальный файл build.xml просто делает

<mxmlc file="${app.mainClass}" output="${swf}">
    <load-config filename="${air.sdk.config}" />
    <load-config filename="${app.config}" />
</mxmlc>

Где air.sdk.config указывает на конфигурационный XML-файл SDK по умолчанию, а app.config - на пользовательский конфигурационный XML-файл приложения.

Я не знаю, возможно ли это сделать из файла свойств.

Вы можете использовать это в своем скрипте Ant:

<source-path>
    <source-path path-element="my/src/dir" />
</source-path>
<library-path dir="my/libs/dir" append="true">
    <include name="*.swc" />
</library-path>

Или, возможно, разработайте какой-нибудь Ant-модуль для имитации этого из вашего файла свойств.

Я не могу понять, почему вы хотите, чтобы ваш файл свойств был динамичным, это обычно роль вашего build.xml, но эй:)

Другие вопросы по тегам