`
keren
  • 浏览: 1586815 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

请您先登录,才能继续操作

Flex Builder3集成ANT,来编译自定义swc包

    博客分类:
  • Flex
阅读更多
一,首先,給flex builder安装ant插件,参照:
http://blog.jodybrewster.net/2008/04/09/installing-ant-in-flex-builder-3/
具体步骤如下:
1.  Launch Flex Builder
2. Go to Help > Software Updates > Find and Install
3. Search for new features to install, click next
4. Select “Eclipse.org update site”, click finish
5. Select “Eclipse Java Development Tools”, click next
6. Accept the license agreement, click next
7. Click finish to start download
8. Eclipse downloads Java Development Tools
9. Click “Install all” to install Java Development Tools
10. Restart the Eclipse workbench

就是要安装 Eclipse Java Development Tools这个Plugin

[参考:http://space.zdnet.com.cn/html/84/289384-2789427.html]

二,写build.xml:
<?xml version="1.0" encoding="utf-8"?>
<project name="Compc build" basedir="." default="main">
 	<!-- defines all values for the Compc compiler -->
 	<property name="FLEX_HOME" value="D:/Adobe/fb3_plugin/sdks/3.2.0"/>
	<property name="APP_ROOT" value="${basedir}"/>
	<property name="compc.exe" value="${FLEX_HOME}/bin/compc.exe"/><!-- 没用到 -->
	<property name="src-dir" value="${APP_ROOT}/src"/>
	<property name="output.dir" value="${APP_ROOT}/swc"/>
	<property name="swf.dir" value="${APP_ROOT}/bin-debug"/>
 	<property name="output.file" value="myLovo.swc"/>
	<property name="namespaces" value="http://myLovo2009"/>
	<property name="application.locale" value="zh_CN"/>
	<!-- compiled mxml/as file Name -->
	<property name="fileName" value="main" />
	<!-- compiled mxml/as file ext -->
	<property name="fileExt" value="mxml" />
	<!-- modular application's main application fileName -->
	<property name="mainApp" value="" />
	<!-- output package direction,end with / -->
	
	<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar" />
	<taskdef resource="net/sf/antcontrib/cpptasks/antlib.xml">  
  		<!-- 如果在本地编译,那么要指定这个jar的目录<classpath>  
    		<pathelement location="D:/ant171/lib/ant-contrib-version.jar"/>  
  		</classpath>-->
	</taskdef>
	
	<target name="buildAssertsSWC">    
        <fileset id="assets.flex" dir="${src-dir}" includes="**/*.gif,**/*.jpg,**/*.png,**/*.css,**/*.swf,**/*.TTF,**/*.jpeg,**/*.xml" />    
            <pathconvert pathsep=" " property="assets.flex.output" refid="assets.flex" dirsep="/">    
                <map from="${src-dir}/" to=""/>                                       
          </pathconvert>                                     
        <echo message="...Resources being considered..."/>
	 	<!--<macrodef name="filelist"></macrodef>
	 	<macrodef name="prefixfilelist">-include-file</macrodef>--> 
        <for list="${assets.flex.output}" delimiter=" " param="asset">    
            <sequential>                                               
                <echo>Asset:  @{asset}</echo>    
                <var name="filelist_tmp" value="${filelist}"/>    
                <var name="filelist" unset="true"/>    
                <var name="filelist" value="${filelist_tmp} ${prefixfilelist} @{asset} '${src-dir-assets}/@{asset}'"/>                                                  
            </sequential>    
        </for>    
        <echo message="-output '${basedir}/flex_libs/assets.swc' ${filelist}"/>    
        <exec executable="${FLEX_HOME}/bin/compc.exe" failonerror="true">    
            <arg line="-output '${basedir}/flex_libs/assets.swc' ${filelist}"/>                                       
        </exec>
	</target>
	<!-- compile a mxml/as file -->
	<target name="mxmlc" depends="">
		<mxmlc file="${APP_ROOT}/src/${fileName}.${fileExt}" 
			output="${APP_ROOT}/${swf.dir}/${fileName}.swf" 
			actionscript-file-encoding="UTF-8" 
			keep-generated-actionscript="false" 
			incremental="true">
			<!-- Get default compiler options. -->
			<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml" />
			<!-- List of path elements that form the roots of ActionScript class hierarchies. -->
			<source-path path-element="${FLEX_HOME}/frameworks" />
			
			<!-- List of SWC files or directories that contain SWC files. -->
			<compiler.library-path dir="${FLEX_HOME}/frameworks" append="true">
				<include name="libs" />
				<include name="/locale/${application.locale}" />
			</compiler.library-path>
			<!-- 自定义或第三方包 -->
			<compiler.library-path dir="${basedir}" append="true">  
                <include name="libs" /> 
        	</compiler.library-path>
        	<compiler.source-path path-element="${src-dir}"/><!-- ?????? -->
			<!-- Set size of output SWF file.-->
			<default-size width="1000" height="600" />
			<delete>
	            <!-- Deletes cache file -->
	            <fileset dir="${APP_ROOT}/src" includes="${fileName}*.cache" defaultexcludes="false"/>
	        </delete>
		</mxmlc>
	</target>
	<target name="main" depends="clean">  
	        <fileset dir="${src-dir}" id="src.files"> 
	            <include name="**/**"/> 
	        </fileset> 
	        <echo message="${src.files}" /> 
	        <pathconvert 
	            property="evaFramework_classes" 
	            pathsep=" " 
	            dirsep="." 
	            refid="src.files" 
	            > 
	            <map from="\" to="/"/> 
	            <map from="${src-dir}/" to=""/> 
	            <mapper> 
	                <chainedmapper> 
	                    <globmapper from="*.as" to="*"/> 
	                </chainedmapper> 
	            </mapper> 
	        </pathconvert> 
	        <echo message="${evaFramework_classes}"/> 

	     <compc output="${output.dir}/${output.file}" 
	     	locale="${application.locale}" 
	       include-classes="${evaFramework_classes}" 
	     	 optimize="true" benchmark="true" fork="true"
	     	>
	     	
	     	<!-- Specify namespaces.-->
	     	<namespace uri="${namespaces}" manifest="my-manifest.xml" />
	     	
			 <source-path path-element="${src-dir}" />
	     	<!-- add assets files:资源文件目录-->
	     	<include-file name="assets/default/icon/desktop.jpg" path="src/assets/default/icon/desktop.jpg"/>
	     	<include-file name="assets/default/main.css" path="src/assets/default/main.css"/>
	     	
	     	<!-- Namespaces to include. -->
	     	<include-namespaces uri="${namespaces}" />
	     	
	     	
			<!-- List of SWC files or directories that contain SWC files. -->
			<external-library-path dir="${FLEX_HOME}/frameworks/libs" append="true">
				<include name="*.swc" />
				<include name="/air/*.swc" />
				<include name="/locale/${application.locale}/*.swc" />
			</external-library-path>
	     	<!-- the thirty party swc -->
			<external-library-path dir="${APP_ROOT}/libs" append="true">
				<include name="*.swc" />
			</external-library-path>
	     </compc>
	  </target>
	<target name="clean">
  		<delete dir="${output.dir}" failonerror="true"/>
  		<mkdir dir="${output.dir}"/>
	</target>
	<!-- wrapper a swf with html express-installation template-->
	<target name="wrapper" depends="clean_htmlWrapper">
		<html-wrapper title="自动生成的swf_html" width="100%" height="100%" 
			application="flexApp" swf="${fileName}" 
			version-major="9" version-minor="0" 
			version-revision="0" history="true" 
			template="express-installation" 
			output="${APP_ROOT}/${swf.dir}" />
		<!--<move file="${APP_ROOT}/${swf.dir}index.html" tofile="${APP_ROOT}/${fileName}.html" />-->
	</target>
	<!-- clean preview previous compile file -->
	<target name="clean_swf">
		<!--<delete dir="${APP_ROOT}/${package}"/>-->
		<delete>
			<fileset dir="${APP_ROOT}/${swf.dir}" includes="${fileName}*.swf" />
		</delete>
	</target>
	<!-- clean preview previous wrapper file -->
	<target name="clean_htmlWrapper">
		<delete>
			<!-- Deletes history.swf -->
			<fileset dir="${APP_ROOT}/${package}" includes="history.swf" defaultexcludes="false" />
			<!-- Deletes playerProductInstall.swf -->
			<fileset dir="${APP_ROOT}/${package}" includes="playerProductInstall.swf" defaultexcludes="false" />
			<!-- Deletes ${fileName}.html -->
			<fileset dir="${APP_ROOT}/${package}" includes="${fileName}*.html" defaultexcludes="false" />
			<!-- Deletes history.htm -->
			<fileset dir="${APP_ROOT}/${package}" includes="$history.htm" defaultexcludes="false" />
			<!-- Deletes history.js and AC_OETags.js -->
			<fileset dir="${APP_ROOT}/${package}" includes="*.js" defaultexcludes="false" />
		</delete>
	</target>
</project>







1
0
分享到:
评论

相关推荐

    使用ant编译生成flex的swc文件

    本文将深入探讨如何使用Ant工具来编译生成Flex的SWC文件,以此解决传统方式带来的繁琐和不便。 首先,让我们了解基本概念。`Ant`是一款由Apache软件基金会开发的Java构建工具,它基于XML编写构建脚本,可以跨平台...

    配置Flex Builder 3.2来集成Flex 3.4 SDK

    - 下载并解压`automation_SDK3.4.zip`文件,将其中的`qtp.swc`、`automation.swc`、`automation_agent.swc`、`automation_dmv.swc`以及`automation_flashflexkit.swc`文件放置于`D:\Program Files\FlexBuilder3\...

    flexbuilder打包swc

    在IT行业中,FlexBuilder是一款由Adobe开发的集成开发环境(IDE),主要用于构建基于Flex框架的富互联网应用程序(RIA)。本文将深入探讨如何使用FlexBuilder来打包SWC库,这是一种非常重要的技能,对于开发者来说,...

    flex 使用swc 包

    描述中提到的“flex3引用的swc包”,表明这是一个适用于Flex 3版本的SWC库。Flex 3是Flex框架的一个早期版本,它引入了许多特性,比如改进了数据绑定、增强了组件库和图形渲染能力。 在Flex项目中使用SWC包的步骤...

    利用Ant自动编译Flex程序

    在这个例子中,我们引入了flexTasks库,然后定义了一个名为"compile"的目标,它调用了`mxmlc`任务来编译Main.mxml文件。我们指定了Flex SDK的路径,设置了源代码路径,并指定了输出文件的位置。 接下来,我们要确保...

    使用FlexBuilder3制作并导出AIR1.0正式版应用

    1. **安装FlexBuilder3**: 首先,你需要在计算机上安装Adobe Flex Builder 3,该软件提供了一个集成的开发环境,包括代码编辑器、调试器和项目管理工具。 2. **创建新项目**: 打开FlexBuilder3,创建一个新的Flex...

    Flex Builder Plug-in and Adobe

    3. **Configuring the Library Path**: Open up the Flex 3.2 library and find the `.swc` file. This file contains the necessary components for compiling applications to Flash Player 10. #### Advanced ...

    Flex Builder3+FDT3 环境配置及设置

    【Flex Builder3+FDT3 环境配置及设置】是指在开发Adobe Flex应用程序时,如何将Flex Builder3和FDT3这两个强大的开发工具进行整合并配置成一个高效的开发环境。下面将详细介绍整个配置过程: **一、准备工作** 1....

    使用Flex Ant Tasks编译工程文件

    本话题将深入探讨如何使用Flex Ant Tasks来编译工程文件,这是一种基于Apache Ant的工具,专为Adobe Flex项目设计,使得Java开发者能够利用Ant的灵活性来管理Flex项目。 Apache Ant是一个广泛使用的Java构建工具,...

    flex解析json的swc包(entity-flex-v1-02)及例子

    在给定的资源中,“flex解析json的swc包(entity-flex-v1-02)及例子”显然提供了用于在Flex应用中处理JSON数据的库。SWC是Adobe Flex的库文件格式,它包含了编译后的ActionScript代码和相关的元数据,可以被其他Flex...

    flex编译

    Flex编译是一个重要的主题,尤其对于那些在Web开发领域中使用Adobe Flex框架的开发者来说。Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。它允许开发者创建具有动态图形、视频和...

    Flex 开发学习笔记6.2 - 引用自定义的 Flex Library Project

    在Flex开发领域,创建自定义的Flex Library Project是一种常见的实践,它可以提高代码的重用性和组织性。在本文中,我们将深入探讨如何引用这样的库项目,并理解其在Flex开发过程中的重要性。Flex是一个用于构建富...

    flex_ant.zip

    3. `&lt;target&gt;`标签:定义具体的构建任务,如`compile-flex`,它会调用Flex编译器来编译源代码。 4. `&lt;property&gt;`标签:设置构建过程中的属性,比如源代码目录、输出目录、版本信息等。 5. `&lt;fileset&gt;`和`&lt;include&gt;`/...

    flexbuilder/(或myeclipse flex 插件)代码格式整理

    FlexBuilder和MyEclipse Flex插件是Adobe Flex开发的重要工具,它们为开发者提供了集成的开发环境,便于构建基于Flex和ActionScript的应用程序。在标题和描述中提到的“代码格式整理”工具,是为了帮助程序员保持...

    flex builder 编译器参数

    ### Flex Builder 编译器参数详解 在Flex开发过程中,合理设置编译器参数对于优化应用程序性能、提高代码质量及确保应用的可访问性等方面都至关重要。本文将详细介绍Flex Builder中的编译器参数及其功能,帮助...

    flex buider 4 or flash builder 4教程

    Flex Builder 4,也被称为Flash Builder 4,是一款由Adobe公司开发的专业集成开发环境(IDE),主要用于构建富互联网应用程序(RIA)。它基于Eclipse平台,为开发者提供了强大的工具集,以便于使用ActionScript 3和...

    Flex Mate框架swc包及Mate用法

    Mate框架的SWC库文件(如“library.swf”)是预编译的ActionScript组件,可以被引入到Flex项目中,以利用其提供的各种服务和功能。SWC文件是Adobe Flash和Flex的二进制库格式,包含了类定义、资源和其他元数据。在本...

Global site tag (gtag.js) - Google Analytics