Etapes de la génération des dispositifs et des plug-ins

La version 3.2 permet désormais à un dispositif ou un plug-in de fournir des étapes personnalisées pour sa propre génération.  Ces étapes personnalisées peuvent être utilisées pour, par exemple, l'instrumentation BCI (Byte-Code Implementation) après la compilation, l'indexation des fichiers d'aide pour la documentation, ou la copie de fichiers supplémentaires dans le bundle. 

Pour utiliser des cibles personnalisées, un dispositif ou un plug-in doit définir la propriété customBuildCallbacks dans son fichier build.properties ; la valeur de cette propriété correspond à l'emplacement d'un fichier xml, relatif à la racine du dispositif/plug-in, contenant les cibles personnalisées.  Les modèles customBuildCallbacks.xml contenant les cibles personnalisées prises en charge sont disponibles respectivement dans org.eclipse.pde.build/templates/plugins et   org.eclipse.pde.build/templates/features.  Ces modèles peuvent être copiés dans le dispositif/plug-in et modifiés en fonction des besoins.  Les cibles personnalisées sont appelées en utilisant la tâche subant avec failonerror="false" pour que la génération se poursuive si le fichier xml personnalisé ne contient pas une cible donnée ou qu'une erreur se produit.

Plug-in

Le fichier build.xml généré qui crée un plug-in contient plusieurs cibles qui exécutent des tâches spécifiques.  La compilation PDE permet au plug-in de fournir des pré et post-cibles personnalisées qui sont appelées, et après des tâches spécifiques.  Outre les propriétés ant qui peuvent être déjà définies, chaque cible personnalisée peut également recevoir des propriétés spécifiques.  Les cibles personnalisées suivantes prennent en charge les rappels personnalisés :

Dispositifs

Le fichier build.xml généré pour les dispositifs prend uniquement en charge les rappels de génération personnalisés pour la cible gather.bin.parts.  Cette cible appelle la cible gather.bin.parts de tous les dispositifs et plug-ins inclus.  Elle prend en charge pre.gather.bin.parts et post.gather.bin.parts.  Les deux cibles sont fournies avec les propriétés suivantes :