我创建了一个Eclipse插件,并且需要一个支持其功能的本机二进制文件。我已经为Win和Mac准备了本机代码。对于每个平台,本机代码的调用是不同的,因此还存在一些与本机代码相关的插件代码。 (实际上本机代码是JNA代码,确实非常不同。)目前我有一个扩展点,每个本机支持插件都有贡献。因此,只要本机支持在这里,主插件就可以工作。此外,我还为每个本机支持插件提供了一个测试片段,用于单元测试功能。
编辑:根据答案指示将插件转换为片段后,我应该如何处理这些插件的单元测试片段?片段碎片是不可能的。
编辑:我有Mac和Windows本机代码,两个片段,因此在pom中有两个环境。但是Tycho抱怨“插件x无法在此环境中安装,因为它的过滤器不适用”,当然不是,只有Win / Mac中的一个可以在任何特定时间激活。 Tycho可以自己解决这个问题,还是需要os依赖的Maven配置文件?
答案 0 :(得分:1)
是的,您需要将本机包打包成插件片段。每个片段都应指定平台过滤器,以确保每个平台只有一个片段有效。例如,在Windows 64位上,您需要指定os = win32,ws = win32 arch = x86_64。
如果您的片段是功能的一部分,您还应该在功能定义中指定平台过滤器。
在Tycho下,您需要在pom文件中的目标平台配置的environments部分下指定所有支持的平台过滤器组合。
Tycho总是在当前平台下运行测试。将您的片段添加到测试运行时 - 有关向tycho测试运行时添加依赖项的信息,请参阅here。 Tycho经常需要帮助识别要添加到测试运行时的片段。