`
udukwilliam
  • 浏览: 33625 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

flex编译—加入主题参数

 
阅读更多

    在使用flashbuilder开发flex程序的过程中,有时我们会为了支持某种主题而在flex编译器->附加的编译器参数下加入如下语句:-locale en_US -theme=${flexlib}/themes/Halo/halo.swc但是我们不能直接使用flashbuilder生成出来的swf或者swc(存在版权问题),必须使用ant构建自己的swf或者swc。将语句-locale en_US -theme=${flexlib}/themes/Halo/halo.swc转换成ant中的表示为:

 

<!-- compile a mxml/as file -->
    <target name="compile">
    	<!-- 如果需要生成as源代码,keep-generated-actionscript设置为true -->
    	<!-- 生成供Module编译使用的link report -->
    	<mxmlc file="${src-dir}/${fileName}.${fileExt}"
	    	   output="${export-dir}/${fileName}.swf" 
    	       actionscript-file-encoding="UTF-8" 
    	       keep-generated-actionscript="false" 
    		   link-report="${export-dir}/link-report.xml"
    	       incremental="true">
    	       <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/> 
    		   <!-- 注意该语句,加入了主题支持 -->   
    		   <compiler.theme file="${FLEX_HOME}/frameworks/themes/Halo/halo.swc"/>
    		   <compiler.theme file="${FLEX_HOME}/frameworks/themes/Spark/spark.css"/>
    	       <source-path path-element="${FLEX_HOME}/frameworks"/>   
    	       <compiler.library-path dir="${FLEX_HOME}/frameworks" append="true"> 
    	            <include name="libs" />
    	       		<include name="../bundles/{locale}"/>
    	       </compiler.library-path> 
    	       <compiler.library-path dir="${basedir}" append="true"> 
    	       		<include name="libs" /> 
    	       		<include name="export" /> 
    	       </compiler.library-path> 
    	       <compiler.source-path path-element="${src-dir}"/> 
		</mxmlc> 
    	
    	<!-- 如果有生成源代码,这里需要做删除 -->
    	<!-- delete dir="${src-dir}/generated"/ -->
    	<delete>
			<!-- Deletes cache file -->
			<fileset dir="${export-dir}" includes="${fileName}*.cache" defaultexcludes="false"/>
	    </delete>
    </target>
 

 

 

 其实这些参数在flex SDK的ant包下的Readme.txt有描述:

 

################################################################################
#                                                                              #
# README - flexTasks                                                           #
#                                                                              #
################################################################################

Contents
  I.    Installation
  II.   Using flexTasks
    A.  mxmlc

###################


  I.    Installation

Place flexTasks.jar into the lib directory of your Ant installation.
Alternatively, you can specify the location of the JAR file as an
argument to Ant, as the follow example shows:

  ant -lib <some-path>/flexTasks.jar .

In addition to this, you must include the following line in any build
file that uses the mxmlc or asc tasks:

  <taskdef resource="flexTasks.tasks" /> .

The build tools that you want to use (such as mxmlc or asc) must be in
your PATH. Unlike Ant, these tasks do not search your current
directory for executables unless the current directory appears in your
PATH (either explicitly or by including ".").

#########

  II.   Using flexTasks

#####

    A.  mxmlc

FlexBuild exposes all of the command-line options of mxmlc through the
attributes and nested elements of an <mxmlc> task. The full name and
abbreviated name of a command line option can be used interchangably
when the option is implemented as an attribute.

The following examples are both acceptable ways to pass the compiler.as3 option 
to mxmlc:

  <mxmlc file="foo.mxml" compiler.as3="true" />

and

  <mxmlc file="foo.mxml" as3="true" />

All boolean options are implemented as attributes of the <mxmlc> element.

All options that take a single argument are also implemented as attributes of
the <mxmlc> element. The descriptions of these types of options vary in the 
mxmlc documentation. If an option is documented as taking a <string>,
<filename>, <int>, or some sort of path element, and that option is non-
repeatable, then this option is set by setting an attribute in the <mxmlc>
element.

Options that are repeatable, or take more than one argument (such as 
default-size), are implemented as nested elements with attributes corresponding
to the names given to arguments in the mxmlc documentation. For example, if you
want to pass the option -default-size 800 600 to mxmlc, use the following
syntax:

<mxmlc file="foo.mxmlc">
    <default-size width="800" height="600" />
</mxmlc>

Do not include multiple nested elements corresponding to a non-repeatable option.

The following two nested elements can contain nested elements: 
 - <fonts>
 - <metadata>

These elements encapsulate all options starting with "compiler.fonts" and "metadata", 
repectively. The same rules that apply to other options apply to nested elements.
The following example includes contributors names and a description of the application:

<mxmlc file="foo.mxmlc">
    <metadata description="foo app">
        <contributor name="Joe" />
        <contributor name="Mike" />
    </metadata>
</mxmlc>.

There are some exceptions to the rules states above: 

- The compiler.fonts.languages.language-range option is set by
adding a <language-range> nested element to <fonts>, rather than a 
<languages.language-range> element.

- The following options (repeatable options that take a path-element) are 
implemented as FileSets:

-compiler.external-library-path
-compiler.include-libraries
-compiler.library-path
-compiler.theme

The following example shows the usage for external-library-path:

<compiler.external-library-path dir="${lib.dir}">
    <include name="**/*.swc" />
    <exclude name="not-this-one.swc" />
<compiler.external-library-path>

<compiler.theme file="${src.dir}/foo.mxml" />

To use these options, append the files that the FileSet chooses to the compiler
defaults and set the append attribute of the FileSet to true.

- The file-spec option is not supported. Instead, use the file attribute of
the mxmlc task.


################################################################################
#                                                                              #
# End of README                                                                #
#                                                                              #
################################################################################
   

 

分享到:
评论

相关推荐

    flex与Java及tomcat整合开发

    - `Outputfolder`:Flex编译后文件的存放路径,通常设置为`WebRoot`。 3. **调整项目结构**:让项目变为由MyEclipse发布的Web工程,便于后续的开发和部署。 4. **进一步配置**:通过项目右键菜单中的“属性”进行更...

    openwrt编译全过程(超详细)

    为了方便查看编译过程中的详细信息,可以在命令行中加入 `-V` 参数: ```bash make V=s ``` 编译过程可能需要较长时间,请耐心等待。完成后,编译好的固件将会被放置在 `bin` 目录下。 #### 七、总结 本文详细...

    Flex 特效1-放大镜效果

    ### Flex 特效1-放大镜效果 #### 知识点概述 本示例通过使用Flex框架实现了一种视觉上的特效——放大镜效果...通过对这些关键技术的理解和实践,开发者可以在自己的项目中加入类似的功能,提升应用的吸引力和可用性。

    Flex企业应用开发实战源代码

    3.5 Flex编译模式、链接模式与RSL 109 3.5.1 使用系统RSL—Framework 110 3.5.2 其他的系统RSL 111 3.5.3 RSL的摘要 112 3.5.4 使用私有RSL 113 3.6 小结 114 第4章 Flex on Java企业应用架构 115 4.1 分布式...

    ai.zip_as3.0_flex

    - 在每次循环中,从队列中取出代价最小的节点,更新其相邻节点的代价,并将它们加入队列。 - 当目标节点被处理时,算法结束,此时的路径就是从起点到目标的最短路径。 通过这个"ai.zip_as3.0_flex"程序,开发者可以...

    编译原理实验指导教程1

    同时,实验中可能需要使用到编译工具链,如Yacc(或 Bison)、Flex等,以辅助生成词法分析器和语法分析器。 总的来说,通过这个实验,学生可以深入理解编译器的工作原理,掌握如何从高级语言的文法定义出发,逐步...

    A20蜂鸟开发系统使用说明

    另外,编译库可以通过apt-get安装,包括git-core、gnupg、flex、bison、libz-dev、build-essential等。 二、SDK下载编译及固件生成 A20蜂鸟开发系统提供源代码下载,支持编译生成ANDROID系统和LINUX系统的固件。 ...

    Red5边源服务器集群部署

    2. **配置集群**:在Red5的`conf/server.properties`文件中,你需要配置集群的相关参数,如`cluster.enabled=true`来启用集群模式,以及设置`cluster.nodes`为集群中的其他节点IP地址。 3. **共享存储**:为了实现...

    build android doc

    接着,安装必要的依赖包,如flex、bison、gperf等,最后执行make命令进行编译。在编译过程中,可能需要对部分源代码添加缺失的头文件,例如string.h和stdlib.h,以解决编译错误。 总的来说,构建Android文档涉及到...

    在ubuntu 12.04上安装snort 2.9.3安装手册

    2. **安装依赖项**:使用`sudo apt-get install libdumbnet1 libnet1-dev libpcap0.8-dev flex bison make gcc g++ autoconf automake libtool zlib1g-dev dpkg-dev`命令安装Snort所需的所有依赖库。 3. **下载...

    2022年最新电大Web开发基础-0002.docx

    5. **弹性布局**:描述正确,要启用弹性布局,需要将 display 属性设置为 flex 或 inline-flex。 6. **清除列表项标识**:描述正确,`list-style:none` 和 `list-style-type:none` 都可以清除列表项的标识。 7. **...

    实验二 First集的生成

    它主要用于确定词法分析器(如Flex)或语法分析器在遇到某个非终结符时,可能遇到的第一个输入符号是什么。了解并能够正确计算First集对于理解上下文无关文法以及后续的语法分析器设计至关重要。 **实验目的:** 1....

    ping pong mobile:手机乒乓游戏(Adobe AIR)-开源

    这个文件帮助开发者管理项目结构和编译参数。 2. `.gitignore`:这是Git版本控制系统的一个文本文件,定义了哪些文件或目录不应该被Git追踪和记录。在这个项目中,可能包含了开发过程中产生的临时文件或者构建输出...

Global site tag (gtag.js) - Google Analytics