Generazione di funzioni

La generazione PDE fornisce un'infrastruttura per automatizzare la generazione delle funzioni. La maggior parte della configurazione necessaria per questo tipo di generazione può essere eseguita attraverso poche modifiche alla template build.properties fornita nella generazione PDE. La sezione successiva tratta della configurazione di una semplice generazione presupponendo che tutti i plug-in e le funzioni a cui viene fatto riferimento dalla funzione generata sono già disponibili sul disco.

Configurazione di base

Il primo passo nella configurazione di una generazione è la creazione della directory in cui avrà luogo la generazione. Questa directory verrà indicata come directory di generazione e conterrà i plug-in e le funzioni per generare nonché gli artefatti generati. Successivamente, copiare i plug-in e le funzioni rispettivamente nelle sottodirectory "plugins" e "features". La cartella delle funzioni deve contenere la funzione da generare.

Il secondo passo è la copia del del file build.properties modello da org.eclipse.pde.build/templates/headless-build in una nuova directory che genererà la directory di configurazione. Modificare il file build.properties copiato e impostare le seguenti proprietà:

Controllo di giò che verrà generato: allElements.xml

Copiare il file allElements.xml da org.eclipse.pde.build/templates/headless-build nella directory di configurazione. Questo è il file che indica a PDE quale funzione si sta generando.  Questo file contiene due tipi di destinazioni:  allElementsDelegator, che specifica la funzione da generare, e le destinazioni di assemblaggio che vengono richiamate per assemblare singole configurazioni.  Il allElementsDelegator per una funzione denominata org.foo.Feature è:
 	<target name="allElementsDelegator">
<ant antfile="${genericTargets}" target="${target}">
<property name="type" value="feature" />
<property name="id" value="org.foo.Feature" />
</ant>
</target>
Le destinazioni di assemblaggio consentono di controllare il nome dell'archivio finale per ciascuna configurazione.  È necessario disporre di una destinazione per ciascuna configurazione che si sta generando.  Ad esempio, quando si genera org.foo.Feature per Windows (quando configs è impostato su win32, win32, x86), è necessario disporre della seguente destinazione:
<!--Destinazione per l'assemblaggio os=win32, ws=win32, arch=x86 -->
<target name="assemble.org.foo.Feature.win32.win32.x86">
<ant antfile="${assembleScriptName}" dir="${buildDirectory}/">
</target>
Quando si genera una configurazione indipendente dalla piattaforma (quando configs non è impostato oppure è impostato su *,*,*), occorre disporre di una destinazione come la seguente:
<!--La destinazione di assemblaggio indipendente dalla piattaforma-->
<target name="assemble.org.foo.Feature">
<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
</target>

Esecuzione della generazione

Per eseguire la generazione verrà utilizzata l'applicazione org.elipse.ant.core.antRunner. Quando si richiama eclipse con questa applicazione per eseguire una generazione occorre impostare due argomenti sulla riga comandi:
Eseguire l'applicazione antRunner utilizzando il seguente comando:
java -jar <installazioneeclipse>/startup.jar -application org.eclipse.ant.core.antRunner -buildfile <<installazioneeclipse>/plugins/org.eclipse.pde.build_<versione>/scripts/build.xml> -Dbuilder=<percorso cartella di configurazione generazione>
Al termine della generazione, è possibile ottenere il risultato della directory di generazione nella cartella denominata I.TestBuild (questo nome può essere configurato impostando la proprietà buildLabel).

Scenari avanzati

Se si richiede ulteriore personalizzazione della generazione, ossia richiamando informazioni da un repository, vedere Argomenti avanzati della generazione PDE per ulteriori informazioni.