加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flash Builder 命令行构建

发布时间:2020-12-15 18:05:25 所属栏目:百科 来源:网络整理
导读:Flash Builder 提供 Ant 任务 fb.exportReleaseBuild。使用该任务可以执行命令行构建,使开发人员个人的构建设置与每晚构建同步。也可以在自定义脚本中使用 mxmlc 任务来执行每晚构建。 fb.exportReleaseBuild 任务 使用 fb.exportReleaseBuild 任务可以确保

Flash Builder 提供 Ant 任务 <fb.exportReleaseBuild>。使用该任务可以执行命令行构建,使开发人员个人的构建设置与每晚构建同步。也可以在自定义脚本中使用 <mxmlc> 任务来执行每晚构建。

<fb.exportReleaseBuild> 任务

使用 <fb.exportReleaseBuild> 任务可以确保每晚构建设置与开发人员在每日构建时所用的设置精确匹配。

例如,如果开发人员更改了 Flex 项目的库路径,则新的库路径会写入 Flash Builder 项目中。当每晚构建机运行 <fb.exportReleaseBuild> 时,该任务会加载 Flash Builder 项目及其所有设置。

使用 <fb.exportReleaseBuild> 的另一个好处是,它会自动维护 Flash Builder 构建中通常会包括的其它“内务处理”任务,如:
  • 自动编译关联的库项目

  • 将 JPEG 等资源复制到输出目录下

  • 根据编译结果(如宽度和高度)复制 HTML 模板(包括宏替换)

注:?<fb.exportReleaseBuild> 任务要求您在每晚构建机上安装 Flash Builder。

<mxmlc> 任务

如果您编写了使用 <mxmlc> 任务的自定义脚本(如 Ant 脚本),则无需在构建机上安装 Flash Builder。但构建机上必须提供 Flex SDK。因此,构建机可以基于 Linux 平台。

但该方法的不足之处是,您要同步两组构建设置,一组在 Flash Builder 中,开发人员在每日构建时使用;另一组在每晚构建机上。

<fb.exportReleaseBuild> 用法

  1. 在构建机上安装 Flash Builder。

  2. 以 fb.exportReleaseBuild 为目标编写?build.xml。例如:

    <?xml version="1.0"?> 
    <project default="main"> 
        <target name="main"> 
            <fb.exportReleaseBuild project="MyProject" /> 
        </target> 
    </project>

    build.xml?指定使用项目文件中保存的设置运行 Flex 项目的命令行构建。有关可用参数的详细信息,请参阅fb.exportReleaseBuild 任务的参数。

  3. 创建可让 Eclipse 查找构建文件并执行其目标的每晚构建脚本。

    以下示例指定?build.xml?为构建文件,该文件将执行 MyTarget。

    如果每晚构建脚本位于 Macintosh 平台上,则可以运行以下脚本:

    WORKSPACE="$HOME/Documents/Adobe Flash Builder" 
     
    # works with either FlashBuilder.app or Eclipse.app 
    "/Applications/Adobe Flash Builder/FlashBuilder.app/Contents/MacOS/FlashBuilder"  
        --launcher.suppressErrors  
        -noSplash  
        -application org.eclipse.ant.core.antRunner  
        -data "$WORKSPACE"  
        -file "$(pwd)/build.xml" MyTarget

    如果每晚构建位于 Windows 平台上,则可以运行以下批处理文件:

    set WORKSPACE=%HOMEPATH%Adobe Flash Builder 
     
    REM works with either FlashBuilderC.exe or eclipsec.exe 
    "C:Program FilesAdobeAdobe Flash BuilderFlashBuilderC.exe" ^ 
        --launcher.suppressErrors ^ 
        -noSplash ^ 
        -application org.eclipse.ant.core.antRunner ^ 
        -data "%WORKSPACE%" ^ 
        -file "%cd%build.xml" MyTarget

fb.running Ant 属性

运行 Flash Builder 时,fb.running Ant 属性的值为 true。运行 Flash Builder 中的脚本时,可以使用该属性。例如:

<target name="myFlashBuilderTasks" if="fb.running"> 
    <fb.exportReleaseBuild ... /> 
</target> 

Eclipse Ant 任务

Eclipse 提供多个可以在构建脚本中合并为目标的 Ant 任务。例如:
  • eclipse.incrementalBuild

  • elicpse.refreshLocal

  • eclipse.convertpath

有关上述脚本的更多信息,请查阅 Eclipse 文档。

fb.exportReleaseBuild 任务的参数

属性

说明

是否必需?

默认值

project

要构建的项目。在 Flash Builder 工作空间中指定项目名称,但不指定路径。例如:“MyFlexProject”。

application

要编译的应用程序名称。可以仅指定应用程序名称,而不指定路径或扩展名(例如:app1)。为了避免命名模棱两可,可以指定相对于项目根文件夹的完整路径(例如:src/app1.mxml)。要编译所有应用程序,请指定“*”或省略此属性。针对 AIR 项目运行时,仅可以指定一个应用程序。不允许使用值“*”。

项目的默认应用程序。

publishsource

不管是否发布应用程序的源代码,都允许用户通过上下文菜单“查看源代码”来查看源文件。

false

locale

指定区域设置,如 en-US。此值通过编译器的 -locale 标志传递给编译器。如果指定了此值,则该值会覆盖 Flash Builder 的“附加的编译器参数”字段中指定的任何区域设置。

destdir

输出文件夹。文件夹可以为相对路径或绝对路径。如果指定的是相对路径,则其将相对于项目的根文件夹。如果编译的是 AIR 项目,则该文件夹是临时目录,创建 .air 文件后会被删除。

bin-release

failonerror

指明是否是编译错误导致构建失败。

true

verbose

<fb.exportReleaseBuild> 任务输出其它信息。例如,它可列出打包为 AIR 文件的文件,以及此过程中每个步骤所花的时间。

package

仅适用于 AIR 项目:指明是否将结果打包为 .air 或 .airi 文件。如果为 true,则将创建 .air 或 .airi 文件,同时删除临时输出目录(默认值为 bin-release,由 destdir 属性设置)。

如果为 false,则不会创建 .air 或 .airi 文件,且编译后中间目录将保持不变。

destfile

仅适用于 AIR 项目:要创建的 .air 或 .airi 文件的文件名。

可以指定相对路径或绝对路径。如果指定的是相对路径,则该路径将相对于项目的根文件夹。

appname.air 或 appname.airi(在项目根文件夹下)

certificate

仅适用于 AIR 项目:用于对 AIR 文件进行签名的证书路径。

如果省略该参数,则会生成未签名的 .airi 文件,以后再对该文件进行签名。

password

仅适用于 AIR 项目:用于对 AIR 文件进行签名的证书密码。如果省略该参数,则会出现一条错误消息。

警告:指定文字值作为密码可能会降低安全性。

timestamp

仅适用于 AIR 项目:指明生成的 AIR 文件是否包括时间戳。

false

“导出发行版”向导

运行“导出发行版”向导(“项目”>“导出发行版”)时,在向导中所作的设置将保存在 .actionScriptProperties 文件中。使用 fb.exportReleaseBuild 任务的命令行构建将使用向导中的设置。“导出发行版”向导会保存以下设置:

  • 查看源代码

    将保存您为“查看源代码”指定的源文件。如果为 fb.exportReleaseBuild 指定了 publishsource 参数,则向导会将这些文件归为可查看的源文件。

    重要说明:?对于服务器项目,可以在导出源文件时选择服务文件夹。导出用于实现服务的文件具有安全含义。这些文件可以提供对您的数据库的访问权限,包括用户名和密码。请参阅 导出应用程序发行版的源文件。
  • 对于 AIR 项目,在向导中指定的要包括在 AIR 或 AIRI 文件中的任何其它输出文件。

在 Linux 和其它平台上运行命令行构建

仅 Windows 和 Mac 平台支持 <fb.exportReleaseBuild> 任务。

但如果您编写的构建脚本适用于其它平台,则可对 mxmlc 或 compc 编译器使用?-dump-config?选项,以将编译器配置设置写入文件中。接着可以使用 -load-config 选项来读取配置选项。

根据需要修改文件中的配置设置。例如,如果每晚构建应执行发行版,可将 <debug>true</debug> 更改为 <debug>false</debug>。

使用 Flash Builder 编译器设置运行命令行构建

  1. 在 Flash Builder 中,选择“项目”>“属性”>“Flex 编译器”。

  2. 在“附加的编译器参数”中,指定以下参数:

    -dump-config?pathname,其中?pathname?指定了系统上指向某个文件的绝对路径。

  3. 在“属性”窗口中应用更改。

    编译器设置会写入指定的文件中。确定已写入文件后,删除 -dump-config 参数。

  4. 根据需要修改配置设置。

  5. 在构建脚本中运行编译器,使它包含保存的编译器设置。

    mxmlc -load-config?pathname

对命令行构建的限制

使用 <fb.exportReleaseBuild> 任务运行命令行构建时有一些局限性。

使用 Eclipse 3.4 在 Mac 平台上运行命令行构建

在 Mac 平台的 Eclipse 3.4 上,如果 Eclipse 安装路径中包含空格,则无头构建会失败。

在 64 位平台上运行命令行构建

Flash Builder 可在执行 32 位 Java 的平台上运行。要在支持 64 位 Java 的平台(如 Mac OS X Snow Leopard)上运行命令行构建,请向传递给 Java 的命令行选项中添加?-d32。例如:

java -d32 ...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读