Domanda

Ho appena iniziato con il flex e sto usando l'SDK (non di Flex Builder).Mi chiedevo qual è il modo migliore per compilare un file mxml da una formica script di build.

È stato utile?

Soluzione

Il Flex SDK viene fornito con un set di ant attività.Ulteriori informazioni:

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

Qui è un esempio di compilazione Flex SWCs con ant:

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

mike chambers

Altri suggerimenti

Mi sarebbe sicuramente andare con la formica attività che sono inclusi con Flex, essi renderanno il vostro script di build in modo molto più pulito.Ecco un esempio di script di build che provvederà a compilare ed eseguire il progetto 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>

C'è un'altra opzione - si chiama Progetto Germogli.

Questo è un sistema costruito con Ruby, RubyGems e Rastrello che offre molte delle caratteristiche che si trovano in Maven e ANT, ma con un molto più pulito e la sintassi più semplice la creazione di script.

Per esempio, lo script ANT mostrato sopra sarebbe simile a questo in Germogli:

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

Dopo l'installazione di Ruby e RubyGems, si dovrebbe chiamare semplicemente questo script:

rake

Per rimuovere i file generati, eseguire:

rake clean

Per vedere le attività di:

rake -T

Un altro grande vantaggio di Germogli, una volta installato, è che fornisce un progetto, di classe e di test di generatori che per ottenere qualsiasi di sviluppo è pronto a correre con un paio di semplici operazioni della riga di comando.

# 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

Se siete aperti a Maven, provare il flex-compilatore-mojo plugin:

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

Christiaan

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top