ANT:SWCコンパイル

7569 ワード

コンパイルSWCはcompcタスクを使用し、compcにはいくつかの重要なパラメータが必要です.
1、出力パス
2、含まれるクラス
3、ソースパス
このうち2番目のパラメータは入手しにくいので、ANTのいくつかの他の方法を使用してクラスの完全なパスを変換する必要があります.まず、完全なコードを見てください.
<target name="buildLib">
<path id="paths">
<pathelement path="${basedir}/../"/>
</path>
<pathconvert dirsep="/" property="covbasedir" refid="paths"/>
<fileset dir="${covbasedir}/src" id="files">
<include name="**/*.as"/>
</fileset>
<pathconvert property="classes" pathsep=" " dirsep="." refid="files">
<map from="\" to="/"/>
<map from="${covbasedir}/src/" to=""/>
<mapper>
<chainedmapper>
<globmapper from="*.as" to="*"/>
</chainedmapper>
</mapper>
</pathconvert>

<echo message="${classes}"/>
<compc output="${OUTPUT_DIR}/easily.swc" include-classes="${classes}"
optimize
="true" benchmark="true" strict="true" actionscript-file-encoding="utf-8"
locale
="en_US" allow-source-path-overlap="true"
use-resource-bundle-metadata
="true">
<source-path path-element="${covbasedir}/src"/>

<compiler.external-library-path dir="${LIBS_DIR}" append="true">
<include name="*.swc"/>
</compiler.external-library-path>
</compc>
</target>

パスを変換するには、次の手順に従います.
1、すべてを手に入れる.asファイルのフルパスは、スペースを使用してすべてのパスを分離します.たとえば、「c:workspaceeasilysrccomeasilytesta 1.as c:workspaceeasilysrccomeasilytesta 2.as」
2、その後、この文字列の中の項目の下のsrcパスを空の文字列に置き換え、結果は「comeasilytesta 1.as comeasilytesta 2.as」
3.次にその中の.asも空に変えて、結果は「comeasilytesta 1 comeasilytesta 2」
4、最後のステップ、「」を「.」に置き換えます.結果は、「com.easily.test.a 1 com.easily.test.a 2」
OK、すでにすべてのクラスを手に入れて、“”で分けて、compcの中で、include-classes=“${classes}”を