Erstellung konfigurieren
Der Erstellungsmechanismus wird durch eine Erstellungskonfiguration gesteuert.
Die Erstellungskonfiguration für
ein einzelnes Plug-in, ein Fragment oder eine einzelne Komponente
befindet sich in einer 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äre Erstellung aufgenommen werden sollen.
- 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 "none" wird ".qualifier" entfernt.
- custom=true - Gibt an, dass das Erstellungs-Script manuell erstellt wurde (im Gegensatz zur automatischen Generierung). Deshalb werden keine anderen Werte berücksichtigt.
Spezifische Eigenschaften von Plug-ins
- source.<bibliothek> - Listet Quellenordner auf, die in die Bibliothek aufgenommen werden sollen (z. B.source.xyz.jar=src/, src-ant/).
Wenn die Bibliothek in der Datei "plugin.xml" festlegt wurde, sollte der Wert derselbe sein.
- output.<library> - Listet Ausgabeordner auf, in denen das Ergebnis der Kompilation gespeichert werden soll.
- extra.<library> - Zusätzliche Klassenpfade, die zur Ausführung einer automatischen Erstellung verwendet werden. Klassenpfade können entweder relative Pfade oder Plattform-URLs sein, die auf Plug-ins
und Fragmente in Ihrer Entwicklungsumgebung verweisen (z. B. ../someplugin/xyz.jar, platform:/plugins/org.apache.ant/ant.jar).
Wenn Sie diese Erstellungsdateien in externen Erstellungsprozessen verwenden, sollten Sie keine Plattform-URLs verwenden oder diese durch relative Pfade vervollständigen.
- 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 - (Veraltet) 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).
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" beispielsweise
gibt 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 "**" beschreibt
eine beliebige Zahl von Verzeichnisebenen. Wenn Sie ganze Unterverzeichnisbäume beschreiben wollen, verwenden Sie
entsprechend "xyz/".
Spezifische Eigenschaften von Komponenten
- 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 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.
- 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.
- 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 der Verknüpfung an.
- root.link.<config> - Listet paarweise (durch ein Komma 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 der Verknüpfung 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.
- 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.
Das folgende Beispiel stammt aus der Datei "build.properties" der Komponente "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*