-external-library-path + = my.swc - это ответ, хотя использование -runtime-shared-library не нужно. Использование этого аргумента позволяет вам указать код, который будет использоваться при компиляции, но не помещаться в SWC. Очевидно, что этот исключенный clode все еще будет необходим при использовании SWC.
Особо следует отметить, что в отличие от других аргументов -external-library-path использует + = не =. Используя just =, вы прервете ссылки на низкоуровневые классы игроков и любые другие добавленные внешние библиотеки.
Если вы используете FlexTasks с Ant, ваша цель может выглядеть следующим образом:
<target name="compileToSWC">
<compc
output="${bin}/${SWCName}">
<source-path path-element="${src}"/>
<!-- Source to include in SWC -->
<include-sources dir="${src}" includes="*"/>
<!-- Libs to exclude from the swc - Note append="true" which is equivillant to using +=-->
<external-library-path file="${thirdparty.libs}/SomeLib.swc" append="true"/>
<external-library-path file="${thirdparty.libs}/SomeOtherLib.swc" append="true"/>
</compc>
</target>
Вы также можете указать external-library-path к папке, в этом случае она будет включать все swcs внутри. Обратите внимание, что если вы следуете рекомендациям Adobe FlexTasks и поместите файл flexTasks.jar в папку libs и выберите его как папку, используя external-library-path, flexTasks.jar сам по себе исключается, что приводит к сбою сборки. Чтобы решить эту проблему, либо поместите файл flexTasks.jar в отдельную папку, либо нацельтесь на свои swcs напрямую, как в примере выше