FDTでコンパイル時に一部のコードを無視させる

Categorie:{ FDT, Progression } Tag:{, , } Comments:{ No Comments }
Posted:{ 2010.05.28 05:58:19 }

FDTでswfをコンパイル時に、条件をつけて「一部のコードを無視させる」方法です。
Conditional Compilation With FDT – ActionScriptWiki

(エキサイト翻訳)
/*FDT_IGNORE*/キーワードを使用することによって、コードのある一定の領域を無視させることができる。

なるほどー。(・∀・)

どういう事が出来る?

例えば下記のようなコードを”Compiler Arguments” に設定してコンパイル。
-define=CONFIG::Debug,true
-define+=CONFIG::Release,false

すると、下記コードの trace( ‘Debug’ )部分のみが実行される。(もちろん逆も出来る)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function foo(): void
{
     /*FDT_IGNORE*/
     CONFIG::Debug
     {
     /*FDT_IGNORE*/
          trace( 'Debug' );
     /*FDT_IGNORE*/
     }
 
     CONFIG::Release
     {
     /*FDT_IGNORE*/
          trace( 'Release' );
     /*FDT_IGNORE*/
     }
     /*FDT_IGNORE*/
}

“Compiler Arguments” の設定方法

設定方法は2通り。(もっとあるかな?)

[1] Run/Debug Configrationウィンドウで設定

[Run/Debug Configration...] > [Compiler Argumentsタブ] > [Use launcher specific compilerarguments]
をチェックし入力。
FDT Compiler Arguments

[2]ANTで指定してコンパイルする。

fdt.launch.application タスクのプロパティで設定。
ex)

1
2
3
4
5
6
7
	<fdt.launch.application 
		projectname="${flashproject.name}" 
		mainclass="${src.dir}/Index.as"
		target="${debug.dir}/index.swf" 
		startswf="true"	
		compilerarguments="-define=CONFIG::Debug,true -define+=CONFIG::Release,false"
	/>

ANTって何?ってかたはこちら
[1]の方法はいちいち入力し直さなきゃいけないので、[2]がよさげ?です。

ProgressionでDebugger実行を出し分け

つまり、debug部分に、Debugger.addTarget( manager );を書けばProgressionでリリースとデバッグのコンパイルをさくっと分けられますね!
ということで、以前作った ” Progression プロジェクトテンプレート ” をバージョンアップして、
デバッグリリースビルドをちゃんと書き出せるようにしました。
※前のVerはなんちゃって出し分けだったので( ´д`; )

ダウンロードはこちら。

FDT_IGNORE テンプレート

FDT_IGNORE テンプレートも作成しました。
これで、コードのどの部分にでも、さくっと、条件付きで書き出せるコードが書けちゃいます。

FDT4 > 環境設定 > FDT > Editor > Templates
を開いて、[import]して下さい。
(そこで[New]して下記をコピペでもOK!)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//-define=CONFIG::Debug,true
//-define+=CONFIG::Release,false
/*FDT_IGNORE*/
CONFIG::Debug
{
/*FDT_IGNORE*/
		trace( 'Debug' );
/*FDT_IGNORE*/
}
CONFIG::Release
{
/*FDT_IGNORE*/
		trace( 'Release' );
/*FDT_IGNORE*/
}
/*FDT_IGNORE*/

関連記事

Comment


レンタルサーバー豆知識