4

场景:有一个Adob​​e Flex 3SWC项目,它以文件的形式使用了多个第三方库和组件。

我们如何知道这些SWC文件“里面有什么”?具体来说,如何确保项目使用所有这些组件的最新版本?

根据官方 Adob​​e Flex 3 帮助,“您可以定义”(原文如此)version您打算打包和分发的组件的属性。类似于以下内容:

private static const version:String = '1.0.0.42';

但是 Adob​​e 的创作工具并没有以任何特殊方式处理该属性,而且我怀疑它不是社区常用的,无论如何。

catalog.xml所有组件中的文件SWC似乎不包含任何有用的东西。

开发人员是否以任何方式分发SWC通常将元数据嵌入到这些文件中?是否有一种标准化的方法可以从SWC文件中检索版本、许可证、作者和版权等数据?

4

4 回答 4

1

您可以查看 RSL 摘要。它们将不同的哈希值附加到特定库的每个版本(catalog.xml 文件中的 swc/library/libraries/digests)。那么您所要做的就是只加载具有已知摘要值的库。

如果您对正在使用的 SWC 文件没有任何控制权并且它们没有使用摘要,那么您就会被供应商使用的任何专有版本控制系统所困。

于 2009-01-07T11:37:01.563 回答
1

我认为在 .swc 文件本身中包含版本名称是一种很好的做法。例如,如果您使用 Mate 框架,则 swc 文件名类似于 Mate_08_5.swc。快速浏览一下,您可以看到您使用的是 0.8.5 版本。

就许可证而言,通常您在包含您的 .swc 文件的 .zip 中分发一个 LICENSE 文本文件。

于 2008-12-17T19:46:43.053 回答
0

你提出了一个有趣的观点。

Adobe 提供了一种将基本元数据包含在 SWF(因此也包含在 SWC)中的方法,但它存储在二进制文件中,并且没有反编译就无法提取它。

有趣的是,如果一个人知道如何阅读 SWF,那么提取元数据是相当容易的。但大多数时候它不包含任何有用的信息,因为显然创作工具不允许您简单地查看它......

所以我想首先我们需要在我们的创作工具中进行一些集成,然后我们可能会开始在元数据中找到有用的信息:)

于 2008-12-14T21:42:40.933 回答
0

SWC 通常与其他支持文件(例如文档和示例)一起分发在一个包中。版本、许可证和作者信息通常作为该软件包的一部分在单独的自述文件或许可证文件中提供。我从未见过 Flex 世界中的组件开发人员将这类信息编译到 SWC 本身中。

于 2008-12-15T20:37:20.907 回答