我如何可以自动Flex组件库的建设?(How can I automate the building

2019-07-17 10:46发布

我想建立一个Flex库项目自动代替当前的进程,这涉及到我们的开发编译它自己的机器上一个,然后我们在生成文件名为.swc检查。 它的毛。

我在这个即将从Java开发人员的角度来看,所以我有一个很难得到在的Flex Builder 3应用程序提供的编译工具的窍门,但这里是我已经有:

  1. 我创建了正确加载蚂蚁任务库的蚂蚁文件,因此可以执行<mxmlc/><compc/>任务。
  2. 我已经找到我需要建立,并知道什么样的我名为.swc要使用结束的源代码。

我要的是一个Ant脚本会做这些步骤相当于:

  1. 我们建设项目中的所有源(ActionScript和MXML)和资产注入的SWC文件。
  2. 的library.swf文件提取和优化

到目前为止,我有这样的:

<target name="compile-component" depends="init">
  <compc output="${DEPLOY_DIR}/${SWC_NAME}.swc">
    <source-path path-element="${FLEX_HOME}/frameworks"/>
    <source-path path-element="${SRC_DIR}"/>
  </compc>
</target>

然而,它不包括任何内容:

[compc] Loading configuration file /Applications/Adobe Flex Builder 3/sdks/3.2.0/frameworks/flex-config.xml
[compc] Adobe Compc (Flex Component Compiler)
[compc] Version 3.2.0 build 3958
[compc] Copyright (c) 2004-2007 Adobe Systems, Inc. All rights reserved.
[compc] 
[compc] Error: nothing was specified to be included in the library
[compc] 
[compc] Use 'compc -help' for information about using the command line.

它看起来像我需要枚举,我想在图书馆,这是...可笑,包括每一个类。 肯定有更好的办法。 我该怎么做呢?

Answer 1:

您可以执行下列操作...它从源路径中需要的所有文件,并将其转换为格式的compc命令任务就可以使用。

<fileset id="project.test.dir.fileset" dir="${project.test.dir}">
    <include name="**/*.as" />
    <include name="**/*.mxml" />
</fileset>
<property name="project.test.dir.fileset" refid="project.test.dir.fileset" />

<!-- Convert the test files into a compiler friendly format. -->
<pathconvert property="project.test.dir.path" pathsep=" " refid="project.test.dir.fileset">
    <compositemapper>
        <chainedmapper>
            <globmapper from="${project.test.dir}/*" to="*" handledirsep="true" />
            <mapper type="package" from="*.as" to="*" />
        </chainedmapper>
        <chainedmapper>
            <globmapper from="${project.test.dir}/*" to="*" handledirsep="true" />
            <mapper type="package" from="*.mxml" to="*" />
        </chainedmapper>
    </compositemapper>
</pathconvert>

<compc headless-server="true" default-frame-rate="${flex.default-frame-rate}" debug="${flex.compiler.debug.mode}" output="${build.swc.dir}/${test.component.name}.swc" include-classes="${project.test.dir.path}" directory="false">
    <source-path path-element="${project.test.dir}" />
    &dependencies;
</compc>

我们用它来生产用于测试目的SWCS。



Answer 2:

幸运的你,我只是解决了这个问题,并一直在寻找答案的另一个问题!

    <compc output="${basedir}/mySwc.swc" locale="en_US">
        <source-path path-element="${basedir}/src/main/flex"/>
        <include-sources dir="${basedir}/src/main/flex" includes="*" />
        <load-config filename="${basedir}/fb3config.xml" />
    </compc>

源路径是必要告诉它看起来试图解决各种引用时什么。 在包括来源告诉它,其来源,包括(显然,在这种情况下,所有的)。 负载配置距离的Flex Builder输出的-dump-config中。

希望这可以帮助!!



Answer 3:

你可以使用Maven的 。 这是一个配置管理工具,而不是只是一个构建工具。 它不依赖于具有清单文件项目。



文章来源: How can I automate the building of a Flex component library?