La compilazione di file mxml con ant e flex sdk
-
09-06-2019 - |
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.
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