Eigenschappen van buildconfiguraties voor features en plugins
Het buildmechanisme wordt gestuurd door een buildconfiguratie. De
buildconfiguratie voor een afzonderlijk(e) plugin, fragment of feature bevindt zich
in het bestand build.properties van het bijbehorende element.
Het bestand build.properties wordt door de PDE-wizard voor het aanmaken van een project gegenereerd wanneer de pluginprojecten worden gemaakt. Het bestand bevat de benodigde gegevens om bronmappen in JAR-bestanden te kunnen compileren. Deze gegevens kunnen indirect worden bijgewerkt op de pagina Runtime van
de manifesteditor, maar ze kunnen ook rechtstreeks worden gewijzigd met de desbetreffende editor.
PDE wordt geleverd met een eenvoudige editor voor build.properties met views voor de vorm en de broncode.
Het bestand is ingedeeld als Java-eigenschappen. U moet dus een aantal sleutels en de
bijbehorende waarden opgeven. Als u meerdere waarden opgeeft, moet u deze scheiden met
een komma.
Algemene eigenschappen
- bin.includes: lijst maken van bestanden die worden opgenomen in de binaire versie van de plugin die wordt gebouwd.
- bin.excludes: lijst maken van bestanden die worden uitgesloten van de binaire build.
- qualifier: wanneer het elementversienummer eindigt op .qualifier, geeft dit aan door welke waarde ".qualifier" moet worden vervangen. De waarde van de eigenschap kan context, <waarde> of none zijn.
Bij 'context' wordt een datum op basis van de systeemdatum gegenereerd of worden de CVS-tags gebruikt in geval van automatisch bouwen. <waarde> is een werkelijke waarde. Bij 'none' wordt ".qualifier" verwijderd. Als u niets opgeeft, wordt 'context' gebruikt.
- custom=true: geeft aan dat het buildscript handmatig in plaats van automatisch is gegenereerd. Daarom wordt er geen andere waarde gezocht.
- customBuildCallbacks -
geeft een XML-bestand aan met aangepaste doelen voor gebruik met deze feature/plugin. (Zie Aangepaste bouwstappen van features en plugins.)
Specifieke eigenschappen voor plugin
- source.<bibliotheek>: lijst maken van bronmappen die worden gecompileerd (bijvoorbeeld source.xyz.jar=src/, src-ant/). Als de bibliotheek is opgegeven in plug-in.xml of manifest.mf, moet de waarde met de bibliotheek overeenkomen.
- output.<bibliotheek>: geeft de uitvoermap aan waarin het resultaat van de compilatie wordt opgeslagen.
- exclude.<bibliotheek> - geeft de bestanden aan die niet door het compileerprogramma moeten worden gekopieerd naar de bibliotheek.
- extra.<bibliotheek>: extra klassenpaden die worden gebruikt om automatisch te bouwen. Dit kunnen relatieve paden zijn, maar ook
platform-URL's die verwijzen naar plugins en fragmenten van uw ontwikkelomgeving (bijvoorbeeld ../someplugin/xyz.jar, platform:/plugins/org.apache.ant/ant.jar).
Platform-URL's zijn te verkiezen boven relatieve paden.
- manifest.<bibliotheek>: geeft het bestand aan dat wordt gebruikt als manifest voor de bibliotheek. Het bestand moet zich bevinden in een bronmap die wordt gebruikt als invoermap voor de JAR.
- src.includes: lijst maken van bestanden die worden opgenomen in de bronbuild.
- src.excludes: lijst maken van bestanden worden uitgesloten van de bronbuild.
- jars.extra.classpath - (gedeprecieerd): gelijk aan extra.<bibliotheek>, behalve dat de items worden toegepast op alle bibliotheken.
- jars.compile.order: definieert de volgorde waarin JAR's moeten worden gecompileerd (als er meerdere bibliotheken zijn).
- jre.compilation.profile: geeft de omgeving aan voor het compileren van deze bundel. (Zie Compilatie-omgeving besturen.)
- javacSource: het compatibiliteitsniveau voor broncode voor het compileren van deze bundel. Vervangt jre.compilation.profile.
- javacTarget: het compatibiliteitsniveau voor doelklassen voor het compileren van deze bundel. Vervangt jre.compilation.profile.
- bootClasspath: het opstartklassenpad waarmee de bundel moet worden gecompileerd. Vervangt jre.compilation.profile.
- javacWarnings.<bibliotheek>: waarschuwingsopties die aan het compileerprogramma moeten worden doorgegeven. (Zie de optie -warn in Java-code compileren van de handleiding voor het ontwikkelen van plugins in JDT).
- javacDefaultEncoding.<bibliotheek>: de standaardcodering voor het compileren van de opgegeven bibliotheek.
- javacCustomEncodings.<bibliotheek>: een door komma's gescheiden lijst van paden en coderingen voor het compileren van de opgegeven bibliotheek. Voorbeeld:
javacCustomEncodings.library.jar = src/org/foo[US-ASCII], src/org/foo/bar.java[ISO-8859-1]
De gedefinieerde waarden voor de sleutels die eindigen op "includes" of "excludes" worden uitgedrukt als Ant-patronen. Standaardindelingen geven de verwachte resultaten. Zo staat "*.jar" voor alle JAR-bestanden in de hoofddirectory. De patronen hebben meestal geen uitgebreid bestandspad. Als u bijvoorbeeld alle Java-bestanden wilt opgeven,
gebruikt u het patroon "**/*.java". Het patroon "**" vertegenwoordigt een willekeurig aantal directoryniveaus. Om een hele substructuur aan te geven, gebruikt u bijvoorbeeld "xyz/".
Specifieke eigenschappen voor features
- root: lijst maken van bestanden en mappen die in de hoofdmap van het product moeten worden opgenomen. Geldige waarden zijn:
- <mapnaam>: een relatief pad naar een map die moet worden gekopieerd.
- file:<bestandsnaam>: een relatief pad naar een bestand dat moet worden gekopieerd.
- absolute:<mapnaam>: een absoluut pad naar een map die moet worden gekopieerd.
- absolute:file:<bestandsnaam>: een absoluut pad naar een bestand dat moet worden gekopieerd.
- root.<configuratie>: lijst maken van de bestanden en mappen die moeten worden opgenomen in de hoofdmap van
het product wanneer het wordt gebouwd voor de opgegeven configuratie. <configuratie> staat voor de drie (3) segmenten van een configuratie, gescheiden door een punt.
- root.permissions.<permissiewaarde>: lijst maken van de bestanden en mappen voor chmod-omzetting naar de opgegeven waarde. Verwijzingen naar mappen moeten eindigen op '/'.
- root.permissions.<configuratie>.<permissiewaarde>: lijst maken van de bestanden en mappen voor chmod-omzetting naar de opgegeven waarde voor een specifieke configuratie. Verwijzingen naar mappen moeten eindigen op '/'.
- root.link: lijst maken in paren (gescheiden door een komma) van de bestanden en mappen die symbolisch aan elkaar gekoppeld moeten worden. De eerste vermelding geeft de bron aan (doel in Unix-terminologie) en de tweede vermelding de naam van de link.
- root.link.<configuratie>: een door komma´s gescheiden lijst met paren van bestanden en mappen die symbolisch aan elkaar gekoppeld moeten worden voor een specifieke configuratie. De eerste vermelding geeft de bron aan (doel in Unix-terminologie) en de tweede vermelding de naam van de link.
- generate.feature@<feature-ID>: geeft aan dat feature-ID de bronfeature is voor de feature die is opgegeven als waarde van deze eigenschap.
De waarden na de eerste komma geven elementen aan die moeten worden opgehaald uit de repository (zie Genereren van bronplugins en -features.)
- generate.plugin@<plugin-ID>: geeft aan dat plugin-ID de bronplugin is voor plugin die is opgegeven als waarde van deze eigenschap.
- significantVersionDigits: het aantal significante cijfers dat moet worden gebruikt bij het genereren van suffixen voor featureversies (zie Versiekwalificaties.)
- generatedVersionLength: de lengte van het gegenereerde suffix voor de featureversie.
Het volgende voorbeeld is geëxtraheerd uit het bestand build.properties van de feature 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*