Adobe Flex 3 ヘルプ

compc コンポーネントコンパイラの使用

コンポーネントコンパイラは、コンポーネントソースファイル、およびイメージやスタイルシートなどのアセットファイルから SWC ファイルを生成する場合に使用します。

Flex SDK でアプリケーションコンパイラを使用するには、compc コマンドラインユーティリティを使用します。Flex Builder 新しい Flex ライブラリプロジェクトをビルドする際に、compc コンポーネントコンパイラを使用します。一部の Flex SDK コマンドラインオプションは、Flex Builder 環境にも同等のオプションがあります。例えば、Flex ライブラリビルドパスダイアログボックスの各タブを使用すると、SWC ファイルにクラス、ライブラリ、およびその他のリソースを追加できます。

次に、コンポーネントコンパイラの使用例を示します。

コンポーネントコンパイラのオプションについて

コンポーネントコンパイラのオプションでは、生成される SWF ファイルに含めるクラス、リソース、名前空間などの設定を定義できます。

コンポーネントコンパイラでは、アプリケーションコンパイラのほとんどのオプションに加え、この節で説明する他のオプションを使用できます。アプリケーションコンパイラのオプションの詳細については、アプリケーションコンパイラのオプションについてを参照してください。コンポーネントコンパイラでは利用できないアプリケーションコンパイラには、メタデータのオプション(contributortitledate など)、デフォルトのアプリケーションのオプション(default-background-colordefault-frame-rate など)、localedebug-password、および theme があります。

コンポーネントコンパイラには、アプリケーションコンパイラにはないオプションも用意されています。次の表に、アプリケーションコンパイラでは使用しないコンポーネントコンパイラのオプションを示します。

オプション

説明

compute-digest=true|false

ライブラリの catalog.xml に要約を記述します。ライブラリがクロスドメイン RSL として使用される場合、または RSL のバージョン管理を行う場合に使用します。デフォルト値は true です。

RSL の詳細については、ランタイム共有ライブラリの使用を参照してください。

directory=false|true

SWC ファイルを、SWC ファイル形式ではなくオープンディレクトリ形式で出力します。このオプションを output オプションと共に使用して、出力先のディレクトリを指定します。次に例を示します。

compc -directory=true -output=destination_directory

通常、このオプションは RSL の作成時に使用しますが、これは、展開の前に SWC ファイルから library.swf ファイルを抽出する必要があるからです。詳細については、ランタイム共有ライブラリの使用を参照してください。

デフォルト値は false です。

include-classes class [...]

SWC ファイルに含めるクラスを指定します。このオプションのファイルには、ファイル名(MyClass.as など)ではなくクラス名(MyClass など)を指定します。このため、このオプションで指定するすべてのクラスがコンパイラのソースパスにある必要があります。これは source-path コンパイラオプションで指定します。

パッケージ化されたクラスとパッケージ化されていないクラスの両方を使用できます。名前空間でコンポーネントを使用する場合は、include-namespaces オプションを使用します。

コンポーネントがパッケージ内にある場合は、スラッシュではなくドット表記を使用してパッケージレベルを区切ります。

これは、コンポーネントコンパイラのデフォルトのオプションです。

include-file name path [...]

ファイルを SWC ファイルに追加します。このオプションでは、ファイルは library.swf ファイル内に埋め込まれません。この機能はグラフィックファイルを追加するときに便利です。例えば、スタイルシートから参照したり MXML ファイル内にアセットとして埋め込むために、コンパイル前のファイルを追加する場合などです。

プログラム可能なスキンなどのコンパイル済みリソースを参照するスタイルシートを追加するには、include-stylesheet オプションを使用します。

[Embed] シンタックスでアプリケーションにリソースを追加する場合、このオプションでリソースを SWC ファイルにリンクさせる必要はありません。

詳細については、ソース以外のクラスの追加を参照してください。

include-lookup-only=false|true

true を指定すると、lookupOnly=true であるマニフェストエントリのみが SWC カタログに設定されます。デフォルト値は false です。

これは高度なオプションです。

include-namespaces uri [...]

SWC ファイルにある名前空間スタイルのコンポーネントを指定します。SWC ファイルに含める URI のリストを指定します。namespace オプションで uri 引数をあらかじめ定義しておく必要があります。

パッケージ化されたコンポーネントを使用する場合は、include-classes オプションを使用します。

include-sources path-element

SWC ファイルに追加するクラスまたはディレクトリを指定します。クラスを指定する場合は、クラス名自体(MyClass)ではなく、クラスファイル(MyClass.as など)へのパスを指定します。これにより、ソースパスにない SWC ファイルにクラスを追加できます。ただし、通常は、ソースパスに含まれているクラスを追加できる include-classes オプションを使用してください。

このオプションでディレクトリを指定すると、MXML または AS の拡張子を持つすべてのファイルが対象となり、それ以外のファイルはすべて無視されます。

include-stylesheet name path [...]

SWC ファイルに追加するスタイルシートを指定します。このオプションは、スタイルシートが SWC ファイルに含まれる前に、そのスタイルシートで参照されているクラスをコンパイルします。

このオプションは、必ずしもすべてのスタイルシートで使用しなくてもかまいません。プログラムスキンやその他のアセットとしてコンパイルするアセットを参照するスタイルシートでのみ使用してください。スタイルシートがコンパイル済みアセットを参照しない場合、include-file オプションを使用できます。

このオプションでは、スタイルシートを SWC ファイルに含める前に SWF ファイルにコンパイルすることはありません。実行時に CSS ファイルをロードする場合、それを SWF ファイルにコンパイルします。

コマンドラインでは、compc ユーティリティに対してディレクトリを指定し、そのディレクトリにあるすべてのコンポーネントとソースファイルをコンパイルすることはできません。コンパイルするソースファイルをそれぞれ指定する必要があります。

SWC ファイルに含める名前空間のコンポーネントが大量にある場合、マニフェストファイルを使用すると、長大な compc コマンドを入力する手間が省けます。マニフェストファイルの作成方法については、マニフェストファイルについてを参照してください。

次の節では、compc コマンドラインコンパイラを使用することもできる、よくあるシナリオについて説明します。ここで説明する手法は、Flex Builder で Flex ライブラリコンパイラを使用して SWC ファイルをコンパイルする場合にも使用できます。

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート