Можно ли объединить два файла SWC в один?
В настоящее время я пытаюсь провести необходимую очистку в одном из наших проектов, и в рамках этого я делю SWC-объект blob на несколько более мелких. Все идет нормально.
Теперь проблема в том, что из-за унаследованных целей мне все еще нужен единый совокупный SWC, который включает все источники, теперь разделенные между специализированными SWC. Возможно ли это без повторной компиляции исходников? Можно ли объединить два или более SWC в один SWC?
В долгосрочной перспективе зависимости от этого единственного SWC будут заменены только теми новыми SWC, которые действительно необходимы. Но на переходном этапе мне нужно поддержать оба случая.:/
ОБНОВИТЬ:
Мы управляем нашими проектами, используя Maven, и поэтому я искал решение, которое будет работать с используемым плагином flexmojos maven. Как отметил Брайан compc
может использоваться для объединения нескольких SWC, но нет точного эквивалента, который можно использовать в pom.
Документы Flexmojos отмечают, что <scope>
Флаг может использоваться при указании зависимостей с тем же эффектом. Но это приводит к ошибкам компиляции, так как он пытается рекурсивно объединить все ссылки (и я хочу объединить только указанные библиотеки, а не те, от которых они в свою очередь зависят). Так что это не работает.
Другое возможное решение, которое я исследовал, было <include-libraries>
Параметр конфигурации, как видно из файла...-config.xml, который создается вместе с окончательным SWC. Используя следующий синтаксис:
<include-libraries>
<library>string</library>
</include-libraries>
Тем не менее, это не поддерживается вообще.:/
Итак, в конце концов, все, что я могу придумать, это использовать Ant-скрипт или что-то, чтобы вызвать compc
напрямую, то, чего я бы действительно хотел избежать, если это возможно.:/
2 ответа
Итак, если у вас есть библиотека с этой зависимостью:
<dependency>
<groupId>my.lib.gid</groupId>
<artifactId>my.lib.gid</artifactId>
<version>1.2.3</version>
<type>swc</type>
<scope>internal</scope>
</dependency>
"Внутренняя" область должна привести к тому, что вы ищете. Я уверен, что эта функция уже существовала в Flexmojos 4.2 (даже если она действительно очень старая)
Да, это возможно. Из https://code.google.com/p/apparat/issues/detail?id=51 приведен пример. Это так же просто, как сделать следующее
compc -compiler.include-libraries=special1.swc,special2.swc -o aggregate.swc