2008-09-16 21 views

Respuesta

10

El Flex SDK se entrega con un conjunto de tareas ant. Más información en:

http://livedocs.adobe.com/flex/3/html/help.html?content=anttasks_1.html

Aquí es un ejemplo de la compilación de Flex SWCs con la hormiga:

http://www.mikechambers.com/blog/2006/05/19/example-using-ant-with-compc-to-compile-swcs/

cámaras mike

+0

¿Puedo obtener un archivo SWC mxmlc en alguna parte o tengo que compilarlo yo mismo? Puedo compilar actionscript fine usando la etiqueta mxmlc ant, pero el mismo script no funciona para archivos mxml. Intenté usar el archivo java jar en mi destino, pero sin éxito. ¡Gracias! – sutee

5

Definitivamente iré con las tareas ant que se incluyen con Flex, hacen que su script de construcción sea mucho más limpio. Aquí es un script de creación de ejemplo que se compilará y luego ejecutar el proyecto flex

<?xml version="1.0"?> 

<project name="flexapptest" default="buildAndRun" basedir="."> 

    <!-- 
     make sure this jar file is in the ant lib directory 
     classpath="${ANT_HOME}/lib/flexTasks.jar" 
    --> 
    <taskdef resource="flexTasks.tasks" /> 
    <property name="appname" value="flexapptest"/> 
    <property name="appname_main" value="Flexapptest"/> 
    <property name="FLEX_HOME" value="/Applications/flex_sdk_3"/> 
    <property name="APP_ROOT" value="."/> 
    <property name="swfOut" value="dist/${appname}.swf" /> 
    <!-- point this to your local copy of the flash player --> 
    <property name="flash.player" location="/Applications/Adobe Flash CS3/Players/Flash Player.app" /> 

    <target name="compile"> 
     <mxmlc file="${APP_ROOT}/src/${appname_main}.mxml" 
      output="${APP_ROOT}/${swfOut}" 
      keep-generated-actionscript="true"> 

      <default-size width="800" height="600" /> 
      <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/> 
      <source-path path-element="${FLEX_HOME}/frameworks"/> 
      <compiler.library-path dir="${APP_ROOT}/libs" append="true"> 
       <include name="*.swc" /> 
      </compiler.library-path> 
     </mxmlc> 
    </target> 

    <target name="buildAndRun" depends="compile"> 
     <exec executable="open"> 
      <arg line="-a '${flash.player}'"/> 
      <arg line="${APP_ROOT}/${swfOut}" /> 
     </exec> 
    </target> 

    <target name="clean"> 
     <delete dir="${APP_ROOT}/src/generated"/> 
     <delete file="${APP_ROOT}/${swfOut}"/> 
    </target> 

</project> 
3

Hay otra opción - que se llama Project Sprouts.

Este es un sistema creado con Ruby, RubyGems y Rake que proporciona muchas de las funciones que se encuentran en Maven y ANT, pero con una sintaxis mucho más clara y scripts de compilación más simples.

Por ejemplo, el script ANT se muestra arriba se vería así en brotes:

require 'rubygems' 
require 'sprout' 

desc 'Compile and run the SWF' 
flashplayer :run => 'bin/SomeProject.swf' 

mxmlc 'bin/SomeProject.swf' do |t| 
    t.input = 'src/SomeProject.as' 
    t.default_size = '800 600' 
    t.default_background_color = '#ffffff' 
    t.keep_generated_actionscript = true 
    t.library_path << 'libs' 
end 

task :default => :run 

Después de instalar Ruby y RubyGems, sólo tendría que llamar a este script con:

rake 

para eliminar generado archivos, ejecute:

rake clean 

Para ver las tareas disponibles:

rake -T 

Otra gran ventaja de los brotes, una vez instalado, es que proporciona generadores de proyectos, de clase y de prueba que recibirá caja de desarrollo listo para correr con un par de simples acciones de línea de comandos.

# Generate a project and cd into it: 
sprout -n mxml SomeProject 
cd SomeProject 

# Compile and run the main debug SWF: 
rake 

# Generate a new class, test case and test suite: 
script/generate class utils.MathUtil 

# Compile and run the test harness: 
rake test 
+0

Gracias por la introducción en rake, pero busqué sobre hormiga. Por cierto, el script de shell "mxmlc" será una línea. – chro

Cuestiones relacionadas