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!