flash actionscript-3 ant air flash-builder

flash - ¿Cómo construyo un script Ant para hacer diferentes compilaciones basadas en mi resultado objetivo? AIR vs Swf?



actionscript-3 flash-builder (1)

¿Cómo puedo crear un script Ant para enviar paquetes swfs vs air y utilizar diferentes clases durante la compilación en función de mi destino deseado?

Por ejemplo, estoy construyendo una aplicación que será para la web, el móvil y el escritorio. En algunos casos, mis clases utilizarán solo componentes de AIR. Quiero poder crear scripts de compilación ANT que no incluirán esas clases al generar un swf para la web. ¿Cómo voy a hacer esto?


Esto es lo que hice para una situación similar:

<target name="define.compile.task" depends="initflex"> <presetdef name="flex.build"> <mxmlc file="${src.dir}/${src.file.path}" output="${output.dir}/${output.file.path}" ...> <compiler.source-path path-element="${src.dir}"/> ... </mxmlc> </presetdef> </target> <target name="parametrized.web.build" depends="define.compile.task"> <flex.build> <compiler.define name="CONFIG::AllowAirComponents" value="false" /> </flex.build> </target> <target name="parametrized.air.build" depends="define.compile.task"> <flex.build configname="airmobile"> <compiler.define name="CONFIG::AllowAirComponents" value="true" /> </flex.build> </target>

Entonces, podría definir objetivos como

<target name="buildwebclass1"> <antcall target="parametrized.web.build"> <param name="src.file.path" value="path/to/MyClass.as"/> <param name="output.file.path" value="MyClass.swf"/> </antcall> </target>

O:

<target name="buildairclass1"> <antcall target="parametrized.air.build"> <param name="src.file.path" value="path/to/MyAirClass.as"/> <param name="output.file.path" value="MyAirClass.swf"/> </antcall> <exec executable="${FLEX_HOME}/bin/adt" failonerror="true"> ... (adt arguments) </exec> </target>

Y si tengo alguna fábrica de código común que ejemplifica la clase de aire solo si es necesario, la CONFIG::AllowAirComponents { ... } con un CONFIG::AllowAirComponents { ... } para que mis clases específicas de AIR no interfieran con la compilación web.

¡Espero que esto ayude!