1

我创建了一个 Eclipse 插件,并且需要一个原生二进制文件来支持它的功能。我已经为 Win 和 Mac 准备好了本机代码。每个平台对native代码的调用是不同的,所以也有一些与native代码相关的插件代码。(实际上本机代码是 JNA 代码,确实非常不同。)目前我有一个扩展点,每个本机支持插件都在那里做出贡献。所以,只要有原生支持,主插件就可以工作了。此外,我对每个原生支持插件都有一个测试片段,用于对功能进行单元测试。

  1. 我应该如何设置插件,以便每个人在从更新站点或 p2 存储库下载时都能获得正确的插件?(我注意到例如 SWT 使用片段作为本机代码,所以这是要走的路吗?)

编辑:按照答案将插件转换为片段后,我应该如何处理这些插件的单元测试片段?碎片的碎片是不可能的。

  1. 如何在 Tycho 中进行设置,以便 Tycho build 运行适合当前平台的测试并忽略其他平台。

编辑:我有 Mac 和 Windows 本机代码,两个片段,因此在 pom.xml 中有两个环境。但是后来Tycho抱怨“插件x不能安装在这个环境中,因为它的过滤器不适用”,当然不是,任何时候只能激活Win/Mac中的一个。Tycho 可以自己解决这个问题,还是我需要依赖操作系统的 Maven 配置文件?

4

1 回答 1

1

是的,您需要将原生包打包成插件片段。每个片段都应指定平台过滤器,以确保每个平台只有一个片段有效。例如,在 Windows 64 位上,您需要指定 os=win32, ws=win32 arch=x86_64。

如果您的片段是功能的一部分,您还应该在功能定义中指定平台过滤器。

在 Tycho 下,您需要在 pom 文件的目标平台配置的环境部分下指定所有支持的平台过滤器组合。

Tycho 总是在当前平台下运行测试。将您的片段添加到您的测试运行时 - 请参阅此处,了解向 tycho 测试运行时添加依赖项。Tycho 经常需要帮助来识别要添加到测试运行时的片段。

于 2012-12-26T10:18:48.087 回答