Question

Je commence tout juste à utiliser flex et j'utilise le SDK (pas Flex Builder). Je me demandais quel était le meilleur moyen de compiler un fichier mxml à partir d'un script de compilation ant.

Était-ce utile?

La solution

Le SDK Flex est livré avec un ensemble de tâches ant. Plus d'infos sur:

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

Voici un exemple de compilation de SWC Flex avec ant:

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

chambres de micro

Autres conseils

J'irais certainement avec les tâches de fourmi incluses dans Flex, elles rendront votre script de construction beaucoup plus propre. Voici un exemple de script de compilation qui compilera puis exécutera votre projet 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>

Une autre option est appelée Projet Sprouts .

Il s’agit d’un système construit avec Ruby, RubyGems et Rake qui fournit de nombreuses fonctionnalités de Maven et ANT, mais avec une syntaxe beaucoup plus claire et des scripts de construction plus simples.

Par exemple, le script ANT présenté ci-dessus ressemblerait à ceci dans 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

Après avoir installé Ruby et RubyGems, appelez simplement ce script avec:

rake

Pour supprimer les fichiers générés, exécutez:

rake clean

Pour voir les tâches disponibles:

rake -T

Un autre grand avantage de Sprouts, une fois installé, est le fait qu’il fournit des générateurs de projet, de classe et de test qui permettent à toute boîte de développement d’être prête à fonctionner avec quelques actions simples en ligne de commande.

# 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 vous êtes ouvert à Maven, essayez le plug-in flex-compiler-mojo:

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

Christiaan

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top