airxmail/ airxzip などのswcをbuildするときに、antファイルを使っているのだが、
FLEX SDKの場所をなんとかいちいち直接指定せずに、自動的にとれないものかなーと思っていたが、

やっと見つけたので、その記録です。
ちなみに、前提としてFlash Builder4 ( Flex Builder 3 ) on Windows で確かめています。

また、私は単にBuildをするだけの目的の時には、Linuxのコマンドだけでも作りたいと思っています。

そんな、利用でもいちいちFLEX SDKの場所の指定をbuild.xmlに記述しないようにします。

では、記述方法です。

<!--  環境変数をenvとして使う -->
<property environment="env" />

<!--  デフォルトの設定 -->
<property name="FLEX_SDK" value="C:\Flex\sdk\3.5.0.12683" />

<condition property="FLEX_HOME" value="${env.FLEX_HOME}">
  <isset property="env.FLEX_HOME" />
</condition>

<!--  Flash Builder 内のANTで実行されているならば、 Flash Builder内のSDKが使われる -->
<condition property="FLEX_HOME" value="${application.home}">
  <isset property="application.home" />
</condition>

のような感じです。
まず初めのFLEX_SDKの指定は、デフォルトの指定です。
次からが、大切です。

<condition property="FLEX_HOME" value="${env.FLEX_HOME}">
  <isset property="env.FLEX_HOME" />
</condition>

これは、環境変数”FLEX_HOME”があるならば、build.xml上のFLEX_HOMEの変数にその値を設定する。
という指定です。
私はWindowsでは環境変数が非常に使いづらいの、環境変数を切り替えるということをしませんが、
Linuxでは環境変数を切り替えるのは簡単です。

export FLEX_HOME=/usr/local/flex4.1; build;

とすればいいだけなのですから・・・・
もちろん、LinuxにFlex SDKのインストールもJava,Antのインストールがすんでいることが前提です。

これで、Linux向けのFLEX_SDKの指定はできたという事です。

そして、最後の部分です。

<!--  Flash Builder 内のANTで実行されているならば、 Flash Builder内のSDKが使われる -->
<condition property="FLEX_HOME" value="${application.home}">
  <isset property="application.home" />
</condition>

どうやら、Builder 内でAntを実行している時には、${applicaiton.home} で
C:\Program Files (x86)\Adobe\Adobe Flash Builder 4\sdks\4.1.0
なんていう値がとれるようです。

ちなみに、ここで注意点ですが、あくまでもAntをBuilder内の
「ワークスペースと同じJREで実行」
で実行をしている場合です。

ここがちょっとした注意点です。
さらになぜか、使っているSDKを変更したときにその変数が見つからないことがあります。
このときに、外部ツールのAntの部分を見て、そこから一度実行をすると変数が設定されています。

(なぜなのか、全くわかりません。この行為の過程でなにか解決されているだけかもしれませんが、
私は、その行為をすると問題なくなりますので、それ以上、深く突っ込んで調べないことにしています。)

ちなみに、Flash Builderにも、Flex BuilderにもAntは入っていません。
導入するときには
こちら
を参考にしてください。
Flex Builder 3の時の記述ですが、基本的にはFlex Builder4でも変わりません。

ちなみに完全なbuildファイルがみたいなーという方はこちらをどうぞ。
airxmailのswcを作るときのbuildファイルになっています。

関連記事

Leave a Reply

Spam protection by WP Captcha-Free

ソフトウェア&ライブラリ



ライブラリ
airxmail(en)
AIR版メール送受信ライブラリ
airxzip
AIR版ZIP圧縮・解凍ライブラリ
カレンダー
2010年11月
« 10月   12月 »
1234567
891011121314
15161718192021
22232425262728
2930  

カスタム検索
RSS
Add to Google
カテゴリ
にほんブログ村 IT技術ブログへ