Frage

Ich bin gerade mit Flex und bin mit dem SDK (nicht Flex Builder) die ersten Schritte. Ich frage mich, was ist der beste Weg, um eine MXML-Datei von einem Ant-Build-Skript zu kompilieren.

War es hilfreich?

Lösung

Die Flex SDK wird mit einem Satz von Ameise Aufgaben. Mehr Infos unter:

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

Hier ist ein Beispiel für die Erstellung Flex SWCs mit ant:

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

mike Kammern

Andere Tipps

ich auf jeden Fall mit der Ameise Aufgaben gehen würde, die mit Flex enthalten sind, machen sie Ihren Build-Skript so viel sauberer. Hier ist ein Beispiel-Build-Skript, das kompiliert und dann Flex-Projekt ausführen

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

Es gibt eine andere Option -. Es heißt Projekt Sprouts

Dies ist ein System gebaut mit Ruby RubyGems und Rake, die in Maven und ANT fanden viele der Funktionen bieten, aber mit einer viel sauberen Syntax und einfachen Build-Skripte.

Zum Beispiel kann der ANT-Skript oben gezeigt würde wie folgt aussehen in 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

Nach der Installation von Ruby und RubyGems, würden Sie einfach dieses Skript aufrufen mit:

rake

Um generierten Dateien zu entfernen, führen:

rake clean

Um die verfügbaren Aufgaben finden Sie unter:

rake -T

Ein weiterer großer Vorteil von Saaten, einmal installierte, ist, dass es für Projekt-, Klasse und Testgeneratoren, die bereit, jede Entwicklung Box bekommen mit ein paar einfachen Kommandozeilen-Aktionen ausgeführt werden.

# 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

Wenn Sie Maven offen sind, versuchen Sie die Flex-Compiler-mojo Plugin:

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

Christiaan

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top