문제

저는 이제 막 Flex를 시작했고 SDK(Flex Builder 아님)를 사용하고 있습니다.Ant 빌드 스크립트에서 mxml 파일을 컴파일하는 가장 좋은 방법이 무엇인지 궁금합니다.

도움이 되었습니까?

해결책

Flex SDK는 일련의 Ant 작업과 함께 제공됩니다.자세한 내용은 다음을 참조하세요.

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

다음은 Ant를 사용하여 Flex SWC를 컴파일하는 예입니다.

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

마이크 챔버

다른 팁

Flex에 포함된 Ant 작업을 사용하면 빌드 스크립트가 훨씬 깔끔해집니다.다음은 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>

또 다른 옵션이 있습니다. 프로젝트 콩나물.

이는 Maven 및 ANT에 있는 많은 기능을 제공하지만 훨씬 더 깔끔한 구문과 간단한 빌드 스크립트를 제공하는 Ruby, RubyGems 및 Rake로 구축된 시스템입니다.

예를 들어 위에 표시된 ANT 스크립트는 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

Ruby와 RubyGems를 설치한 후 다음을 사용하여 이 스크립트를 호출하면 됩니다.

rake

생성된 파일을 제거하려면 다음을 실행하세요.

rake clean

사용 가능한 작업을 보려면 다음을 수행하세요.

rake -T

Sprouts의 또 다른 큰 이점은 일단 설치되면 몇 가지 간단한 명령줄 작업으로 모든 개발 상자를 실행할 수 있는 프로젝트, 클래스 및 테스트 생성기를 제공한다는 것입니다.

# 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

Maven을 사용할 수 있는 경우 flex-compiler-mojo 플러그인을 사용해 보세요.

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

크리스티안

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top