Eclipse RCP:build.properties 适用于多个平台
Eclipse RCP: build.properties for multiple platforms
我正在开发 Eclipse RCP 应用程序。该应用程序应在 Windows 和 Linux 上 运行。
此应用程序中有多个插件包含本机工件。要将这些工件包含在二进制构建 (jar) 中,应该在 build.properties 文件中指定它们。
目前,我在 build.properties 中包含 Linux 和 Windows 本机工件,然后在 运行 时间我选择加载哪一个。但是,我不喜欢这种方法,因为它会导致 Linux 和 Windows 构建中出现不必要的文件。
有没有办法在build.properties中指定目标平台?因此,对于 Linux 构建,它将包含 Linux 个工件,而对于 Windows 构建,它将包含 Windows 个工件?
或者,有没有办法维护 build.properties 的两个副本 - 一个用于 Linux 构建,第二个用于 Windows 构建?
通常的做法是为每个平台设置单独的插件(或插件片段),并使用平台过滤器来限制插件何时可用:
例如,在 MANIFEST.MF
Eclipse-PlatformFilter: (& (osgi.ws=cocoa) (osgi.os=macosx) (osgi.arch=x86_64) )
将插件限制为仅 Mac OS X 64 位,Cocoa.
这就是 SWT 所做的。有一个不包含任何代码的基本 org.eclipse.swt
插件,然后是扩展该插件的多个插件片段(例如 org.eclipse.swt.cocoa.macosx.x86_64
)。每个片段都包含一个平台的 SWT 代码,都实现了相同的 类。
Eclipse 仅加载当前平台的插件,因此您无需做任何选择使用的工作。
我正在开发 Eclipse RCP 应用程序。该应用程序应在 Windows 和 Linux 上 运行。
此应用程序中有多个插件包含本机工件。要将这些工件包含在二进制构建 (jar) 中,应该在 build.properties 文件中指定它们。
目前,我在 build.properties 中包含 Linux 和 Windows 本机工件,然后在 运行 时间我选择加载哪一个。但是,我不喜欢这种方法,因为它会导致 Linux 和 Windows 构建中出现不必要的文件。
有没有办法在build.properties中指定目标平台?因此,对于 Linux 构建,它将包含 Linux 个工件,而对于 Windows 构建,它将包含 Windows 个工件?
或者,有没有办法维护 build.properties 的两个副本 - 一个用于 Linux 构建,第二个用于 Windows 构建?
通常的做法是为每个平台设置单独的插件(或插件片段),并使用平台过滤器来限制插件何时可用:
例如,在 MANIFEST.MF
Eclipse-PlatformFilter: (& (osgi.ws=cocoa) (osgi.os=macosx) (osgi.arch=x86_64) )
将插件限制为仅 Mac OS X 64 位,Cocoa.
这就是 SWT 所做的。有一个不包含任何代码的基本 org.eclipse.swt
插件,然后是扩展该插件的多个插件片段(例如 org.eclipse.swt.cocoa.macosx.x86_64
)。每个片段都包含一个平台的 SWT 代码,都实现了相同的 类。
Eclipse 仅加载当前平台的插件,因此您无需做任何选择使用的工作。