2008-09-16 9 views

Antwort

10

Das Flex-SDK wird mit einer Reihe von Ant-Tasks ausgeliefert. 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

+0

Kann ich irgendwo eine mxmlc-SWC-Datei bekommen oder muss ich sie selbst kompilieren? Ich bin in der Lage, ActionScript mit dem mxmlc ant-Tag zu kompilieren, aber das gleiche Skript funktioniert nicht für mxml-Dateien. Ich habe versucht, die Java-Jar-Datei in meinem Ziel zu verwenden, aber ohne Erfolg. Vielen Dank! – sutee

5

Ich würde definitiv mit den Ant-Aufgaben gehen, die mit Flex enthalten sind, sie machen Ihr Build-Skript so viel sauberer. Hier ist ein Beispiel-Build-Skript, das kompiliert und dann flex Projekt läuft

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

Es gibt eine andere Option - es ist Project Sprouts genannt.

Dies ist ein System mit Ruby, RubyGems und Rake, das viele der Funktionen in Maven und ANT bietet, aber mit einer viel saubereren Syntax und einfacheren Build-Skripten.

Zum Beispiel kann der ANT-Skript oben würde wie folgt in Sprouts aussehen gezeigt:

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 

erzeugt entfernen Dateien, laufen:

rake clean 

verfügbaren Aufgaben zu sehen:

Ein weiterer großer Vorteil von Sprouts, sobald es installiert ist, ist, dass es Projekt-, Klassen- und Testgeneratoren bereitstellt, die jede Entwicklungsumgebung mit ein paar einfachen Befehlszeilenaktionen zum Laufen bringen.

# 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

Danke für die Einführung in Rake, aber ich habe über Ameisen gesucht. BTW, das Shell-Skript "mxmlc" wird eine Zeile sein. – chro