是否可以将两个SWC文件合并为一个?

时间:2014-08-14 13:19:27

标签: maven flex swc flexmojos compc

我正在尝试在我们的一个项目中进行一些非常需要的清理工作,作为其中的一部分,我将blob SWC拆分为多个较小的SWC。到目前为止一切都很好。

现在的问题是,由于遗留的目的,我仍然需要一个单独的聚合SWC,其中包括现在在专用SWC之间分配的所有源。这是否可能没有实际再次编译源?是否可以将两个或多个SWC合并为一个SWC?

从长远来看,对这个单一SWC的依赖关系将被依赖关系替换为实际需要的新SWC。但在过渡阶段,我确实需要支持这两种情况。 :/


更新:

我们使用Maven管理我们的项目,因此我一直在寻找一种适用于所使用的flexmojos maven插件的解决方案。正如Brian compc所指出的那样,可以用来合并多个SWC,但似乎没有任何可以在pom中使用的确切等价物。

Flexmojos docs请注意,在指定具有相同效果的依赖项时,可以使用<scope>标志。但是,这会导致编译错误,因为它尝试以递归方式合并所有引用的(我只想合并指定的库,而不是它们依赖的库)。所以,这不起作用。

我探索的另一个可能的解决方案是<include-libraries>配置选项,可以在与最终SWC一起生成的...- config.xml文件中看到。使用以下语法:

  <include-libraries>
     <library>string</library>
  </include-libraries>

然而,这似乎根本不受支持。 :/

所以,最后我能想到的是使用Ant脚本或其他东西来直接手动调用compc,如果可能的话,我真的想避免这种情况。 :/

2 个答案:

答案 0 :(得分:1)

是的,这是可能的。从https://code.google.com/p/apparat/issues/detail?id=51开始就有一个例子。它就像执行以下操作一样简单

   compc -compiler.include-libraries=special1.swc,special2.swc -o aggregate.swc

答案 1 :(得分:1)

好的,如果您有一个具有此依赖关系的库:

<dependency>
    <groupId>my.lib.gid</groupId>
    <artifactId>my.lib.gid</artifactId>
    <version>1.2.3</version>
    <type>swc</type>
    <scope>internal</scope>
</dependency>

&#34;内部&#34;范围应该导致你正在寻找。我很确定Flexmojos 4.2中已经存在这个功能(即使它真的很旧)