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, будут включены в соответствующий модуль или комплект.
Обратите внимание, что файлы из этих каталогов заменяют файлы, созданные при компоновке.
Это может быть полезно для создания пользовательского 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