Forrás szolgáltatások és bedolgozók előállítása

A PDE összeépítés előállíthat forrás szolgáltatást vagy bedolgozót.   Nézzük például a következő SDK szolgáltatást:
  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" />

Az SDK lényege az, hogy a szolgáltatás mellett a szolgáltatás forrását is tartalmazza.   Figyelje meg a generate.feature tulajdonságot a szolgáltatás build.properties fájljában.  Ez a tulajdonság mondja meg a PDE összeépítésnek, hogy az "org.foo.rcp.source" nevű szolgáltatást kell előállítani az "org.foo.rcp" szolgáltatás alapján.  A PDE összeépítés elő fog állítani egy org.foo.rcp.source szolgáltatást, a forráskódot tartalmazó bedolgozót és a szolgáltatásban tartalmazott platformfüggő kötegek forrását tartalmazó töredékeket.
  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

Az előállított forrás szolgáltatás személyre szabása

A generate.feature tulajdonság formátuma a következő:
generate.feature@<source feature id> = <feature id> [, feature@<feature id>] [, plugin@<plugin id>[;unpack="false"]]
Használja a plugin@ értéket további olyan bedolgozók hozzáadásához az előállított forrás szolgáltatáshoz, amelyek nem voltak tagjai az eredeti szolgáltatásnak.   Ez dokumentációs bedolgozók esetén hasznos.   A feature@ érték egy forrás sablonnal együtt forrás szolgáltatások egymásba ágyazására alkalmas (lásd alább).

Forrás sablonok

A szolgáltatás, amelyből a forrás szolgáltatás elő lesz állítva, megadhat sablonfájlokat, amelyek bekerülnek az előállított forrás szolgáltatásba:
  features/
org.foo.rcp/
sourceTemplateFeature/<az előállított forrás szolgáltatásban tartalmazni kívánt fájlok>
sourceTemplatePlugin/<az előállított forrás bedolgozóban tartalmazni kívánt fájlok>
sourceTemplateFragment/<az előállított platformfüggő töredékekben tartalmazni kívánt fájlok>

A sourceTemplate mappákban található minden fájl tartalmazva lesz a megfelelő előállított szolgáltatásban/bedolgozóban/töredékben.  Pontosabban, az ezekben a könyvtárakban található fájlok felül fogják írni a PDE összeépítés által előállított fájlokat.   Ezt egyéni feature.xml fájl megadására használhatja, ha a forrás szolgáltatásnak olyan követelményei vannak, amiket a PDE összeépítés nem támogat.

Előállított forrás szolgáltatások egymásba ágyazása

A forrás szolgáltatásokat egymásba ágyazhatja egy sourceTemplateFeature/build.properties fájl megadásával az előállított forrás szolgáltatáshoz, ami tartalmaz egy generate.feature tulajdonságot a beágyazott forrás szolgáltatáshoz.   Azt is biztosítania kell, hogy a felső forrás feature.xml tartalmazza a beágyazott forrás szolgáltatást; ezt a feature@ használatával vagy egy sablon feature.xml megadásával teheti meg:

  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/...
A fenti példában az  org.foo.sdk tartalmaz egy org.foo.rcp.source nevű előállított forrás szolgáltatást.   Ez az előállított forrás szolgáltatás a sablon sourceTemplateFeature/build.properties fájlt fogja megkapni.   Az org.foo.nested.source szolgáltatást is tartalmazni fogja a feature.xml fájlban.  Így amikor a PDE összeépítés feldolgozza az előállított org.foo.rcp.source szolgáltatást, látja az org.foo.nested.source szolgáltatás és a generate.feature tulajdonság tartalmazását, és előállítja az org.foo.nested.source szolgáltatást.

Forrás bedolgozó előállítása

Arra is van lehetőség, hogy egyetlen forrás bedolgozót hozzon létre egyetlen bedolgozó alapján, hogy a forrás alapja nem egy szolgáltatás.   Ezt a következő tulajdonsággal teheti meg:

generate.plugin@<source plug-in id>=<plug-in id>

Példa:
  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