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:

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:
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.