nod::ぶろぐ:RIA::Flex/AIR/Flash

FlashやFlex,(Ajax),S2Flex2,ActionScript3,yui-frameworks,Akabanaプロジェクトなどのメモ帳

ApolloアプリケーションをAnt + Flex Ant Tasksでコンパイルする方法

flashrodさんのところで、Antを用いてApolloアプリケーションをコンパイルする方法がでていました。

その中で


Flex Ant Tasks の mxmlcタスクだとどうするんだろう? たぶん待ってればそのうちApollo対応したFlex Ant Tasksが出てくるんじゃないの。

というようにありました。

ちょっと前に、S2Flex2のサンプルアプリケーションであるflex2_exampleをリリースしたときに、Flex Ant Tasksでコンパイルできるようにbuild.xmlを修正したのでこれをベースにApolloアプリケーションでできるかどうかを確かめてみました。

結果的には、mxmlcタスクで以下のように設定することでコンパイルできました。

<load-config filename="${FLEX_HOME}/frameworks/apollo-config.xml"/> 

apolloアプリケーションをコンパイルするときに利用するamxmlcは設定ファイルの指定にapollo-configを追加するようにしています。

mxmlc +configname=apollo

Flex Ant Tasksで同様の指定ができるかどうかを確認してみたところ、属性としては用意されていないようでした。
そこで、設定ファイルの指定を行うload-config タグでapollo-config.xmlを指定するようにして実行するように変更したところ、コンパイルできるようになりました。

以下build.xmlの抜粋です。
(といってもほとんどFlex Ant Tasksのページにある例のままです)

<macrodef name="call-amxmlc">
<attribute name="appName" default="Main"/>
<attribute name="locale" default="ja_JP"/>
<sequential>
<mxmlc
file="${APP_ROOT}/@{appName}.mxml"
output="${DEPLOY_DIR}/@{appName}.swf"
actionscript-file-encoding="UTF-8"
keep-generated-actionscript="true"
locale="@{locale}"
incremental="true">
<!-- Get default compiler options. -->
<load-config filename="${FLEX_HOME}/frameworks/apollo-config.xml"/>
<!-- List of path elements that form the roots of ActionScript class hierarchies. -->
<source-path path-element="${FLEX_HOME}/frameworks"/>
<!-- List of SWC files or directories that contain SWC files. -->
<compiler.library-path dir="${FLEX_HOME}/frameworks" append="true">
<include name="libs" />
<include name="../bundles/{locale}" />
</compiler.library-path>
<compiler.source-path path-element="src/main/actionscript3" />
<compiler.library-path dir="${basedir}/lib" append="true">
<include name="swc" />
</compiler.library-path>
<!-- Set size of output SWF file. -->
<default-size width="800" height="600" />
</mxmlc>
</sequential>
</macrodef>

生成されたswfをadtを利用して実行したところ、Apolloアプリケーションとして実行することができました。\(^o^)/

Flex Ant Tasksもそのうち改善されていくとは思いますがとりあえずは現状のままでもApolloアプリケーションのコンパイルくらいはできそうです。

  • ADTの実行
  • HTML-wrapperの改善
  • ADLの実行(難しいかな..)

  • などがantタスクとして実行できるようになればいいなと思います。

    でもでも...。

    依存するものが少ないのであれば、わざわざFlex Ant Tasks を使わずにflashrodさんの方法でいいような気もしました。

    jarファイルではなく実行ファイルしかないADTをconditionやosタグを使ってmacでもwinでも利用できるようにしておけば困ることがないような...。

    優位点としては..。

    ・html-wrapperが簡単に作れる。->replaceを使ってできなくはない。
    ・mxmlcが簡単に呼び出せる ->macroを設定すればほとんどかわらない。
    ・adobeが出しているのでみんなが使う可能性が大きい ->これはそうかも

    でしょうか。
    他にあったら教えてください。>どなたか。


    #amxmlcだけではなく、adlを用いた実行や、adtを用いたairファイルまでをantで実行する例があります。とても参考になります。
    Adobe Apollo Alpha Application with Ant
    http://d.hatena.ne.jp/flashrod/20070324#1174718446

    # Flex Ant Tasksはここからdownloadできます。
    Flex Ant Tasks
    http://labs.adobe.com/wiki/index.php/Flex_Ant_Tasks

    #S2Flex2 のサンプルでも実験的に使っています。
    https://www.seasar.org/svn/sandbox/s2flex2/trunk/flex2_example/build.xml

    Posted by nod at 2007年04月15日 10:57 | コメント (0) | トラックバック (0) | Clip!! | Clip!! | このエントリーを含むはてなブックマーク |digg it! |del.icio.us it!

    この記事に対するコメント

    この記事に対するコメントはまだありません。


    コメントを投稿する




    保存しますか?



    この記事のトラックバックURL


    この記事に対するトラックバック

    この記事に対するトラックバックはまだありません。



    Flex.org - The Directory for Flex Get Adobe Flash Player Made with dreamweaverMade with fireworksPowered by Movable Type 3.36Powered by Wandering Wind
    Copyright : [Articles] (C) nod::ぶろぐ:RIA::Flex/AIR/Flash All Rights Reserved.
    [Comments/Trackbacks] ... Authors of those have rights.