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@<ID składnika źródłowego> = <ID składnika> [, feature@<ID składnika>] [, plugin@<ID wtyczki>[;unpack="false"]]
features/
org.foo.rcp/
sourceTemplateFeature/<pliki do włączenia do generowanego składnika źródłowego>
sourceTemplatePlugin/<pliki do włączenia do generowanej wtyczki źródłowej>
sourceTemplateFragment/<pliki do włączenia do generowanych fragmentów dla konkretnej platformy>
Wszelkie pliki znajdujące się w folderze sourceTemplate zostaną włączone do odpowiedniego wygenerowanego składnika/wtyczki/fragmentu. Pliki z tych katalogów zastąpią pliki wygenerowane przez środowisko PDE Build. Można w ten sposób dostarczyć niestandardowy plik feature.xml, jeśli istnieją wymagania względem składnika źródłowego, których środowisko PDE Build nie obsługuje.
Składniki źródłowe można zagnieżdżać, dostarczając plik sourceTemplateFeature/build.properties dla wygenerowanego składnika źródłowego zawierającego właściwość generate.feature dla zagnieżdżonego składnika źródłowego. Należy także upewnić się, że źródłowy plik feature.xml najwyższego poziomu zawiera zagnieżdżony składnik źródłowy; można to zrobić za pomocą właściwości feature@ lub udostępniając szablon 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/...
Możliwe jest także wygenerowanie pojedynczej wtyczki źródłowej na podstawie jednej wtyczki zamiast opierania źródła na składniku. Służącą do tego właściwością jest:
generate.plugin@<ID wtyczki źródłowej>=<ID wtyczki>
Przykład: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