Configuration de la compilation
Le processus de compilation est piloté par une configuration de compilation. La configuration de
la compilation 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 compilation des dossiers
source dans des fichiers JAR. Ces information 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 les fichiers à inclure dans la
génération binaire
- 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 compilation automatisée. Value correspond à une valeur réelle. La valeur None supprime ".qualifier" ;
- custom=true - indique que le script de compilation a été créé manuellement et non automatiquement. Aucune autre valeur n'est consultée.
Propriétés spécifiques des plug-in
- source.<library> - répertorie les dossiers source à inclure pour la bibliothèque (par exemple, source.xyz.jar=src/, src-ant/).
Si la bibliothèque est indiquée dans le fichier plugin.xml, cette propriété doit avoir une valeur correspondante ;
- output.<library> - affiche le dossier de sortie devant recevoir le résultat de la compilation ;
- extra.<library> - chemins d'accès aux classes supplémentaires utilisés pour exécuter une compilation 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). Si vous utilisez ces
fichiers de compilation dans des processus de compilation externes, évitez
d'utiliser des URL de plateforme ou complétez-les avec des chemins relatifs
- 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).
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 produisent les résultats escomptés. Par exemple, "*.jar" désigne tous
les fichiers jar résidant dans le répertoire de niveau supérieur. 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 dispositifs
- 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 compilation 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 lavaleur donnée ;
- 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 ;
- 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 ;
- generate.plugin@<pluginId> - indique que le plug-in source pluginId correspondra à celui indiqué comme valeur pour cette propriété.
L'exemple suivant est extrait du fichier build.properties du dispositif org.eclipse.platform.
bin.includes=cpl-v10.html,eclipse_update_120.jpg,feature.xml,feature.properties,license.html
root=rootfiles,file:../../plugins/org.eclipse.platform/startup.jar,configuration.files
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*