Pregunta

Recién estoy comenzando con Flex y estoy usando el SDK (no Flex Builder).Me preguntaba cuál es la mejor manera de compilar un archivo mxml a partir de un script de compilación ant.

¿Fue útil?

Solución

El SDK de Flex 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

A continuación se muestra un ejemplo de cómo compilar SWC Flex con ant:

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

cámaras de micrófono

Otros consejos

Definitivamente elegiría las tareas ant que se incluyen con Flex, hacen que su script de compilación sea mucho más limpio.Aquí hay un script de compilación de muestra que compilará y luego ejecutará su proyecto flexible.

<?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>

Hay otra opción: se llama Brotes del proyecto.

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

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

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, simplemente llamarías a este script con:

rake

Para eliminar los archivos generados, ejecute:

rake clean

Para ver las tareas disponibles:

rake -T

Otro gran beneficio de Sprouts, una vez instalado, es que proporciona generadores de proyectos, clases y pruebas que prepararán cualquier caja de desarrollo para ejecutarse con un par de acciones simples en la 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

Si está abierto a Maven, pruebe el complemento flex-compiler-mojo:

http://code.google.com/p/flex-mojos/

cristian

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top