features/
org.foo.sdk/
feature.xml:<includes id="org.foo.rcp" />
<includes id="org.foo.rcp.source" />
build.properties:generate.feature@org.foo.rcp.source = org.foo.rcp
org.foo.rcp/
feature.xml:<plugin id="org.foo.BundleA" />
<plugin id="org.foo.BundleB" />
<plugin id="org.foo.BundleB.win32" fragment="true" os="win32" />
features/
org.foo.rcp.source/
feature.xml:<plugin id="org.foo.rcp.source"/>
<plugin id="org.foo.rcp.source.win32" fragment="true" os="win32" />
plugins/
org.foo.rcp.source/src/
org.foo.BundleA/src.zip
org.foo.BundleB/src.zip
org.foo.rcp.source.win32/src/
org.foo.BundleB.win32/src.zip
generate.feature@<源代码功能部件标识> = <功能部件标识> [, feature@<功能部件标识>] [, plugin@<插件标识>[;unpack="false"]]
features/
org.foo.rcp/
sourceTemplateFeature/<要包括在所生成的源代码功能部件中的文件>
sourceTemplatePlugin/<要包括在所生成的源代码插件中的文件>
sourceTemplateFragment/<要包括在所生成的特定于平台的片段中的文件>
这些 sourceTemplate 文件夹中的任何文件都将包括在所生成的适当功能部件/插件/片段中。确切地说,这些目录中的文件将替换“PDE 构建”生成的文件。在需要“PDE 构建”所不支持的源代码功能部件时,可使用此功能来提供定制 feature.xml。
通过为所生成的源代码功能部件提供 sourceTemplateFeature/build.properties
文件(此文件包含嵌套的源代码功能部件的 generate.feature
属性),可以对源代码功能部件进行嵌套。您还需要确保顶层源代码 feature.xml 包含嵌套的源代码功能部件,可以通过使用 feature@ 或通过提供模板 feature.xml 来做到这一点:
features/
org.foo.sdk/
sourceTemplateFeature/
build.properties:generate.feature@org.foo.nested.source = org.foo.nested
feature.xml:<includes id="org.foo.rcp" />
<includes id="org.foo.rcp.source" />
build.properties:generate.feature@org.foo.rcp.source = org.foo.rcp, feature@org.foo.nested.source
org.foo.rcp/...
org.foo.nested/...
可以根据单个插件来生成单个源代码插件,而不是让源代码基于功能部件。用来实现此目标的属性是:
generate.plugin@<源代码插件标识>=<插件标识>
示例:features/
org.foo.sdk/
feature.xml:<plugin id="org.foo.rcp" />
<plugin id="org.foo.rcp.source" />
build.properties:generate.plugin@org.foo.rcp.source = org.foo.rcp