«Сделать» систему для Actionscript? - PullRequest
3 голосов
/ 16 июня 2010

Работая над более крупными проектами Actionscript / Flash, я действительно почувствовал потребность в какой-то системе "make", но пока не нашел ее. Кто-нибудь знает, существует ли он?

необходимые функции:

  • Возможность связать SWC с их исходным кодом и / или FLA, т. Е. "Этот SWC скомпилирован из этого источника"
  • Возможность пометить мой текущий проект как зависящий от этих SWC (как библиотеки времени компиляции, так и библиотеки времени выполнения)
  • Одна большая блестящая кнопка, которая при нажатии выполняет следующие действия:
    • Проверяет, изменились ли какие-либо исходные файлы, и если да, перекомпилирует связанные с ними SWC
    • Перекомпилирует и повторно связывает основной .swf, если необходимо
    • Запускает основной .swf

Еще предстоит найти способ заставить что-то вроде FlashDevelop сделать это (но я не знаю этого достаточно хорошо, чтобы быть уверенным). Поддержка как кода, так и источников FLA является предпочтительной.

Ответы [ 5 ]

2 голосов
/ 16 июня 2010

Вы ищете http://projectsprouts.org/, основанный на Rake-версии Make для Ruby. Он может делать все это и многое другое.

Если у вас установлены Ruby и RubiGems, которые, я думаю, по умолчанию установлены на Mac, вы можете установить их, введя это в командной строке.

sudo gem install Sprout

Это займет некоторое время, потому что он устанавливает много вещей. После того, как это все готово, вы можете создать такой проект.

sprout -n as3 ProjectName

, а затем создайте его с этим,

Развертывание рейка

Он управляет вещами на основе времени выполнения, для которого они созданы, этот проект был создан для as3, но также и для всех других типов проектов. Все сценарии сборки написаны на Ruby и могут быть изменены, чтобы довольно просто задействовать более сложные многошаговые компиляции. Он также имеет несколько генераторов, так что классы автоматически имеют модульный тест, связанный с ними, и многие другие функции.

2 голосов
/ 16 июня 2010

Возможно, это глупое предложение, но если вы хотите сделать make, почему бы просто не использовать "make"?Вы можете использовать его для любого языка, задав правильные правила.

Кроме того, я видел, что во многих проектах Flex / Actionscript используется Apache ant, система сборки на основе XML.

1 голос
/ 16 июня 2010

Ну, есть несколько вариантов.Я бы порекомендовал подключаемый модуль Maven для Flex flex-mojos, который теперь поддерживается на сайте Sonotype.Если Maven не ваша чашка чая, у них есть плагин Ant, я не знаю, может ли NAnt вызывать задачи Java Ant напрямую или нет.Третий - самый сложный, но Adobe включает в себя OEM-версию компилятора, я думаю, что он поставляется по умолчанию с загрузкой SDK.Это тот, который я использовал в плагине Maven, который я разработал для своей компании.Причина, по которой мы не использовали flex-mojos, сводится к ... разногласию по поводу "Maven way" одного проекта = одного артефакта.Их интерпретация заключается в том, что 1 SWF-файл - это один артефакт, как и один проект Maven.Мое определение для моего проекта состоит в том, что все более 80 модулей, каждый из которых является SWF-файлом, ничем не отличаются от JSP, все они объединены в один WAR-файл.Итак, у меня есть один проект с большим количеством модулей и 1 maven pom.

1 голос
/ 16 июня 2010

Как сказал Вамп;почему бы не использовать Make?

В Flex SDK включены некоторые сценарии ANT, так что вы можете изучить и расширить их.Я также говорил с людьми, которые используют Maven и круиз-контроль для автоматизированного процесса сборки.

Вот некоторая информация о Maven Flex: http://code.google.com/p/flex-mojos/

И некоторая информация о круиз-контролеж / Flex: http://www.eyefodder.com/blog/2006/05/continuous_integration_with_fl_5.shtml

0 голосов
/ 13 апреля 2011

Вы можете проверить Antpile , который по указанной ссылке "представляет собой набор скриптов Ant, который охватывает все, от создания SWF, SWC, AIR, Android и даже модульного тестирования".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...