Tilpas et hovedløst byg

Du kan bruge flere metoder til at tilpasse et hovedløst byg:

Det nøjagtige format på indholdet i disse filer er indbyrdes afhængigt. Når der bruges tilpasninger af customTargets, allElements eller customAssembly, anbefales det derfor at sikre, at alle de skabeloner, der bruges til disse filer, kommer fra samme version af PDE/Build. Nye versioner af PDE/Build er bagudkompatible med gamle versioner af disse tilpasningsscripts.

Skabelonversioner af disse scripts findes i plugin'en org.eclipse.pde.build under folderen templates/headless-build. Du kan bruge tilpasningen ved blot at kopiere skabelonen til biblioteket med din byggekonfiguration og redigere de relevante mål.

customTargets.xml

Scriptet customTargets.xml er til tilpasning på øverste niveau af byggeprocessen. Det stiller Ant-mål til rådighed, der kaldes mellem bygningens større faser. Der findes præ- og postmål for hvert af følgende byggetrin:

Du kan bruge scriptet customTargets.xml ved blot at kopiere det fra biblioteket med PDE/Build-skabeloner til biblioteket med din byggekonfiguration og redigere de relevante Ant-mål. Scriptet registreres automatisk og bruges af det hovedløse byg.

Scriptet customTargets.xml leverer også delegering til scriptet allElements.xml for hver af byggefaserne.

allElements.xml

Scriptet allElements.xml er en slags delegeringsscript, der bruges til at udføre de forskellige byggetrin mod et givet element (som regel en funktion). På samme måde som med customTargets.xml skal du for at bruge tilpasningstrinene kopiere skabelonen fra PDE/Build til biblioteket med din byggekonfiguration. I Eclipse 3.4 kan det målelement, der skal bygges, angives i filen build.properties for byggekonfigurationen på øverste niveau ved hjælp af egenskaberne topLevelElementType og topLevelElementId. topLevelElementType skal angives til feature og topLevelElementId skal indstilles til den funktions-id, du vil bygge.

 	<target name="allElementsDelegator">
 		<ant antfile="${genericTargets}" target="${target}">
	 		<property name="type" value="${topLevelElementType}" />
	 		<property name="id" value="${topLevelElementId}" />
 		</ant>
 	</target>

allElements.xml leverer også mål, der bruges i bygningens assemblerings- og pakkefase. Målet defaultAssemble kaldes for at assemblere arkiverne til alle platforme. Hvis det ønskes, kan der defineres tilpassede mål for bestemte platforme.

Du kan bruge et tilpasset mål til en given platform ved at definere egenskaben assemble.<element-id>[.<config>] og et tilsvarende mål. Egenskaben instruerer PDE/Build om at bruge det tilpassede mål i stedet for standardmålet. Det tilpassede mål kan derefter bruges til at give arkivet et brugerdefineret navn eller foretage før- eller efterbehandling af arkivet.

Eksempel:

	<property name="assemble.org.foo.feature.id.linux.gtk.x86" value="true" />
 	<target name="assemble.org.foo.feature.id.linux.gtk.x86">
 		<property name="archiveName" value="acme-RCP-${buildId}-linux.gtk.x86.tar.gz" />
 		<-- custom pre assemble steps for linux.gtk.x86-->
 		<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
 		<-- custom post assemble steps for linux.gtk.x86-->
 	</target>

customAssembly.xml

Scriptet customAssembly.xml er nyt i 3.4. Det indeholder tilpasningspunkter, der vil blive kaldt under bygningens assemblerings- og pakkefaser. På samme måde som med customTargets.xml og allElements.xml skal du for at bruge tilpasningen kopiere skabelonen fra PDE/Build til biblioteket med din byggekonfiguration.

De assemblerings- og pakkescripts, der genereres af PDE/Build, udfører følgende funktioner:

Assembleringsscriptene håndterer indsamling af de funktioner og plugins, der blev kompileret under bygningen, og pakkescriptene håndterer indsamling af eventuelle prækompilerede binære funktioner og plugins. Scriptet customAssembly.xml stiller følgende mål til rådighed før og efter hvert af ovenstående trin: