<?xml version="1.0" encoding="utf-8"?>
<project name="Task Build Main Script" default="build" basedir=".">
<!-- 加载全局properties -->
<property file="./build.properties" />
<!-- 源文件路径 -->
<property name="SRC_DIR" value="${basedir}/src" />
<!-- assets路径 -->
<property name="ASSETS_DIR" value="${basedir}/src/assets" />
<!-- bin-debug路径 -->
<property name="BIN_DIR" value="${basedir}/bin-debug" />
<!-- lib路径 -->
<property name="LIBS_DIR" value="${basedir}/libs" />
<!-- 引入flexTasks.jar -->
<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar" />
<!--
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<pathelement location="${ANT_HOME}/lib/ant-contrib-1.0b3" />
</classpath>
</taskdef>
-->
<target name="clean">
<delete>
<fileset dir="${BIN_DIR}" >
<include name="**/*.swf" />
<include name="**/*.cache" />
</fileset>
</delete>
</target>
<target name="createRSL">
<macrodef name="optimize-rsl">
<attribute name="rsl-dir" />
<attribute name="swc-dir" />
<attribute name="swc-name" />
<sequential>
<unzip src="@{swc-dir}/@{swc-name}.swc" dest="@{rsl-dir}">
<patternset>
<include name="library.swf" />
</patternset>
</unzip>
<move file="@{rsl-dir}/library.swf" tofile="@{rsl-dir}/@{swc-name}.swf" />
</sequential>
</macrodef>
<optimize-rsl rsl-dir="${BIN_DIR}/rsls" swc-dir="${LIBS_DIR}" swc-name="sparktree" />
<optimize-rsl rsl-dir="${BIN_DIR}/rsls" swc-dir="${LIBS_DIR}" swc-name="SWFAddress" />
<optimize-rsl rsl-dir="${BIN_DIR}/rsls" swc-dir="${LIBS_DIR}" swc-name="flex4_ofc2" />
<optimize-rsl rsl-dir="${BIN_DIR}/rsls" swc-dir="${LIBS_DIR}" swc-name="smf" />
</target>
<target name="build" depends="clean, createRSL, buildMain">
<macrodef name="build-module">
<attribute name="module-name" />
<sequential>
<mxmlc maxmemory="1024m" fork="true"
file="${SRC_DIR}/modules/@{module-name}.mxml"
output="${BIN_DIR}/modules/@{module-name}.swf"
incremental="false">
<jvmarg value="-Xmx2048m" />
<jvmarg value="-Xms512m" />
<jvmarg value="-XX:MaxPermSize=512m" />
<!-- 方便可以进行远程debug -->
<compiler.debug>true</compiler.debug>
<compiler.optimize>true</compiler.optimize>
<source-path path-element="${SRC_DIR}" />
<use-network>true</use-network>
<load-externs>linkreport.xml</load-externs>
<static-link-runtime-shared-libraries>false</static-link-runtime-shared-libraries>
<!-- Get default compiler options.
<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
-->
<!-- List of SWC files or directories that contain SWC files.
<compiler.library-path dir="${FLEX_HOME}/frameworks" append="true">
<include name="libs" />
<include name="../bundles/{locale}" />
</compiler.library-path>
-->
<!-- 项目需要用到的locale名字,其中在SDK 4.1 里面framework locale目录zh_tw已经改成zh_TW,但千万别信,使用的时候还是要写成zh_tw -->
<!--
<locale>en_US</locale>
<locale>zh_CN</locale>
<locale>zh_tw</locale>
-->
<!--项目的多语言及配置文件目录-->
<!--
<source-path path-element="${CONFIG_DIR}/en_US" />
<source-path path-element="${CONFIG_DIR}/zh_CN" />
<source-path path-element="${CONFIG_DIR}/zh_tw" />
-->
<!-- 依赖的flex 4.1框架的RSL, 注意:顺序不能乱!若不写这一段则会报错:VerifyError: Error #1014: 无法找到类 。估计是由于下面自己定义的RSL依赖次序被优先了 -->
<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/framework.swc">
<url rsl-url="../frameworkrsls/framework.swz"/>
<url rsl-url="../frameworkrsls/framework.swf"/>
<url rsl-url="http://fpdownload.adobe.com/pub/swz/flex/4.1.0.16076/framework_4.1.0.16076.swz" policy-file-url="http://fpdownload.adobe.com/pub/swz/crossdomain.xml"/>
</runtime-shared-library-path>
<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/textLayout.swc">
<url rsl-url="../frameworkrsls/textLayout.swz"/>
<url rsl-url="../frameworkrsls/textLayout.swf"/>
<url rsl-url="http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz" policy-file-url="http://fpdownload.adobe.com/pub/swz/crossdomain.xml"/>
</runtime-shared-library-path>
<!--
<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/libs/osmf.swc">
<url rsl-url="../frameworkrsls/osmf_flex.swz"/>
<url rsl-url="../frameworkrsls/osmf_flex.swf"/>
<url rsl-url="http://fpdownload.adobe.com/pub/swz/flex/4.1.0.16076/osmf_flex.4.0.0.13495.swz" policy-file-url="http://fpdownload.adobe.com/pub/swz/crossdomain.xml"/>
</runtime-shared-library-path>
-->
<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/spark.swc">
<url rsl-url="../frameworkrsls/spark.swz"/>
<url rsl-url="../frameworkrsls/spark.swf"/>
<url rsl-url="http://fpdownload.adobe.com/pub/swz/flex/4.1.0.16076/spark_4.1.0.16076.swz" policy-file-url="http://fpdownload.adobe.com/pub/swz/crossdomain.xml"/>
</runtime-shared-library-path>
<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/sparkskins.swc">
<url rsl-url="../frameworkrsls/sparkskins.swz"/>
<url rsl-url="../frameworkrsls/sparkskins.swf"/>
<url rsl-url="http://fpdownload.adobe.com/pub/swz/flex/4.1.0.16076/sparkskins_4.1.0.16076.swz" policy-file-url="http://fpdownload.adobe.com/pub/swz/crossdomain.xml"/>
</runtime-shared-library-path>
<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/rpc.swc">
<url rsl-url="../frameworkrsls/rpc.swz" />
<url rsl-url="../frameworkrsls/rpc.swf" />
<url rsl-url="http://fpdownload.adobe.com/pub/swz/flex/4.1.0.16076/rpc_4.1.0.16076.swz" policy-file-url="http://fpdownload.adobe.com/pub/swz/crossdomain.xml"/>
</runtime-shared-library-path>
<!-- 依赖的第三方RSL, 如果有依赖关系,则应该按照依赖次序 进行定义-->
<runtime-shared-library-path path-element="${LIBS_DIR}/sparktree.swc">
<url rsl-url="../rsls/sparktree.swf" policy-file-url=""/>
</runtime-shared-library-path>
<runtime-shared-library-path path-element="${LIBS_DIR}/SWFAddress.swc">
<url rsl-url="../rsls/SWFAddress.swf" policy-file-url=""/>
</runtime-shared-library-path>
<runtime-shared-library-path path-element="${LIBS_DIR}/flex4_ofc2.swc">
<url rsl-url="../rsls/flex4_ofc2.swf" policy-file-url=""/>
</runtime-shared-library-path>
<runtime-shared-library-path path-element="${LIBS_DIR}/smf.swc">
<url rsl-url="../rsls/smf.swf" policy-file-url=""/>
</runtime-shared-library-path>
<!-- 指定哪些包是不需要编译进输出的swf, 不写这段会把框架打包进index.swf里面去 -->
<external-library-path dir="${FLEX_HOME}/frameworks/libs" append="true">
<include name="*.swc" />
<include name="air/*.swc" />
</external-library-path>
<external-library-path dir="${LIBS_DIR}" append="true">
<include name="*.swc" />
</external-library-path>
</mxmlc>
</sequential>
</macrodef>
<build-module module-name="module_init" />
<build-module module-name="module_systeminfo" />
<build-module module-name="module_cpumem" />
<build-module module-name="module_netio" />
<build-module module-name="module_diskio" />
<build-module module-name="module_systemstatus" />
<build-module module-name="module_diskstatus" />
<build-module module-name="module_volumestatus" />
<build-module module-name="module_foldstatus" />
<build-module module-name="module_volumecreate" />
<build-module module-name="module11" />
<build-module module-name="module12" />
</target>
<!-- 构建web项目 -->
<target name="buildMain" >
<!--
<exec executable="svnversion" outputproperty="revisionVersion" />
<copy todir="${BIN_DIR}">
<fileset dir="${SRC_DIR}/web_runtime">
<include name="**/**" />
</fileset>
</copy>
-->
<!--
<copy todir="${BIN_DIR}/assets">
<fileset dir="${ASSETS_DIR}">
<include name="**/**" />
</fileset>
<fileset dir="${ASSETS_DIR}/air_runtime">
<include name="**/**" />
</fileset>
</copy>
-->
<mxmlc file="${SRC_DIR}/com/istorage/main.mxml"
output="${BIN_DIR}/main.swf"
incremental="false">
<!-- 方便可以进行远程debug -->
<compiler.debug>true</compiler.debug>
<compiler.optimize>true</compiler.optimize>
<source-path path-element="${SRC_DIR}" />
<use-network>true</use-network>
<link-report>linkreport.xml</link-report>
<static-link-runtime-shared-libraries>false</static-link-runtime-shared-libraries>
<!-- Get default compiler options.
<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>
-->
<!-- List of SWC files or directories that contain SWC files.
<compiler.library-path dir="${FLEX_HOME}/frameworks" append="true">
<include name="libs" />
<include name="../bundles/{locale}" />
</compiler.library-path>
-->
<!-- 项目需要用到的locale名字,其中在SDK 4.1 里面framework locale目录zh_tw已经改成zh_TW,但千万别信,使用的时候还是要写成zh_tw -->
<!--
<locale>en_US</locale>
<locale>zh_CN</locale>
<locale>zh_tw</locale>
-->
<!--项目的多语言及配置文件目录-->
<!--
<source-path path-element="${CONFIG_DIR}/en_US" />
<source-path path-element="${CONFIG_DIR}/zh_CN" />
<source-path path-element="${CONFIG_DIR}/zh_tw" />
-->
<!-- 依赖的flex 4.1框架的RSL, 注意:顺序不能乱!若不写这一段则会报错:VerifyError: Error #1014: 无法找到类 。估计是由于下面自己定义的RSL依赖次序被优先了 -->
<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/framework.swc">
<url rsl-url="frameworkrsls/framework.swz"/>
<url rsl-url="frameworkrsls/framework.swf"/>
<url rsl-url="http://fpdownload.adobe.com/pub/swz/flex/4.1.0.16076/framework_4.1.0.16076.swz" policy-file-url="http://fpdownload.adobe.com/pub/swz/crossdomain.xml"/>
</runtime-shared-library-path>
<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/textLayout.swc">
<url rsl-url="frameworkrsls/textLayout.swz"/>
<url rsl-url="frameworkrsls/textLayout.swf"/>
<url rsl-url="http://fpdownload.adobe.com/pub/swz/tlf/1.1.0.604/textLayout_1.1.0.604.swz" policy-file-url="http://fpdownload.adobe.com/pub/swz/crossdomain.xml"/>
</runtime-shared-library-path>
<!--
<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/libs/osmf.swc">
<url rsl-url="frameworkrsls/osmf_flex.swz"/>
<url rsl-url="frameworkrsls/osmf_flex.swf"/>
<url rsl-url="http://fpdownload.adobe.com/pub/swz/flex/4.1.0.16076/osmf_flex.4.0.0.13495.swz" policy-file-url="http://fpdownload.adobe.com/pub/swz/crossdomain.xml"/>
</runtime-shared-library-path>
-->
<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/spark.swc">
<url rsl-url="frameworkrsls/spark.swz"/>
<url rsl-url="frameworkrsls/spark.swf"/>
<url rsl-url="http://fpdownload.adobe.com/pub/swz/flex/4.1.0.16076/spark_4.1.0.16076.swz" policy-file-url="http://fpdownload.adobe.com/pub/swz/crossdomain.xml"/>
</runtime-shared-library-path>
<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/sparkskins.swc">
<url rsl-url="frameworkrsls/sparkskins.swz"/>
<url rsl-url="frameworkrsls/sparkskins.swf"/>
<url rsl-url="http://fpdownload.adobe.com/pub/swz/flex/4.1.0.16076/sparkskins_4.1.0.16076.swz" policy-file-url="http://fpdownload.adobe.com/pub/swz/crossdomain.xml"/>
</runtime-shared-library-path>
<runtime-shared-library-path path-element="${FLEX_HOME}/frameworks/libs/rpc.swc">
<url rsl-url="frameworkrsls/rpc.swz" />
<url rsl-url="frameworkrsls/rpc.swf" />
<url rsl-url="http://fpdownload.adobe.com/pub/swz/flex/4.1.0.16076/rpc_4.1.0.16076.swz" policy-file-url="http://fpdownload.adobe.com/pub/swz/crossdomain.xml"/>
</runtime-shared-library-path>
<!-- 依赖的第三方RSL, 如果有依赖关系,则应该按照依赖次序 进行定义-->
<runtime-shared-library-path path-element="${LIBS_DIR}/sparktree.swc">
<url rsl-url="rsls/sparktree.swf" policy-file-url=""/>
</runtime-shared-library-path>
<runtime-shared-library-path path-element="${LIBS_DIR}/SWFAddress.swc">
<url rsl-url="rsls/SWFAddress.swf" policy-file-url=""/>
</runtime-shared-library-path>
<runtime-shared-library-path path-element="${LIBS_DIR}/flex4_ofc2.swc">
<url rsl-url="rsls/flex4_ofc2.swf" policy-file-url=""/>
</runtime-shared-library-path>
<runtime-shared-library-path path-element="${LIBS_DIR}/smf.swc">
<url rsl-url="rsls/smf.swf" policy-file-url=""/>
</runtime-shared-library-path>
<!-- 指定哪些包是不需要编译进输出的swf, 不写这段会把框架打包进index.swf里面去 -->
<external-library-path dir="${FLEX_HOME}/frameworks/libs" append="true">
<include name="*.swc" />
<include name="air/*.swc" />
</external-library-path>
<external-library-path dir="${LIBS_DIR}" append="true">
<include name="*.swc" />
</external-library-path>
</mxmlc>
</target>
</project>
相关推荐
利用ant编译flex脚本,可以直接在你的程序中使用。
本文将深入探讨如何使用Ant工具来编译生成Flex的SWC文件,以此解决传统方式带来的繁琐和不便。 首先,让我们了解基本概念。`Ant`是一款由Apache软件基金会开发的Java构建工具,它基于XML编写构建脚本,可以跨平台...
本话题将深入探讨如何使用Flex Ant Tasks来编译工程文件,这是一种基于Apache Ant的工具,专为Adobe Flex项目设计,使得Java开发者能够利用Ant的灵活性来管理Flex项目。 Apache Ant是一个广泛使用的Java构建工具,...
本文将深入探讨如何利用Apache Ant来自动编译Flex程序。Apache Ant是一种基于Java的构建工具,它允许开发者通过XML配置文件来定义任务,实现软件项目的构建、部署等自动化操作。Flex是一种用于创建富互联网应用程序...
4. **Ant编译工具**:Apache Ant是一个Java库和命令行工具,用于驱动构建过程。在Flex开发中,Ant可以用来自动化编译、测试和部署流程。通过编写XML格式的构建脚本(build.xml),开发者可以定制化构建过程,例如...
例如,通过Ant脚本,我们可以配置Flex编译器(通常是mxmlc或compc)来指定源代码路径、目标输出格式、编译时的库或SWC文件、以及各种编译标志。 `Flex_Ant_Tasks`可能包含了以下内容: 1. `build.xml`:这是Ant的...
开发者通常会创建一个名为 `build.xml` 的 Ant 构建脚本来定义构建任务,如编译 Flex 源代码,打包 SWF 文件,或者创建 AIR 应用程序。这样的脚本可以极大地提高效率,尤其是在大型项目中。 描述中提到的 "NULL ...
Ant可以通过命令行调用来执行构建脚本,而Flex SDK提供了编译Flex应用程序所需的工具。 2. **构建脚本**:Ant脚本通常以`build.xml`命名,其中包含了构建过程的详细步骤。例如,它可能包括清理旧编译产物、编译源...
- **编写目的**:本文档旨在指导软件发布人员如何正确安装与配置Apache Ant,解决在安装与使用过程中可能遇到的问题,确保能够顺利地使用Ant对Flex/Java工程项目进行自动化编译与打包。 #### 二、环境说明 - **Ant...
5. **使用Ant编译**: JW FLV Player的构建过程通常由Ant脚本控制。Ant脚本(如`build.xml`)定义了编译、打包和发布任务。你可以通过运行`ant`命令来执行这些任务。例如,使用`ant compile`命令将源码编译为SWF...
3. **使用 fsch 和 ant**:fsch 是一个专门用于 Flex 编译的后台服务,结合 ant 脚本,可以更高效地编译模块。在 build.xml 文件中设置好参数,通过 ant 调用 fsch 服务进行编译。这种方式产出的 swf 文件体积较小,...
10. **文档和教程**:如"Flex Ant脚本模板"和"使用Flex Ant Tasks编译flex工程"这样的资料,是学习如何有效利用Ant构建Flex项目的教程。 综上所述,2007年时的Flex Builder学习涵盖了基础的Flex编程概念、MXML和...
- **编写目的**: 本文档旨在指导软件发布人员如何正确安装与配置Ant,并利用它来自动化编译Flex/Java项目,进而实现项目的打包发布流程。文档的目标读者是负责项目发布的人员。 #### 二、环境说明 - **Ant版本**: ...
通过执行之前配置好的Ant构建脚本中的`run`任务,即可在浏览器中查看Flex应用的运行效果。 综上所述,使用IntelliJ IDEA开发Flex应用不仅能够提供良好的开发体验,还能够充分利用其强大的功能来提高开发效率和代码...
"Using Flex Ant tasks"和"Using the compc task"以及"Using the mxmlc task"这些文件会介绍如何在Flex 4中继续使用或调整Ant脚本,确保编译和构建流程不受影响。 5. **项目迁移步骤**:文件"Moving existing Flex ...
Flex是一种创建富互联网应用程序(RIA)的框架,Ant可以用来编译和部署Flex项目。 - `ant.txt`:可能是对Ant的简要说明或使用指南,包含了如何配置和使用Ant的一些关键信息。 Ant的工作原理是通过读取XML格式的构建...
4. `build.xml` - Ant构建脚本,用于编译和打包项目。 5. `manifest.xml` - Adobe AIR应用的清单文件,描述应用信息。 6. `flex_sdk` - 可能是SDK的一个副本,用于本地开发,避免依赖全局安装的SDK。 Flex项目开发...
- ANT脚本可用于自动化构建过程。 由于没有具体的压缩包文件内容,以上内容是根据Flex框架的一般知识来组织的。如果“src”是源代码目录,通常包含项目的源文件、资源配置、库引用等,深入分析这些文件会提供更...