| « Flex-Mojos. Пример сборки модульного проекта. | Генерация html wrapper c помощью flex-mojos » |
Flex-Mojos, Управление зависимостями.
Введение
В данной статье будет рассмотрена тема управление зависимостями при сборки flex приложения с помощью maven.
содержание предыдущих серий:
Пара общих слов о maven
Сборка простого flex приложения с помощью Flex Mojos;
Генерация html wrapper c помощью flex-mojos;
Что такое maven зависимости?
Допустим мы хотим используем в своём проекте, внешнюю swc. В Flex Builder необходимо её подключить. В maven это решается с помощью указания зависимости от maven артефакта. Этот артефакт представляет собой ссылку на swc в репозитории maven.
Пример:
Code:
<project> | |
... | |
<dependencies> | |
<dependency> | |
<groupId>com.mydomain.mypackage</groupId> | |
<artifactId>mylibrary</artifactId> | |
<version>1.0</version> | |
<type>swc</type> | |
<scope>external</scope> | |
</dependency> | |
... | |
<dependencies> | |
... | |
</project> |
Теги: groupId, artifactId, version, type - определяют путь к артефакту в maven repository,
Тег scope - определяет, как будет использоваться артефакт и может принимать следующие значения:
external - код swc, используется только для компиляции.
internal - код swc, полностью включается в итоговый проект.
merged - включается только та часть кода swc , которая используется в вашем проекте. Данное значение используется по умолчанию.
rsl - будет загружать swf, как rsl
caching - тоже что и rsl, но только для adobe библиотек swz, которые могут кэшироваться fp.
test - для компиляции тестов.
Я выделил жирным значения scope и тип артефакта с которым используется scope.
Как поместить артефакт в репозиторий?
Собственные библиотеки
Если вы собираете библиотеку с помощью maven, то она попадает в репозиторий после выполнения команды >mvn install.
После этого её можно использовать в любом вашем проекте указав зависимость.
Внешние библиотеки
В данный момент maven не слишком распространён в среде flex разработки. Поэтому общие библиотеки которые могут вам понадобиться(as3corelib, caingorm и т.д.) обычное не лежат в публичных репозиториях. Следовательно вам необходимо выложить их в свой локальный репозиторий. Для этого существует специальная команда maven:
Code:
mvn install:install-file -Dfile= -DgroupId= \ -DartifactId= -Dversion= -Dpackaging= |
Дополнения
Информациию о scopes и dependency можно также посмотреть на blog.flex-mojos;