سؤال

لقد بدأت للتو في استخدام flex وأستخدم SDK (وليس Flex Builder).كنت أتساءل ما هي أفضل طريقة لتجميع ملف mxml من برنامج نصي لبناء النمل.

هل كانت مفيدة؟

المحلول

يأتي Flex SDK مع مجموعة من مهام النمل.مزيد من المعلومات على:

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

فيما يلي مثال لتجميع Flex SWCs باستخدام النمل:

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

غرف مايك

نصائح أخرى

سأختار بالتأكيد المهام المضمنة في 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>

هناك خيار آخر - يسمى براعم المشروع.

هذا نظام تم إنشاؤه باستخدام Ruby وRubyGems وRake الذي يوفر العديد من الميزات الموجودة في Maven وANT، ولكن مع بناء جملة أكثر وضوحًا ونصوص بناء أبسط.

على سبيل المثال، سيبدو نص 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