вторник, августа 08, 2006

Сборка Flex-приложений с помощью Apache Ant

28 июля 2006 года кончилась халява c Flex Builder 2 Trial version, и остро встал вопрос, как работать дальше? Ни редактора с автокомплитами тебе, ни автоматической сборки Flex-приложения плагином для Eclipse.

Но при наличии бесплатного Flex 2 SDK и Apache Ant не все так уж и плохо.

У Constantiner'а есть замечательный пост о сборке Flex-приложений при помощи Apache Ant.

До того (честно:)), как я наткнулся на его пост, я и сам задумался над этой проблемой и сделал для себя kit для сборки flex-приложений. Вот только сейчас дошли руки, чтобы об этом написать.

Итак.

Для сборки flex app нам понадобится скачать (если еще не скачано):

После скачивания куда-нибудь распаковываем aрхив с flex sdk. У меня sdk находится в ${user.home}/flex2_sdk (т.е. c:/documents and settings/YOUR_USER_NAME/flex2_sdk). Ant устанавливаем, следуя инструкциям в мануале.
Далее создаем в папке ${user.home} (что это такое я уже писал) файл ant.global.properties. Пишем в нем одну строчку:
flex2.sdk.dir=[ваша директория с flex2_sdk]

В моем случае это выглядит так:
flex2.sdk.dir=${user.home}/flex2_sdk

На этом "глобальные" настройки закончены.

Здесь лежит rar-архив с примером использования моего build.xml файла. Там же есть небольшое руководство по использованию.
Надеюсь, кому-нибудь поможет.

Чуть-чуть изменив build.xml файл и application.properties, можно собирать аналогично flash-приложения при помощи mtasc-компилятора.

Здесь можно взять rar-архив с build.xml и application.properties файлами. Также в уже, надеюсь, существующем файле ant.global.properties добавить строчку
mtasc.dir=[папка, где у вас лежит mtasc.exe]

В файле application.properties пропишите необходимые для сборки classpaths, например:
mtasc.classpath=-cp ${mtasc.dir}/classes -cp c:/flash/someother_classes

Кладете это все в корень вашего проекта и набираете в коммандной строке
[путь к вашему проекту] ant

Возможно, что-то непонятно. Я, на самом деле, не очень-то и подробно все описал. Спрашивайте, если что в комментариях.