Eigenschaften für die Erstellungskonfiguration von Features und Plug-ins
Der Erstellungsmechanismus wird durch eine Erstellungskonfiguration gesteuert. Die Erstellungskonfiguration für ein einzelnes Plug-in, ein Fragment oder eine einzelne Komponente befindet sich in der Datei build.properties für das betreffende Element.
PDE-Projekterstellungsassistenten generieren die Datei build.properties, wenn
Plug-in-Projekte erstellt werden. Die Datei enthält Informationen dazu, wie
Quellenordner in JAR-Dateien kompiliert werden. Diese Informationen können indirekt auf der Seite "Laufzeit" des Manifesteditors aktualisiert werden. Sie können außerdem mit dem entsprechenden Editor direkt geändert werden.
PDE bietet einen einfachen Editor für die Datei
build.properties, der eine Format- und eine Quellensicht
enthält.
Die Datei selbst entspricht dem Format für Java-Eigenschaften. Sie
müssen eine Reihe von Schlüsseln und ihre entsprechenden Werte
angeben. Mehrere Werte werden durch ein Komma als Begrenzer voneinander
abgegrenzt.
Allgemeine Eigenschaften
- bin.includes - Listet Dateien auf, die in die Binärversion des erstellten Plug-ins aufgenommen werden;
- bin.excludes - Listet Dateien auf, die von der binären Erstellung ausgeschlossen werden sollen.
- qualifier - Wenn die Versionsnummer des Elements auf .qualifier endet, gibt dies an, durch welchen Wert '.qualifier' zu ersetzen ist. Der Wert dieser Eigenschaft kann context, <value> oder none sein. 'Context' verwendet entweder das Systemdatum, um ein Datum zu generieren oder die CVS-Tags, falls die Erstellung automatisiert ist. 'Value' ist ein Wert. Bei Angabe von 'none' wird '.qualifier' entfernt. Wenn die Einschaft übergangen wird, wird der Kontext verwendet.
- custom=true - Gibt an, dass das Erstellungs-Script manuell erstellt wurde (im Gegensatz zur automatischen Generierung). Deshalb werden keine anderen Werte berücksichtigt.
- customBuildCallbacks - Gibt eine XML-Datei an, in der angepasste Ziele enthalten sind, die verwendet werden sollen, wenn dieses Feature bzw. Plug-in verwendet wird.
(Siehe Schritte zur Anpassung von Feature- und Plug-in-Erstellungen)
Spezifische Eigenschaften von Plug-ins
- source.<library> - Listet Quellenordner auf, die kompiliert werden (z.B. source.xyz.jar=src/, src-ant/). Wenn die Bibliothek in der Datei 'plug-in.xml' oder 'manifest.mf' festgelegt wurde, sollte der Wert derselbe sein;
- output.<library> - Listet Ausgabeordner auf, in denen das Ergebnis der Kompilation gespeichert werden soll;
- exclude.<library> - Listet die Dateien auf, die der Compiler nicht in die Bibliothek kopieren soll;
- extra.<library> - Zusätzliche Klassenpfade, die zur Ausführung einer automatischen Erstellung verwendet werden. Klassenpfade können entweder relative Pfade sein oder Plattform-URLs, die sich auf Plug-ins und Fragmente Ihrer Entwicklungsumgebung beziehen (z.B.../someplugin/xyz.jar, platform:/plugins/org.apache.ant/ant.jar). Plattform-URLs werden über relativen Pfaden empfohlen;
- manifest.<library> - Gibt die Datei an, die als Manifest für die Bibliothek verwendet wird. Die Datei muss sich in einem der Quellenordner befinden, der als Eingabe der JAR verwendet wird.
- src.includes - Listet Dateien auf, die in die Quellenerstellung aufgenommen werden sollen.
- src.excludes - Listet Dateien auf, die von der Quellenerstellung ausgeschlossen werden sollen.
- jars.extra.classpath - (deprecated) Hat denselben Effekt wie 'extra.<library>', die Einträge werden aber auf alle Bibliotheken angewandt;
- jars.compile.order - Definiert die Reihenfolge, in der JAR-Dateien kompiliert werden sollen (im Falle mehrerer Bibliotheken).
- jre.compilation.profile - Legt die Umgebung fest, die zum Kompilieren dieses Produktpakets verwendet wird. (Siehe Kompilierungsumgebung festlegen)
- javacSource - Legt die Kompatibilitätsstufe der Quelle für die Kompilierung dieses Produktpakets fest. Überschreibt 'jre.compilation.profile'.
- javacTarget - Legt die Kompatibilitätsstufe des Ziels für die Kompilierung dieses Produktpakets fest. Überschreibt 'jre.compilation.profile'.
- bootClasspath - Legt den Bootklassenpfad fest, gegen den dieses Produktpaket kompiliert wird. Überschreibt 'jre.compilation.profile'.
- javacWarnings.<library> - Legt die Warnoptionen fest, die an den Compiler übergeben werden sollen. (Siehe die Option '-warn' in Java-Code kompilieren im Handbuch 'JDT Plug-in-Entwicklung').
- javacDefaultEncoding.<library> - Legt die Standardcodierung fest, die zum Kompilieren der angegebenen Bibliothek verwendet werden soll.
- javacCustomEncodings.<library> - Eine durch Kommas getrennte Liste der Pfade und Codierungen, die zum Kompilieren der angegebenen Bibliothek verwendet werden soll. Beispiel:
javacCustomEncodings.library.jar = src/org/foo[US-ASCII], src/org/foo/bar.java[ISO-8859-1]
Die Werte für Schlüssel, die auf "includes" und "excludes" enden, werden in Form von
Ant-"Mustern" ausgedrückt. Standardformate produzieren die erwarteten Ergebnisse. Der Wert '*.jar' gibt zum Beispiel alle JAR-Dateien im Verzeichnis der höchsten Ebene an. Die Muster dringen standardmäßig nicht sehr tief in die Struktur ein. Wenn Sie beispielsweise alle Java-Dateien beschreiben wollen, sollten Sie das Muster "**/*.java" verwenden. Das Muster "**" stimmt mit allen Verzeichnisebenen überein. Wenn Sie ganze Unterverzeichnisbäume beschreiben wollen, verwenden Sie entsprechend 'xyz/'.
Spezifische Eigenschaften von Features
- root - Listet die Dateien und Ordner auf, die im Stammverzeichnis des Produkt eingeschlossen werden müssen. Folgende Werte werden unterstützt:
- <folderName> - Der relative Pfad zu einem Ordner, der kopiert werden soll;
- file:<fileName> - Der relative Pfad zu einer Datei, die kopiert werden soll;
- absolute:<folderName> - Der absolute Pfad zu einem Ordner, der kopiert werden soll;
- absolute:file:<fileName> - Der absolute Pfad zu einer Datei, die kopiert werden soll;
- root.<config> - Listet die Dateien und Ordner auf, die im Stammverzeichnis des Produkt eingeschlossen werden müssen,
wenn es mit einer bestimmten Konfiguration erstellt wird. 'config' besteht aus drei(3) Konfigurationssegmenten, die durch Punkte getrennt sind;
- root.permissions.<permissionValue> - Listet die Dateien und Ordner auf, für die die Zugriffsrechte mit dem Befehl 'chmod' auf den angegebenen Wert gesetzt werden sollen. Ein Verweis auf Ordner muss mit '/' enden;
- root.permissions.<config>.<permissionValue> -Listet die Dateien und Ordner auf, für die bei einer bestimmten Konfiguration die Zugriffsrechte mit dem
Befehl "chmod" auf den angegebenen Wert gesetzt werden sollen. Ein Verweis auf Ordner muss mit '/' enden;
- root.link - Listet paarweise (durch ein Komma getrennt) die Dateien und Ordner auf, für die eine symbolische Verbindung erstellt werden soll. Der erste Eintrag gibt die Quelle ('Ziel' in der Unix-Terminologie) und der zweite Eintrag den Namen des Links an;
- root.link.<config> - Listet paarweise (durch Kommata getrennt) die Dateien und Ordner auf, für die bei einer bestimmten Konfiguration eine symbolische Verbindung erstellt werden soll. Der erste Eintrag gibt die Quelle ('Ziel' in der Unix-Terminologie) und der zweite Eintrag den Namen des Links an;
- generate.feature@<featureId> - Gibt an, dass die Quellenkomponente featureId die Quellenkomponente der Komponente ist, die als Wert dieser Eigenschaft angegeben ist. Alle Werte nach dem ersten Komma bezeichnen Elemente, die aus dem Repository abgerufen werden sollen; (Siehe Generierung von Quellen-Plug-ins und -Features).
- generate.plugin@<pluginId> - Gibt an, dass das Quellen-Plug-in pluginId das Quellen-Plug-in des Plug-ins ist, das als Wert dieser Eigenschaft angegeben ist.
- significantVersionDigits - Die Anzahl der signifikanten Ziffern, die beim Generieren der Suffixe für die Featureversion verwendet werden. (SieheQualifikationsmerkmale für die Version).
- generatedVersionLength - Die Länge des generierten Suffixes für die Featureversion.
Das folgende Beispiel stammt aus der Datei "build.properties" der Komponente "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*