如何确保defaults.css样式表中的类引用被编译为swc

时间:2013-11-21 13:56:14

标签: flex compc

我在任务中用compc来编译主题swc。这个主题swc取决于一些资产swc,在defaults.css样式表中我引用了这些资产swc中的一些类。

我用于资产swcs的链接是compiler.library-path但似乎引用的类并没有编译成主题swc。

我使用include-file和defaults-css-url包含我的样式表。

当我构建使用此主题swc的应用程序时,我在资产swc中获得了类找不到错误。

简单的解决方案当然是让我的应用程序依赖于资产swc,但我不想这样做。主题所需的所有资产都应包含在主题swc中。我也不想通过使用compiler.include-libraries包含资产swc中的所有类来膨胀我的主题swc。

1 个答案:

答案 0 :(得分:0)

ant示例代码:

<target name="compile" description="Builds the SWC">
    <mkdir dir="${dist}" />
    <compc output="${dist}/${library.name}.swc"
        fork="true" debug="false" warn-no-constructor="false">
        <source-path path-element="${src.dir}" />
        <external-library-path dir="${FLEX_HOME}/frameworks/libs">
            <include name="player/9/playerglobal.swc" />   
            <include name="datavisualization.swc" />   
            <include name="framework.swc" />   
            <include name="rpc.swc" />   
            <include name="utilities.swc" />
        </external-library-path>
        <compiler.library-path dir="${basedir}/libs" append="true">
            <include name="*.swc" />
        </compiler.library-path>
        <include-file name="defaults.css" path="${src.dir}/defaults.css" />
        <keep-as3-metadata name="Bindable" />
        <keep-as3-metadata name="Managed" />
        <keep-as3-metadata name="ChangeEvent" />
        <keep-as3-metadata name="NonCommittingChangeEvent" />
        <keep-as3-metadata name="Transient" />
        <jvmarg line="${compc.jvm.args}" />
    </compc>
</target>

希望对你有所帮助