Компиляция AS3 проектов с помощью BAT файлов

Автор: Senocular (оригинал статьи)

Перевод: Андрей Горбатов (блог)

Исходники к уроку

Где взять компилятор

Для создания SWF файлов из ActionScript проекта, понадобится компилятор, интерпретирующий ActionScript код и переводящий его в машинный код, используемый в SWF файлах. Если у вас уже установлен Flex Builder 2, то компилятор mxmlc.exe идет вместе с ним. Если у вас этого нет, то вы можете загрузит trial-версию Flex Builder или бесплатный Flex SDK, доступные на http://www.adobe.com/go/flex_trial/.  
Flex Builder: Вы можете найти mxmlc.exe в следующей папке:

C:\Program Files\Adobe\Flex Builder 2\Flex SDK 2\bin\mxmlc.exe

Flex SDK: Вы можете найти mxmlc.exe в следующей папке (зависит от места сохранения):

местоположение SDK\bin\mxmlc.exe

image
mxmlc.exe в папке bin
Ну и конечно вам необходим установленный Flash Player 9 и его standalone debug версия (идет в комплекте с Flex SDK) .

mxmlc.exe

mxmlc.exe запускает MXML и ActionScript 3 компилятор, который конвертирует MXML (.mxml) и ActionScript 3 файлы (.as) в SWF файлы (в данном уроке мы сосредоточимся на ActionScript 3). На самом деле компилятором является Java jar файл, расположенный в папке lib. Поэтому для работы с компилятором необходимо следующее: а) убедится, что все у вас установлены файлы, от которых зависит работа mxmlc.exe (т.е один mxmlc.exe работать не будет), и б) необходимо установленное Java runtime environment. Если вы установили Flex Builder, то все сопутствующее установится автоматически. Если вы установили только SDK, необходимо загрузить и установить Java runtime environment.
В папке с mxmlc.exe, вы найдете файл compc.exe (для создания SWC файлов) и fdb.exe (отладчик командной строки). Здесь мы рассмотрим только mxmlc.exe.

Использование mxmlc.exe

При запуске mxmlc.exe, ему необходимо передать ActionScript 3 файл для компиляции. Этот файл служит основным файлом приложения для скомпилированного SWF. Остальные внешние ActionScript 3 файлы просто автоматически компилируются в результирующий SWF. В отличии от Flash IDE или Flex Builder, mxmlc.exe не имеет GUI (графического интерфейса пользователя); это инструмент командной строки. При попытке просто запустить этот файл откроется на некоторое время командная строка. Для работы необходимо передать ему ActionScript (или MXML) файл для компиляции Это можно сделать несколькими способами:

Drag and Drop: Самый простой путь – перетащить ActionScript 3 файл на mxmlc.exe или его ярлыком. При компиляции будут использованы опции по умолчанию.и SWF будет сохранен в папке расположения AS файла.
image
Компиляция с помощью перетаскивания
Если при компиляции возникнут ошибки, то вы не успеете их прочитать, так как окно командной строки стазу закроется, а SWF так и не будет скомпилирован.

Командная строка: Используя этот способ, вы можете запустить mxmlc.exe для любого файла с любыми конфигурационными параметрами. Открыть командную строку можно, выполнив cmd в строке запуска Windows (клавиша Windows +R) или Start > Programs > Accessories > Command Prompt (Пуск > Программы > Стандартные > Командная строка). В командной строке вы должны ссылаться на mxmlc.exe и AS файлы абсолютно или относительно текущего места. Но легче всего также перетащить эти файлы в окно командной строки. Сначала mxmlc.exe, ставим пробел, затем AS файл.
image
Командная строка вызова mxmlc.exe
Пути с пробелами должны быть заключены в кавычки.
Нажмите enter и mxmlc.exe скомпилирует AS файл. Если возникнут ошибки, их можно легко прочитать, так как окно командной строки остается открытым после компиляции.
ActionScript файл является опцией -file-specs. Cписок всех опций можно получить с помощью команды:

mxmlc.exe -help list advanced details

Опции задаются после mxmlc.exe, через пробел, с дефисом впереди.
image
mxmlc.exe с дополнительными опциями

Пакетные (.bat) файлы (предпочтительно): Они позволяют сохранять всю команду в текстовом .bat файле, который затем будет выполняться. Обратите внимание, что все проекты прилагающихся примеров, прилагающихся к Flex SDK, содержат файлы build.bat, которые используются для компиляции с помощью mxmlc.exe.
image
Пакетный файл запуска mxmlc.exe

Использование make.bat

В исходниках к этому уроку вы найдете файл make.bat. Этот файл не запускает mxmlc.exe. Он создан, чтобы помочь создать пакетные файлы, которые это делают. Для использования make.bat, просто перетащите AS файл на него. Будет создан новый пакетный файл с именем вашего AS файла, который и будет потом запускать mxmlc.exe для компиляции. При первом запуске make.bat, он автоматически запустит созданный BAT файл. Перед использованием, откройте его и задайте правильный путь к mxmlc.exe и опции его выполнения. В противном случае, созданный файл не будет работать верно.
image
Редактирование опций make.bat
image
Создание BAT файла перетаскиванием
Если возникнут ошибки при компиляции, то они будут отражены в командной строке, при этом старый SWF файл будет удален (это делает BAT файл, а не mxmlc.exe), а новый создан не будет. Если компиляция прошла успешно, то будет создан SWF файл, который затем автоматически откроется для просмотра. Окно командной строки останется открытым.

Использование опции -output (-o) для mxmlc.exe, чтобы изменить имя публикуемого SWF файла, может повлечь ошибки функционирования сгенерированных BAT файлов.