Tuoteominaisuuksien ja lisäosien mukautetun koonnin vaiheet
Versiossa 3.2 on uusi tuoteominaisuuden tai lisäosan ominaisuus, jonka avulla voi toimittaa mukautettuja vaiheita sen omaan koontiin. Näitä mukautettuja vaiheita voi käyttää esimerkiksi BCI-instrumentointiin käännöksen jälkeen, ohjetiedostojen indeksointiin dokumentaatiota varten tai ylimääräisten tiedostojen kopiointiin resurssijoukkoon.
Mukautettujen kohteiden käyttöä varten tuoteominaisuuden tai lisäosan on määritettävä ominaisuus
customBuildCallbacks build.properties-tiedostossaan. Kyseisen ominaisuuden arvo on xml-tiedoston feature/plug-in-hakemiston juureen nähden suhteellinen sijainti, joka sisältää mukautetut kohteet. Mallipohjat nimeltä customBuildCallbacks.xml, jotka sisältävät tuetut mukautetut kohteet, ovat kohteissa org.eclipse.pde.build/templates/plugins ja org.eclipse.pde.build/templates/features mainitussa järjestyksessä. Kyseisiä mallipohjia voi kopioida feature/plug-in-hakemistoon, ja niitä voi muokata tarpeen mukaan. Mukautettuja kohteita kutsutaan ant-alitehtävällä merkintää failonerror="false" käyttäen, niin että koonti jatkuu, vaikka mukautettu xml-tiedosto ei sisältäisi tiettyä kohdetta tai vaikka koonnissa ilmenisi virheitä.
Lisäosat
Muodostettu lisäosan kokoava build.xml-tiedosto sisältää useita kohteita, jotka suorittavat tiettyjä tehtäviä. PDE-koonnin avulla lisäosa voi toimittaa mukautettuja esi- ja jälkikohteita, joita kutsutaan ennen tiettyjä tehtäviä tai tiettyjen tehtävien jälkeen. Mahdollisten jo määritettyjen ant-ominaisuuksien lisäksi kullekin mukautetulle kohteelle voidaan välittää muutama erityisominaisuus. Seuraavat kohteet tukevat mukautettuja vastakutsuja:
- build.jars: Kohde build.jars kutsuu vuorotellen kunkin kyseiselle resurssijoukolle koottavista käännöskohteista. Se tukee kohteita pre.build.jars ja post.build.jars, jotka kutsutaan ennen kaikkien käännöskohteiden kutsua ja kaikkien käännöskohteiden kutsun jälkeen. Sekä esi- että jälkikohteissa on ominaisuus build.result.folder, joka on kansio, johon koonnin tulokset kopioidaan.
- Käännöskohteet:
Tiedosto build.xml määrittää käännöskohteen kullekin koottavalle jar-arkistolle (esim. kohteen @dot resurssijoukolle itselleen tai kohteen library.jar). Kukin käännöskohde tukee kolmea mukautettua vastakutsua:
- pre.<compilation target>:
Kutsutaan ennen lähdetiedostojen käännöstä. Kyseisessä vastakutsussa on seuraavat ominaisuudet:
- target.folder: Kansio, johon käännetyt luokkatiedostot sijoitetaan
- source.folder<N>: Käännettävän lähteen sisältävä(t) lähdekansio(t). (esim.source.folder1, source.folder2 jne.)
- <compilation target>.classpath: Viittaus ant-polkurakenteeseen, joka sisältää käännöksessä käytettävän luokkapolun. (esim. @dot.classpath ja library.jar.classpath)
- post.compile.<compilation
target>: Kutsutaan lähteen käännöksen jälkeen mutta ennen luokkatiedostojen jar-arkistointia tai kopiointia koonnin tuloskansioon. Kyseisessä vastakutsussa on samat ominaisuudet kuin pre.<compilation target> -kohteessa.
- post.<compilation target>:
Kutsutaan käännöskohteen lopussa, kun tulokset on kopioitu koonnin tuloskansioon. Kyseisessä vastakutsussa on seuraavat ominaisuudet:
- jar.Location: Käännöksen tulokset sisältävä jar-arkisto tai kansio.
- <compilation target>.classpath: Viittaus ant-polkurakenteeseen, joka sisältää käännöksessä käytetyn luokkapolun.
- build.sources: Tämä kohde kokoaa lähteen zip-tiedostot kullekin käännöskohteelle. Se tukee kohteita pre.build.sources
ja post.build.sources. Molemmat näistä kohteista sisältävät ominaisuuden build.result.folder, joka on kansio, johon lähteen zip-tiedostot kopioidaan.
- gather.bin.parts: Tämä kohde kopioi koonnin tulokset (eli jar-arkistot ja mahdolliset muut resurssijoukkoon sisältyvät tiedostot) lopulliseen kohdehakemistoon. Tähän kohteeseen korvataan myös manifest-tiedoston versiotarkenteet (lisätietoja on ohjeessa Versiotarkenteet). Se tukee kohteitapre.gather.bin.parts ja post.gather.bin.parts. Seuraavat kaksi ominaisuutta toimitetaan esi- ja jälkikohteille:
- build.result.folder: koonnin tulokset sisältävä kansio
- target.folder: kohdekansio, johon koonnin tuloksia ja resurssijoukon sisältöä kopioidaan.
- gather.sources: Tämä kohde kerää resurssijoukon zip-lähdetiedostot. Se tukee kohteita pre.gather.sources ja post.gather.sources.
Sekä esi- että jälkikohteissa on ominaisuus target.folder, joka on kansio, johon lähteitä kopioidaan.
- gather.logs: Tämä kohde kerää koonnin lokitiedostot. Se tukee kohteita pre.gather.logs ja post.gather.logs. Sekä esi- että jälkikohteissa on ominaisuus destination.temp.folder, joka on väliaikainen kansio, johon lokitiedostoja kopioidaan.
- clean: Tämä kohde toteuttaa puhdistuksen, ja se tukee kohteitapre.clean ja post.clean.
Esi- ja jälkikohteilla on seuraavat ominaisuudet:
- plugin.destination: Kansio, johon lopullinen resurssijoukko kopioitiin.
- build.result.folder: Kansio, johon koonnin tulokset kopioitiin
- temp.folder: Väliaikainen kansio, johon tulokset tallennettiin paikallisesti, ennen kuin ne kopioitiin lopulliseen kohteeseen.
Tuoteominaisuudet
Tuoteominaisuuksille muodostettu build.xml-tiedosto tukee mukautettuja koonnin vastakutsuja vain gather.bin.parts-kohteen osalta. Kyseinen kohde kutsuu kaikkien sisältyvien tuoteominaisuuksien ja lisäosien gather.bin.parts-kohteen. Se tukee kohteita pre.gather.bin.parts ja post.gather.bin.parts. Näissä kohteissa on molemmissa seuraavat ominaisuudet:
- destination.temp.folder: Hakemisto, johon lisäosat kopioidaan.
- feature.directory: Hakemisto, johon tämän tuoteominaisuuden tiedostot kopioidaan.