编译使用一个compc的SWC,但不包括第三方库(Compile a SWC using COMPC

2019-09-19 08:20发布

我有我建立了一个代码库。 它依赖于2其他(第三方)库。 此刻,当我编译库到SWC,既第三方库都包括在内。 我在寻找一种方式来编译我的代码库对第三方库,但不包括他们在编译的SWC。

这显然意味着使用我的媒体库需要两个库,以及任何人,但我宁愿这种方式。 我没有使用Flex / Flashbuilder我知道允许您选择类的SWC包含。

谢谢

Answer 1:

-external库路径+ = my.swc是答案,虽然有不需要使用-runtime共享的库。 使用此参数允许您指定将在汇编中使用,但不能放入SWC代码。 显然,使用SWC时,仍然会需要这种排除clode。

尤其值得注意的是,不像其他的参数,-external库路径使用+ =不=。 通过使用刚刚=你将打破refernce给玩家低电平类和任何其他外部库添加。

如果您正在使用FlexTasks瓦特/蚂蚁,你的目标可能是这样的:

<target name="compileToSWC">
    <compc 
        output="${bin}/${SWCName}">
            <source-path path-element="${src}"/>
            <!-- Source to include in SWC -->
            <include-sources dir="${src}" includes="*"/>
            <!-- Libs to exclude from the swc - Note append="true" which is equivillant to using +=-->
            <external-library-path file="${thirdparty.libs}/SomeLib.swc" append="true"/>
            <external-library-path file="${thirdparty.libs}/SomeOtherLib.swc" append="true"/>
    </compc>
</target>

您还可以指向外部库的文件夹路径在这种情况下,包括里面的所有的SWC。 请注意,如果您按照Adobe的FlexTasks准则和放置flexTasks.jar文件到您的libs文件夹和目标它使用外部库路径文件夹时,flexTasks.jar本身排除在外,导致构建失败。 为了解决这个问题,要么放置在flexTasks.jar一个单独的文件夹或定位您SWCS直接作为在上面的例子



Answer 2:

我不认为你可以要求别人有依赖关系。 它可以使用第三方库的运行时共享库,则需要在URL上提供的第三方库,并使用下面的编译时-runtime-shared-libraries=http://www.yourhost.com/my.swf -external-library-path+=my.swc 。 见的Adobe文档有关的RSL全部细节



文章来源: Compile a SWC using COMPC, excluding 3rd party libs