コンポーネント SWC ファイルのコンパイルには、compc Flex Ant タスクを使用します。このタスクは、エイリアスをはじめ、ほとんどの compc コマンドラインコンパイラオプションをサポートします。compc コマンドラインコンパイラの使用の詳細については、compc コンポーネントコンパイラの使用を参照してください。
compc タスクの必須属性は output 属性のみで、この属性は compc タスクで作成される SWC ファイルの名前を指定します。
include-classes 属性では、空白で区切った複数のクラス名を指定できます。以下に例を示します。
<compc include-classes="custom.MyPanel custom.MyButton" ... >
...
</compc>
include-resource-bundles 属性を使用する場合、1 つのエントリ内に、リソースバンドルをカンマまたは空白で区切ったリストとして指定しないでください。代わりに、インクルードする各リソースバンドルに対して、ネストされたタグを個々に追加します。次に例を示します。
<compc output="${swf.output}/compc_rb.swc" locale="en_US">
<include-resource-bundles bundle="ErrorLog"/>
<include-resource-bundles bundle="LabelResource"/>
<sp path-element="locale/{locale}" />
</compc>
次の compc コマンドラインコンパイラオプションは、compc タスクによってサポートされていません。
次の compc タスクの例は、2 つのカスタムコンポーネントとその他のアセットを含む新しい SWC ファイルを構築します。コンポーネントは、include-classes 属性を使用することにより、SWC ファイルに追加されます。コンポーネントのソースファイルは、components という名前のサブディレクトリにあります。4 つのイメージと CSS ファイルなどのその他のアセットは、include-file 要素を使用して SWC ファイルに追加されます。この例では、main と clean の 2 つのターゲットを定義します。main ターゲットは、MyComps.swc ファイルをコンパイルします。clean ターゲットは、main ターゲットの出力を削除します。
<?xml version="1.0" encoding="utf-8"?>
<project name="My Component Builder" basedir=".">
<taskdef resource="flexTasks.tasks" classpath="${basedir}/flexTasks/lib/flexTasks.jar" />
<property name="FLEX_HOME" value="C:/flex/sdk"/>
<property name="DEPLOY_DIR" value="c:/jrun4/servers/default/default-war"/>
<property name="COMPONENT_ROOT" value="components"/>
<target name="main">
<compc
output="${DEPLOY_DIR}/MyComps.swc"
include-classes="custom.MyButton custom.MyLabel">
<source-path path-element="${basedir}/components"/>
<include-file name="f1-1.jpg" path="assets/images/f1-1.jpg"/>
<include-file name="f1-2.jpg" path="assets/images/f1-2.jpg"/>
<include-file name="f1-3.jpg" path="assets/images/f1-3.jpg"/>
<include-file name="f1-4.jpg" path="assets/images/f1-4.jpg"/>
<include-file name="main.css" path="assets/css/main.css"/>
</compc>
</target>
<target name="clean">
<delete>
<fileset dir="${DEPLOY_DIR}" includes="MyComps.swc"/>
</delete>
</target>
</project>
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート