flex अपन चींटी और फ्लेक्स एसडीके के साथ एमएक्सएमएल फाइलों को संकलित करना




चींटी पर निबंध (4)

मैं सिर्फ फ्लेक्स से शुरू कर रहा हूं और एसडीके (फ्लेक्स बिल्डर नहीं) का उपयोग कर रहा हूं। मैं सोच रहा था कि चींटी बिल्ड स्क्रिप्ट से एक mxml फ़ाइल को संकलित करने का सबसे अच्छा तरीका क्या है


एक और विकल्प है - इसे प्रोजेक्ट स्प्राउट्स कहा जाता है

यह एक रूबी, रूबीजम्स और रैक के साथ बनाया गया एक सिस्टम है जो मैवेन और एएनटी में पाए जाने वाले कई विशेषताएं प्रदान करता है, लेकिन बहुत क्लीन सिंटैक्स और सरल बनाने वाली स्क्रिप्ट के साथ।

उदाहरण के लिए, ऊपर दिखाए गए एएनटी स्क्रिप्ट स्प्राउट्स में दिखाई देगी:

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

रूबी और रूबी गेम्स स्थापित करने के बाद, आप इस स्क्रिप्ट को इस प्रकार कॉल करेंगे:

rake

उत्पन्न फ़ाइलों को हटाने के लिए, चलाएँ:

rake clean

उपलब्ध कार्यों को देखने के लिए:

rake -T

एक बार स्थापित स्प्राउट्स का एक बड़ा लाभ यह है कि यह प्रोजेक्ट, क्लास और टेस्ट जनरेटर प्रदान करता है, जो कुछ सरल कमांड लाइन कार्यों के साथ चलने के लिए किसी भी विकास बॉक्स को तैयार करेगा।

# 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

अगर आप मेवेन के लिए खुले हैं, तो फ्लेक्स-कंपाइलर-मोजो प्लगइन का प्रयास करें:

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

क्रिस्टियन


फ्लेक्स एसडीके चींटी कार्यों के एक सेट के साथ जहाजों। अधिक जानकारी यहां पर:

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

यहां फ्लेक्स SWCs को चींटी के साथ संकलित करने का एक उदाहरण है:

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

माइक चेंबर्स


मैं निश्चित रूप से चींटी कार्यों के साथ जाना होगा जो फ्लेक्स के साथ शामिल हैं, वे आपकी बिल्ड स्क्रिप्ट को बहुत क्लीनर बनाते हैं यहाँ एक नमूना बिल्ड स्क्रिप्ट है जो आपके फ्लेक्स परियोजना को संकलित करेगा और फिर चलाएगा

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