Features bouwen
PDE Build wordt geleverd met infrastructuur voor het automatiseren van het bouwen van features.
De meeste van de instellingen die noodzakelijk zijn voor een dergelijke build, kunnen worden uitgevoerd via een aantal wijzigingen aan de sjabloon build.properties die wordt geleverd in PDE Build. In de volgende sectie richten we ons op het instellen van een eenvoudige build, waarbij wordt aangenomen dat alle plugins en features (zowel te bouwen als vooraf gebouwd) waarnaar vanuit de feature wordt verwezen, al lokaal beschikbaar zijn op schijf.
Basisinstellingen
De eerste stap in het instellen van het build bestaat uit het maken van de directory waarin de build zal worden geplaatst. Deze directory wordt ook de builddirectory genoemd en zal de te bouwen plugins en features bevatten, evenals de gegenereerde artefacten.
Vervolgens kopieert u uw plugins en features naar respectievelijk de subdirectory "plugins" en de subdirectory "features".
Van de featuremap wordt verwacht dat deze de feature bevat die wordt gebouwd.
De tweede stap van het instellen van een build bestaat uit het kopiëren van het sjabloonbestand build.properties van org.eclipse.pde.build/templates/headless-build naar een nieuwe directory, die de buildconfiguratiedirectory (ook wel de configuratiedirectory genoemd) zal zijn. Bewerk het gekopieerde bestand build.properties en stel de volgende eigenschappen in:
- baseLocation: de locatie van een Eclipse-installatie met alle vooraf gebouwde features en plugins in de subdirectory's features/ en plugins/.
- baseos: geeft het besturingssysteem van de Eclipse-installatie aan die is opgegeven door baseLocation.
- basews: geeft de WS van de Eclipse-installatie aan die is opgegeven door baseLocation.
- basearch: geeft de Arch van de Eclipse-installatie aan die is opgegeven door baseLocation.
- buildDirectory:
de directory waarin de build wordt uitgevoerd. Stel deze in op het volledige pad van de builddirectory die eerder is gemaakt.
- configs: vermeldt de
configuraties waarvoor u uw feature wilt bouwen. U kunt de meegeleverde configuratie(s) uitschakelen (wees zorgvuldig met de doorlopende regels). Als de feature die u bouwt platformonafhankelijk is, hoeft deze eigenschap niet te worden ingesteld of kan deze worden ingesteld op *,*,*.
- archivePrefix:
de naam van de directory waarin de feature op schijf wordt uitgepakt vanuit een ZIP-bestand.
Bepalen wat wordt gebouwd: allElements.xml
Kopieer het bestand allElements.xml vanuit
org.eclipse.pde.build/templates/headless-build naar uw configuratiedirectory. Dit is het bestand dat PDE vertelt welke feature u bouwt. Dit bestand bevat twee soorten doelen: de allElementsDelegator, die de feature aangeeft die wordt gebouwd, en de assembleerdoelen die worden aangeroepen om afzonderlijke configuraties te assembleren. De allElementsDelegator voor een feature genaamd org.foo.Feature
is:
<doelnaam="allElementsDelegator">
<ant-bestand="${genericTargets}" target="${target}">
<eigenschapnaam="type" value="feature" />
<eigenschapnaam="id" value="org.foo.Feature" />
</ant>
</target>
Met behulp van de assembleerdoelen kunt u de naam van het definitieve archief per configuratie beheren. U moet voor elke configuratie die u bouwt één doel hebben. Wanneer u bijvoorbeeld
org.foo.Feature
bouwt voor Windows (wanneer configs is ingesteld op win32, win32, x86) moet u het volgende doel hebben:
<!--Doel voor assembleren os=win32, ws=win32, arch=x86 -->
<target name="assemble.org.foo.Feature.win32.win32.x86">
<ant antfile="${assembleScriptName}" dir="${buildDirectory}/">
</target>
Wanneer u een platformonafhankelijke configuratie bouwt (wanneer configs niet is ingesteld of is ingesteld op *,*,*), moet u een doel als een van de volgende doelen hebben:
<!--Het platformonafhankelijke assembleerdoel-->
<target name="assemble.org.foo.Feature">
<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
</target>
De build uitvoeren
Als u de build wilt uitvoeren, gebruikt u de toepassing org.elipse.ant.core.antRunner. Wanneer u Eclipse met deze toepassing aanroept om een build uit te voeren, moet u twee argumenten instellen in de opdrachtregel:
-buildfile=</path/to/build.xml>
: dit is het
pad naar de build.xml die is verstrekt door PDE Build. Deze bevindt zich in de directory org.eclipse.pde.build/scripts. Dit is het buildbestand dat het gehele buildproces aanstuurt.
-Dbuilder=</path/to/configuration folder>
:
dit is het pad naar de buildconfiguratiemap.
Voer de toepassing antRunner uit met behulp van de volgende opdracht:
java -jar
<eclipseInstall>/startup.jar
-application org.eclipse.ant.core.antRunner -buildfile
<<eclipseInstall>/plugins/org.eclipse.pde.build_<version>/scripts/build.xml>
-Dbuilder=<pad naar de buildconfiguratiemap>
Zodra de build is voltooid, kunt u het resultaat bekijken in de builddirectory in de map genaamd I.TestBuild (deze naam kan worden geconfigureerd door de eigenschap buildLabel in te stellen).
Geavanceerde scenario's
Als u de build nog verder wilt aanpassen, dat wil zeggen ophalen uit een repository, raadpleegt u Geavanceerde PDE-buildonderwerpen voor meer informatie.