Propriétés de configuration de la génération des dispositifs et des plug-ins
Le processus de génération est piloté par une configuration de génération. La configuration de
la génération d'un plug-in, fragment ou dispositif individuel figure dans le fichier build.properties associé.
Les assistants de création de projet PDE génèrent le fichier
build.properties au moment de la création des projets de plug-in. Le fichier contient des informations sur la génération des dossiers
source dans des fichiers JAR. Ces informations peuvent être indirectement mises à jour dans la page d'exécution de l'éditeur de manifeste. Elles
peuvent aussi être directement modifiées à l'aide de l'éditeur approprié.
PDE intègre une éditeur simple, doté de vues formulaire et source, permettant de modifier le fichier build.properties.
Le fichier lui-même obéit au format de propriétés Java. Vous devez fournir un certain nombre de clés et les valeurs qui leur sont associées. Les valeurs sont séparées les unes des autres par une virgule.
Propriétés communes
- bin.includes - liste des fichiers qui seront inclus dans la version binaire du plug-in généré
- bin.excludes - liste les fichiers à exclure de la génération
binaire
- qualifier - lorsque le numéro de version de l'élément se termine par .qualifier, indique la valeurdevant remplacer ".qualifier". Cette propriété peut avoir la valeur context, <value> ou none. La valeur context génère une date fondée sur la date système ou utilise les balises CVS en cas de génération automatisée. Value correspond à une valeur réelle. La valeur None supprime ".qualifier". Si la propriété est omise, la valeur context est utilisée.
- custom=true - indique que le script de génération a été créé manuellement et non automatiquement. Aucune autre valeur n'est consultée.
- customBuildCallbacks : définit un fichier xml qui contient les cibles personnalisées à utiliser lors de l'utilisation de la fonction/plug-in. (Voir Etapes de génération personnalisée des dispositifs et des plug-ins)
Propriétés spécifiques des plug-ins
- source.<library> - répertorie les dossiers source qui seront compilés (par exemple, source.xyz.jar=src/, src-ant/). Si la bibliothèque est définie dans le fichier plug-in.xml ou manifest.mf, la valeur doit correspondre ;
- output.<library> - indique le dossier de sortie devant recevoir le résultat de la génération ;
- exclude.<library> - liste les fichiers qui ne doivent pas être copiés dans la bibliothèque par le compilateur ;
- extra.<library> - chemins d'accès aux classes supplémentaires utilisés pour exécuter une génération automatique. Les
chemins d'accès aux classes peuvent être des chemins relatifs ou des URL
de plateforme faisant référence à des plug-in et des fragments de votre
environnement de développement (par ex. ../someplugin/xyz.jar,
platform:/plugins/org.apache.ant/ant.jar).
Il est conseillé d'utiliser des URL de plateforme plutôt que des chemins relatifs ;
- manifest.<library> - indique le fichier qui sera utilisé comme manifeste pour la bibliothèque. Ce fichier doit être dans l'un des dossiers source utilisés comme entrée du fichier JAR.
- src.includes - liste les fichiers à inclure dans la
génération source
- src.excludes - liste les fichiers à exclure dans la
génération source
- jars.extra.classpath - (déconseillé) action identique à celle de la propriété extra.<library>, sauf que les entrées s'appliquent à toutes les bibliothèques ;
- jars.compile.order - définit l'ordre dans lequel les fichiers JAR doivent être compilés (lorsqu'il existe plusieurs bibliothèques).
- jre.compilation.profile :
définit l'environnement à utiliser pour compiler le bundle. (Voir Contrôle de l'environnement de compilation)
- javacSource : définit le niveau de compatibilité source de la compilation du bundle. Remplace jre.compilation.profile.
- javacTarget : Définit le niveau de compatibilité .class de la compilation du bundle.
Remplace jre.compilation.profile.
- bootClasspath : définit le chemin de classes d'amorçage en fonction duquel le bundle doit être compilé. Remplace jre.compilation.profile.
- javacWarnings.<library> : définit les options d'avertissement à envoyer au compilateur. (Voir l'option -warn dans la section relative à la compilation du code Java dans Plug-in JDT - Guide du développeur).
- javacDefaultEncoding.<library> : définit le codage par défaut à utiliser lors de la compilation de la bibliothèque.
- javacCustomEncodings.<library> : liste de chemins et de codages séparés par une virgule à utiliser lors de la compilation de la bibliothèque.
Exemple :
javacCustomEncodings.library.jar = src/org/foo[US-ASCII], src/org/foo/bar.java[ISO-8859-1]
Les valeurs définies pour ces clés qui se terminent par "includes" ou "excludes" sont présentées comme des "masques" Ant. Les formats standard donnent les résultats attendus. Par exemple, "*.jar" définit tous les fichiers JAR du premier répertoire. Par
défaut, les masques ne sont pas imbriqués profondément. Pour décrire
tous les fichiers Java, par exemple, vous devez utiliser le masque
"**/*.java". Le masque "**" englobe tous les
niveaux de répertoire. De la même façon, pour décrire des
sous-arborescences entières, utilisez "xyz/".
Propriétés spécifiques des fonctions
- root - répertorie les fichiers et les dossiers devant être inclus à la racine du produit. Valeurs prises en charge :
- <nomDossier> - chemin relatif d'un dossier à copier ;
- file:<nomFichier> - chemin relatif d'un fichier à copier ;
- absolute:<nomDossier> - chemin absolu d'un dossier à copier ;
- absolute:file:<nomFichier> - chemin absolu d'un fichier à copier ;
- root.<config> - répertorie les fichiers et les dossiers devant être inclus à la racine du produit lors de la génération pour la configuration indiquée. config se compose des trois (3) segments d'une configuration, séparés par un point ;
- root.permissions.<permissionValue> - répertorie les fichiers et dossiers dans la commande chmod en leur attribuant la valeur donnée. Toute référence à un dossier doit se terminer par '/' ;
- root.permissions.<config>.<permissionValue> - répertorie les fichiers et dossiers dans la commande chmod en leur attribuant la valeur donnée pour une configuration spécifique. Toute référence à un dossier doit se terminer par '/' ;
- root.link - répertorie par paires (séparées par une virgule) les fichiers et les dossiers devant être liés de manière symbolique. La première entrée indique la source (cible en langage Unix) et la deuxième, le nom du lien ;
- root.link.<config> - liste de paires de fichiers et de dossiers, séparées par une virgule, devant être liés de manière symoblique pour une configuration spécifique. La première entrée indique la source (cible en langage Unix) et la deuxième, le nom du lien ;
- generate.feature@<featureId> - indique que le dispositif source featureId correspondra à celui indiqué comme valeur pour cette propriété.
Les valeurs spécifiées après la première virgule indiquent les éléments à extraire du référentiel (Voir Génération des dispositifs et des plugins source)
- generate.plugin@<pluginId> - indique que le plug-in source pluginId correspondra à celui indiqué comme valeur pour cette propriété.
- significantVersionDigits : nombre de chiffres significatifs à utiliser lors de la génération des suffixes des versions des dispositifs (Voir Qualificateurs des versions)
- LgeneratedVersionLength : longueur du suffixe de version de fonction généré.
L'exemple suivant est extrait du fichier build.properties du dispositif org.eclipse.platform.
bin.includes=epl-v10.html,eclipse_update_120.jpg,feature.xml,feature.properties,license.html
root=rootfiles,file:../../plugins/org.eclipse.platform/startup.jar,configuration/
root.permissions.755=eclipse
root.linux.motif.x86=../../plugins/platform-launcher/bin/linux/motif,linux.motif
root.linux.motif.x86.link=libXm.so.2.1,libXm.so.2,libXm.so.2.1,libXm.so
root.linux.motif.x86.permissions.755=*.so*