Tuoteominaisuuksien koonti

PDE-koonnissa on infrastruktuuri, jonka avulla voi automatisoida tuoteominaisuuksien koonnin. Suurimman osan tällaisen koonnin edellyttämistä asetuksista voi määrittää tekemällä muutamia muutoksia PDE-koonnin mukana toimitettuun build.properties-mallipohjaan. Seuraavassa osiossa käsitellään yksinkertaisen koonnin asetusten määritystä, jossa oletetaan, että kaikki koottavasta tuoteominaisuudesta käsin viitattavat lisäosat ja tuoteominaisuudet (sekä koottavat että ennalta kootut) ovat jo paikallisesti käytettävissä levyllä.

Perusasetukset

Ensimmäinen vaihe koonnin asetusten määrityksessä on luoda hakemisto, jossa koonti tapahtuu. Jäljempänä kyseisestä hakemistosta käytetään termiä koontihakemisto, ja se sisältää kaikki koottavat lisäosat ja tuoteominaisuudet sekä muodostetut artefaktit. Kopioi seuraavaksi lisäosat ja tuoteominaisuudet mainitussa järjestyksessä plugins- ja features-alihakemistoihin. Feature-kansion oletetaan sisältävän koottavan tuoteominaisuuden.

Toinen vaihe koonnin asetusten määrityksessä on kopioida build.properties-tiedosto kohteesta org.eclipse.pde.build/templates/headless-build uuteen hakemistoon, josta tulee koonnin kokoonpanohakemisto (josta käytetään jäljempänä myös termiä kokoonpanohakemisto). Muokkaa kopioitua build.properties-tiedostoa ja määritä seuraavat ominaisuudet:

Koottavien kohteiden ohjaus: allElements.xml

Kopioi allElements.xml-tiedosto hakemistosta org.eclipse.pde.build/templates/headless-build kokoonpanohakemistoon. Kyseinen tiedosto ilmoittaa PDE-koonnille, minkä tuoteominaisuuden aiot koota.  Tiedosto sisältää kahdenlaisia kohteita:  allElementsDelegator-kohteen, joka määrittää koottavan tuoteominaisuuden ja koontikohteet, joita kutsutaan kokoamaan yksittäisiä kokoonpanoja.  Kohde allElementsDelegator tuoteominaisuudelle nimeltäorg.foo.Feature olisi seuraavanlainen:
 	<target name="allElementsDelegator">
<ant antfile="${genericTargets}" target="${target}">
<property name="type" value="feature" />
<property name="id" value="org.foo.Feature" />
</ant>
</target>
Koontikohteiden avulla voit ohjata lopullisen arkiston nimeä kokoonpanokohtaisesti.  Kullekin koottavalle kokoonpanolle tulee olla oma kohteensa.  Esimerkiksi koottaessa tuoteominaisuutta org.foo.Feature Windows-käyttöjärjestelmälle (kun ominaisuuden configs arvoksi on määritetty win32, win32, x86) kohteen tulee olla seuraavanlainen:
<!--Kohde os=win32, ws=win32, arch=x86 -määritteiselle koonnille -->
<target name="assemble.org.foo.Feature.win32.win32.x86">
<ant antfile="${assembleScriptName}" dir="${buildDirectory}/">
</target>
Käyttöympäristöstä riippumatonta kokoonpanoa koottaessa (kun ominaisuuden configs arvoa ei ole määritetty tai sen arvoksi on määritetty *,*,*) kohteen tulee olla seuraavanlainen:
<!--Käyttöympäristöstä riippumaton koontikohde-->
<target name="assemble.org.foo.Feature">
<ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
</target>

Koonnin ajo

Koonti ajetaan org.elipse.ant.core.antRunner-sovelluksen avulla. Kun Eclipse-ympäristö kutsutaan tämän sovelluksen avulla koonnin suoritusta varten, komentorivillä on määritettävä seuraavat kaksi argumenttia:
Aja antRunner-sovellus seuraavan komennon avulla:
java -jar <eclipseInstall>/startup.jar -application org.eclipse.ant.core.antRunner -buildfile <<eclipseInstall>/plugins/org.eclipse.pde.build_<version>/scripts/build.xml> -Dbuilder=<koontikokoonpanokansion polku>
Kun koonti on valmis, saat tuloksen koontihakemiston kansioon I.TestBuild (kyseisen nimen kokoonpanon voi määrittää määrittämällä buildLabel-ominaisuuden).

Kehittyneet skenaariot

Jos koontia pitää mukauttaa edelleen, esimerkiksi noutamalla kohteita tietovarastoista, lisätietoja on ohjeessa Kehittyneen PDE-koonnin ohjeita.