73. [mxmlc] Компиляция из командной строки. Как это делается

mxmlc – Серия статей посвященных работе с ActionScript-компилятором командной строки mxmlc.
Посмотреть все статьи: http://flashpress.ru/blog/category/mxmlc/

mxmlc – это компилятор ActionScript кода, работающий из командной строки. Мы будем разбирать методы компиляции из командной строки для операционных систем Windows и Linux/MacOS. Вот несколько примеров где может приходится компилятор mxmlc:

  • Сборка флешек по запросу на сервере.
  • Нет возможности установить редактор Adobe Flash CS или FlashBuilder, например потому что администратор на работе закрыл доступ на установку дополнительного софта, а очень хочется в свободное время попрактиковаться с кодом ActionScript.
  • Если вы используете операционную систему Linux – то скорее всего mxmlc вам будет более понятен и дружелюбен чем всякие там FlashCS и FlashBuilder, да и к тому же нет стандартных возможностей установить этот софт на Linux.

На первом пункте хотелось бы остановиться более подробно. Представьте себе ситуацию когда вы работаете над онлайн игрой в команде из 5 флешеров. Ваш код лежит в системе контроля версий, например svn(subversion). Каждый сотрудник пишет код на своем компьютере, проверяет его, и после тестов отправляет код на тестовый сервер(коммитит ревизии). Так вот можно настроить сервер так, что бы после каждого сохранения(коммита), сервер автоматически пересобирал флешку(флешки) на тесте. Другой пример связанный с сервером – вы можете сделать так что бы флешка пересобиралась на сервере по запросу php в браузере.


Для компиляции приложения в ОС Windows мы будем писать .bat файл, который можно запустить кликнув по нему два раза. Если вы используете ОС Linux или MacOS – для вас будем писать .sh скрипты, для запуска из командной строки.

Прежде чем приступить к написанию скриптов, необходимо скачать на компьютер Adobe Flex SDK. Так же необходимо установить Java-машину, скачать которую можно здесь http://java.com/ru/download/

Для начала напишем класс App.as который мы будем компилировать:

Простой класс, который рисует красный квадрат.

Компиляция в Windows

Создайте рядом с классом App.as текстовый файл run.bat скопируйте в него следующий код:

И не забудьте поменять путь C:\Users\User\sdks\flex_sdk_4.6 на путь к каталогу где у вас лежит Flex SDK. Структура этого кода очень проста, сперва мы указываем полный путь до файла mxmlc.exe, который должен лежать в каталоге с {FlexSDK-path}/bin/. Следующий параметр это имя главного класса приложения. Далее идет директива -o после которой необходимо написать имя выходного файла .swf Обратите внимание что параметры должны разделяться пробелом(!). Сохраните файл, и запустите его, кликнув по нему два раза. Если все хорошо – у вас рядом с .bat файлом должна появиться флешка app.swf.

Если при компиляции вы видите сообщение вида:
“Запуск программы невозможен, т.к. на компьютере отсутствует MSVCR100.dll. Попробуйте переустановить программу.”
mxmlc-begin-1
, вам необходимо скачать с сайта Microsoft и установить обновление для Windows http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84

Компиляция в Linux/MacOS

Создайте рядом с классом App.as файл run.sh и скопируйте в него содержимое:

Не забудьте в первой строке поменять путь до каталога где у вас лежит Flex SDK. Так же как и для Windows, в начале мы указываем путь до компилятора mxmlc. Первым параметром указываем какой класс необходимо скомпилировать. Далее используя атрибут -output сообщаем имя выходного файла .swf

Откройте Терминал и пройдите в нем до каталога где лежит скрипт run.sh (используя команду cd ~/work/testrun/). После чего вы можете запустить скрипт .sh в терминале следующим образом ./run.sh



У компилятора mxmlc есть очень много различных параметров. Полный список параметров читайте здесь. В следующей статье я покажу вам как можно подключить дополнительный каталог с классами и библиотеку swc.

Скачать исходники для Windows и Linux/Mac можно здесь.

Да прeбудет с вами Flash.
Serious Sam
Эту статью прочитали 3126 раз

Возникли вопросы по статье? Не стесняйтесь спрашивать в комментариях или любым другим способом на странице Контакты .

Присоединяйтесь к нам в социальных сетях: ВКонтакте , Twitter и Facebook
Понравилась статья? Буду благодарен если вы поделитесь ссылкой с друзьями:


Комментарии ВКонтакте:




Комментарии Facebook:




Комментарии WordPress: