Génération des dispositifs

La compilation PDE est fournie avec une infrastructure d'automatisation de la génération des dispositifs. La majorité des opérations de configuration nécessaires à cette génération peuvent être exécutées en faisant quelques modifications dans le modèle de fichier build.properties fourni dans la compilation PDE. La section suivante porte sur la configuration d'une génération simple en supposant que tous les plug-ins et dispositifs (à générer ou prégénérés) référencés à partir du dispositif à générer sont déjà disponibles localement sur le disque.

Configuration de base

La première étape de la configuration d'une génération consiste à créer le répertoire dans lequel la génération a lieu. Ce répertoire s'appelle le répertoire de génération qui contient les plug-ins et dispositifs à générer, ainsi que les artefacts générés. Ensuite, vous devez copier les plug-ins et les dispositifs respectivement dans les sous-répertoires "plugins" et "features". Le dossier des dispositifs doit contenir le dispositif à générer.

La seconde étape de la génération consiste à copier le modèle de fichier build.properties depuis org.eclipse.pde.build/templates/headless-build vers un nouveau répertoire qui correspond au répertoire de la configuration de génération (appelé également répertoire de configuration). Modifiez le fichier copié build.properties et définissez les propriétés suivantes :

Contrôle des éléments générés : allElements.xml

Copiez le fichier allElements.xml depuis org.eclipse.pde.build/templates/headless-build vers le répertoire de configuration. Il s'agit du fichier qui indique à l'environnement PDE le dispositif à générer.  Ce fichier contient deux types de cible :  la cibleallElementsDelegator qui définit le dispositif à générer, et les cibles d'assemblage qui sont appelées pour assembler les éléments de configuration individuels.  allElementsDelegator pour le dispositif nommé org.foo.Feature est :
 	<target name="allElementsDelegator">
<ant antfile="${genericTargets}" target="${target}">
<property name="type" value="feature" />
<property name="id" value="org.foo.Feature" />
</ant>
</target>
Les cibles d'assemblage permettent de contrôler le nom de l'archive finale en fonction de chaque configuration.  Il doit exister une cible pour chaque configuration que vous générez.  Par exemple, lorsque vous générez org.foo.Feature pour Windows (lorsque configs est affecté de la valeur win32, win32, x86), vous devez disposer de la cible suivante :
<!--Target for assembling  os=win32, ws=win32, arch=x86 -->
<target name="assemble.org.foo.Feature.win32.win32.x86">
<ant antfile="${assembleScriptName}" dir="${buildDirectory}/">
</target>
Lorsque vous générez une configuration indépendant de la plateforme (lorsque configs n'est pas défini ou affecté de la valeur *,*,*), vous devez disposer d'une cible qui se présente comme suit :
<!--The platform independent assemble target-->
<target name="assemble.org.foo.Feature">
<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
</target>

Exécution de la génération

Pour exécuter la génération, vous utilisez l'application org.elipse.ant.core.antRunner. Lorsque vous appelez Eclipse avec cette application pour effectuer une génération, vous devez définir deux arguments sur la ligne de commande :
Exécutez l'application antRunner en utilisant la commande suivante :
java -jar <eclipseInstall>/startup.jar -application org.eclipse.ant.core.antRunner -buildfile <<eclipseInstall>/plugins/org.eclipse.pde.build_<version>/scripts/build.xml> -Dbuilder=<chemin d'accès au dossier de configuration de la génération>
Une fois la génération terminée, vous pouvez obtenir le résultat dans le répertoire de génération dans le dossier I.TestBuild (ce nom peut être défini en spécifiant la propriété buildLabel).

Scénarios avancés

Pour plus d'informations sur la personnalisation de la génération, à savoir l'extraction depuis un répertoire, voir Rubriques Compilation PDE avancée.