-external-library-path + = my.swc est la réponse, bien qu'il ne soit pas nécessaire d'utiliser -runtime-shared-libraries. L'utilisation de cet argument vous permet de spécifier le code qui sera utilisé dans la compilation mais qui ne sera pas placé dans le swc. Évidemment, ce clone exclu sera toujours nécessaire lorsque le swc est utilisé.
Notons en particulier que contrairement aux autres arguments, -external-library-path utilise + = not =. En utilisant just = vous allez casser la référence aux classes de bas niveau des joueurs et à toutes les autres bibliothèques externes ajoutées.
Si vous utilisez FlexTasks w/Ant, votre cible pourrait ressembler à ceci:
<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>
Vous pouvez également pointer-chemin bibliothèque externe vers un dossier auquel cas il comprendra tous swcs à l'intérieur. Notez que si vous suivez les consignes FlexTasks d'Adobe et placez le fichier flexTasks.jar dans votre dossier libs et que vous le ciblez en tant que dossier en utilisant external-library-path, le fichier flexTasks.jar est lui-même exclu, provoquant l'échec de la génération. Pour résoudre ce problème, placez flexTasks.jar dans un dossier séparé ou ciblez directement vos swcs comme dans l'exemple ci-dessus