2009-06-11 5 views
0

Наше приложение имеет более 15 различных файлов mxml верхнего уровня для создания отдельных элементов управления, которые используются на наших страницах.Как скомпилировать несколько независимых файлов mxml за один раз?

Мы используем Ant для выполнения наших автоматических сборок и вызываем задачу mxmlc для каждого файла mxml отдельно (см. Пример question 78230). Однако запуск компилятора по отдельности для каждого файла mxml уже добавляет до значительного количества времени. Время сборки составляет 10 минут, 5 минут для составления наших приложений для гибких приложений и 5 минут для компиляции hundreads классов java, создания баннеров, установщика и т. Д. Каждый прогон гибкого компилятора достаточно быстр (15-20 секунд), но они складываются ,

Есть ли способ скомпилировать их все с одним вызовом mxmlc?

ответ

1

Один из способов ускорить его - это собрать все, кроме верхнего уровня классы в один большой SWC, используя compc, затем компилируя классы верхнего уровня и используя SWC в качестве библиотеки. Таким образом, классы, которые используются более чем одним приложением, будут скомпилированы только один раз.

Однако большой вкладчик времени, затрачиваемого на компиляцию приложения Flex, - это время запуска JVM, и каждый компилятор запускает собственный JVM (плюс один для процесса Ant). Один из способов избежать этого - использовать оболочку компилятора Flex (fcsh) вместо Ant, но это, конечно, имеет недостатки. Другой способ - попытаться выполнить HellFire, который запускает компилятор в отдельном процессе всегда, что означает, что больше не нужно запускать JVM.

0
  1. Почему бы не использовать Flex Builder для компиляции всего автоматически?
  2. Являются ли компоненты mxml-файлов и/или модули? Я думаю, что mxmlc скомпилирует их автоматически, к чему они привязаны основным приложением, но я не уверен ...
+0

Это модули. Каждый из них скомпилирован в независимый SWF-файл для отображения на определенной странице. У нас есть часть html/part flex webapp, где мы вставляем различные гибкие модули на разные страницы. Есть ли лучший дизайн для этого типа настройки, чем полностью независимые файлы mxml? –

+0

Модули предназначены для интеграции в основное приложение. Помещение каждого модуля на другую страницу представляется плохой практикой. Почему бы не закодировать все это в Flex? Отдельные модули предоставляют разные интерфейсы. Вы также можете скомпилировать каждый модуль в файл swc или библиотеки и включить их в качестве библиотеки, используя аргумент компилятора (я забыл, какой из них). – Aethex

Смежные вопросы