Ant 批量编译as文件
这里有一篇关于Ant的文章,写得很祥细:http://www.cnblogs.com/skynet/archive/2012/03/29/2423720.html
项目的皮肤文件被分割成许多个swf文件,每次发版本的时候,都要一个一个编译。我的目标是用Ant 自动批量编译。
# 设置FLEX SDK的路径
FLEX_HOME=D:/Program Files/Adobe/Adobe Flash Builder 4.6/sdks/4.5.1
# 设置源文件路径
# {$basedir} 就是本文件所在的目录
SRC_DIR =${basedir}/src
# libs目录,一般用来放swc文件
LIBS_DIR =${basedir}/libs
OUT_PUT = debug
# 这个就是Flash Builder建立的bin-debug
DEPLOY_DIR = ${basedir}/${OUT_PUT}
LOCALE = en_US
ANT_LIB = D:/Program Files/ant/lib
这是build.properties文件。把他和build.xml放在相同的目录。这个文件的作用是定义一些变量,通过${name} 可以引用到相应的变量值
<project name="UI" default="build"> <!-- 载入配置文件 --> <property file="build.properties" /> <!-- 可以定义变量 --> <!--property name="dist.home" value="./dist" /--> <!-- 确定flexTasks.jar的位置 --> <taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar"/> <taskdef resource="net/sf/antcontrib/antlib.xml" classpath="${FLEX_HOME}/ant/lib/ant-contrib.jar"/> <target name="build" depends="init,compile" /> <!-- 清理部署目录中的内容 --> <target name="init"> <delete dir="${DEPLOY_DIR}/" /> </target> <target name="compile"> <for param="file"> <path> <fileset dir="${SRC_DIR}"> <include name="*.as" /> </fileset> </path> <sequential> <propertyregex override="yes" property="compile.target.name" input="@{file}" regexp="(.*)src(.*)(as)" replace="\1${OUT_PUT}\2swf" /> <echo message="@{file} ${compile.target.name}"/> <mxmlc file="@{file}" output="${compile.target.name}" locale="${LOCALE}" static-rsls="true" accessible="true" maxmemory="1024m" fork="true" debug="false" > <jvmarg value="-Xmx2048m"/> <jvmarg value="-Xms512m"/> <jvmarg value="-XX:MaxPermSize=512m"/> <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/> <source-path path-element="${SRC_DIR}"/> <library-path dir="${LIBS_DIR}" includes="*" append="true"/> </mxmlc> </sequential> </for> </target> </project>
<property file="build.properties" />
这句话是把刚刚定义的变量加载进来。
有可能你需要下载一个ant-contrib.jar 把它放到 flexTasks.jar相同目录就可以了。

浙公网安备 33010602011771号