2

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

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

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


更新:

我们使用 Maven 管理我们的项目,因此我一直在寻找一个与所使用的 flexmojos maven 插件一起工作的解决方案。正如 Brian 所指出的,compc它可用于合并多个 SWC,但似乎没有任何可以在 pom.xml 中使用的完全相同的等价物。

Flexmojos文档指出,<scope>可以在指定具有相同效果的依赖项时使用该标志。但是,这会导致编译错误,因为它试图递归地合并所有引用(我只想合并指定的库,而不是它们反过来依赖的库)。所以,这行不通。

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

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

但是,这似乎根本不受支持。:/

所以,最后我能想到的就是使用 Ant 脚本或compc直接手动调用的东西,如果可能的话,我真的很想避免。:/

4

2 回答 2

1

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

   compc -compiler.include-libraries=special1.swc,special2.swc -o aggregate.swc
于 2014-08-14T22:10:17.623 回答
1

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

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

“内部”范围应该导致您正在寻找的内容。我很确定 Flexmojos 4.2 中已经存在该功能(即使它非常非常旧)

于 2014-09-23T08:19:34.917 回答