J'essaye de construire mon projet de flex 4 en utilisant la fourmi. Dans Flash Builder 4, dans les propriétés de projet, il est possible de définir le "Liaison de framework" sur "Fusionné dans le code", "Runtime Shared Library (RSL)" ou "Utiliser SDK par défaut (Runtime Shared library)". Comment puis-je définir l'équivalent en tant qu'options mxmlc dans build.xml?mxmlc et le lien d'infrastructure - comment spécifier le lien comme rsl
Mon build.xml actuelle ressemble à ceci:
<target name="myapp">
<mxmlc
file="${PROJECT_ROOT}/myapp.mxml"
output="${DEPLOY_DIR}/myapp.swf"
actionscript-file-encoding="UTF-8"
keep-generated-actionscript="false"
warnings="false" optimize="true" incremental="false" >
<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
<source-path path-element="${FLEX_FRAMEWORKS}"/>
<compiler.debug>true</compiler.debug>
<runtime-shared-library-path path-element="${FLEX_FRAMEWORKS}/libs/framework.swc">
<url rsl-url="framework_4.0.0.14159.swz"/>
<url rsl-url="framework_4.0.0.14159.swf"/>
</runtime-shared-library-path>
<compiler.source-path path-element="src"/>
<!-- List of external libraries -->
<compiler.source-path path-element="${MY_LIB}/src" />
<!-- List of SWC files or directories that contain SWC files. -->
<compiler.library-path dir="libs" append="true">
<include name="*.swc" />
</compiler.library-path>
<copy todir="${DEPLOY_DIR}" file="${FLEX_FRAMEWORKS}/rsls/framework_4.0.0.14159.swz"/>
<copy todir="${DEPLOY_DIR}" file="${FLEX_FRAMEWORKS}/rsls/framework_4.0.0.14159.swf"/>
</mxmlc>
</target>
Je suppose que le réglage de la directive d'exécution-bibliothèque-chemin partagé et la copie du swf-cadre, les fichiers SWZ dans mon dossier cible serait faire fonctionner les choses, mais cela ne semble pas être le cas.
La façon dont j'évalue si cela fonctionne est la suivante: J'utilise un preloader personnalisé, et pour que cela fonctionne, j'ai besoin d'avoir un lien framework comme RSL. Avec "fusionné dans le code", mon preloader est bloqué à un certain point et ne progresse pas vers mon application swf. C'est le même comportement que je vois quand j'utilise le build.xml ci-dessus, ce qui me fait penser que le fichier SWF est en train d'être construit avec un lien de framework fusionné en code (plutôt que lié à RSL).
Une question connexe à ceci est de savoir comment déterminer si mon swf utilise RSL ou non. Je suppose que je pourrais regarder la taille de la sortie compilée. Mais il semble qu'il devrait y avoir un moyen de savoir si j'utilise le fichier de cadre externe ou s'il est intégré dans le fichier SWF d'une manière ou d'une autre, à mon insu.
En fait, je triché pour résoudre ce problème. J'ai fini par utiliser [sourcemate] (http://www.elementriver.com/sourcemate) pour exporter mon projet en tant que ant buildfile, puis j'ai pu tout faire fonctionner.C'était beaucoup plus rapide que de déboguer ce que Adobe m'attendait à mettre dans mon dossier! – cybertoast
Justin, je vous donne la bonne réponse parce que c'est dans la bonne direction. L'option réelle est: . Merci. –
cybertoast
Cela a résolu mon problème thx, Dans mon cas, en utilisant ant pour exécuter le mxmlc en ligne de commande, j'ai dû ajouter –
Guian