Szolgáltatások és bedolgozók egyéni összeépítési lépései
A 3.2-es verzió újdonsága, hogy egy szolgáltatás vagy bedolgozó
hozzájárulhat egyéni lépésekkel a saját összeépítéséhez. Ezek
az egyéni lépések használhatók például fordítás utáni byte-kód
felkészítésre, súgófájlok indexelésére a dokumentációhoz vagy további
fájlok kötegbe másolására.
Egyéni célok használatához a szolgáltatásnak vagy bedolgozónak meg kell
határoznia a customBuildCallbacks tulajdonságot a
build.properties fájljában; a tulajdonság értéke egy egyéni célokat
tartalmazó xml fájl helyét adja meg a
szolgáltatáshoz/bedolgozóhoz viszonyítva. A támogatott
egyéni célokat tartalmazó
customBuildCallbacks.xml sablonok
az org.eclipse.pde.build/templates/plugins és
org.eclipse.pde.build/templates/features könyvtárakban
találhatók. A sablonokat átmásolhatja a szolgáltatásba vagy
bedolgozóba, és igényei szerint módosíthatja. Az egyéni célok a
subant feladatta lesznek meghívva failonerror="false" beállítással, így
az összeépítés akkor is folytatódik, ha az egyéni xml fájl nem tartalmaz
egy adott célt vagy valamilyen hiba történik.
Bedolgozók
Egy bedolgozót összeépítő előállított build.xml fájl számos célt
tartalmaz, amelyek kiépít feladatokat hajtanak végre. A PDE
összeépítés lehetővé teszi, hogy a bedolgozó egyéni elő- és utócélokat
adjon meg, amelyek bizonyos feladatok előtt és után kerülnek
meghívásra. A korábban esetleg meghatározott ant tulajdonságokon
kívül mindegyik egyéni célnak át kell adni néhány tulajdonságot. A
következő célok támogatják az egyéni visszahívásokat:
- build.jars: A
build.jars cél sorban meghívja mindegyik fordítási célt, ami
összeépítésre kerül ehhez a köteghez. Támogatja a pre.build.jars és post.build.jars célokat, amelyek az
összes fordítási cél meghívása előtt vagy után kerülnek meghívásra.
Az elő- és utócélok is a build.result.folder tulajdonsággal
vannak megadva, ami az a mappa, amelyikbe az összeépítés eredménye be
lesz másolva.
- Fordítási célok:
A build.xml meghatároz egy fordítási célt mindegyik összeépített jar
fájlhoz (például @dot magához a köteghez, vagy library.jar).
Mindegyik fordítási cél 3 egyéni visszahívást támogat:
- pre.<fordítási_cél>:
A forrásfájlok fordítása előtt kerül meghívásra. A következő
tulajdonságokkal van megadva:
- target.folder: A mappa, ahol a lefordított
osztályfájlok el lesznek helyezve
- source.folder<N>: A fordítani kívánt
forrást tartalmazó forrásmappák. (például: source.folder1,
source.folder2, stb.).
- <fordítási_cél>.classpath: Hivatkozás az
Ant útvonalszerkezetére, amely a fordításhoz használt osztályútvonalat
tartalmazza. (például: @dot.classpath,
library.jar.classpath)
-
post.compile.<fordítási_cél>:
A forrás fordítása után kerül meghívásra, de még azelőtt, hogy az
osztályfájlok jar fájlba kerülnének vagy át lennének másolva az
összeépítés eredménymappájába.
Ugyanazokkal a tulajdonságokkal van megadva, mint a
pre.<fordítási_cél> cél.
- post.<fordítási_cél>:
A fordítási cél befejeződésekor kerül meghívásra, miután az
eredmények át lettek másolva az összeépítés eredménymappájába. A
következő tulajdonságokkal van megadva:
- jar.Location: A fordítás eredményét tartalmazó jar fájl
vagy mappa.
- <compilation target>.classpath: Hivatkozás az
Ant útvonalszerkezetére, amely a fordításhoz használt osztályútvonalat
tartalmazza.
- build.sources: Ez a
cél a forrás zip fájlokat építi összes mindegyik fordítási célhoz.
A pre.build.sources
és post.build.sources
célokat támogatja. Mindkét cél a build.result.folder
tulajdonsággal van megadva, ami az a mappa, amelyikbe a forrás zip
fájlok át lesznek másolva.
- gather.bin.parts:
Ez a cél átmásolja az összeépítési eredményeket (azaz a jar fájlokat és a
kötegben tartalmazott minden más fájlt) a végleges célkönyvtárba.
Szintén ebben a célban kerülnek lecserélésre a verzió minősítők a
leírófájlban (lásd: Verzió
minősítők). A
pre.gather.bin.parts és post.gather.bin.parts
célokat támogatja. Az elő- és utócélok két tulajdonsággal
rendelkeznek:
- build.result.folder: az összeépítés eredményét
tartalmazó mappa
- target.folder: a célmappa, amelyikbe az összeépítés
eredménye és a köteg tartalma át lesz másolva.
- gather.sources: Ez a cél
összegyűjti a köteg forrás zip fájljait. A pre.gather.sources és post.gather.sources célokat támogatja.
Az elő- és utócélok is a target.folder tulajdonsággal vannak
megadva, ami az a mappa, amelyikbe a források át lesznek másolva.
- gather.logs: Ez a
cél összegyűjti a naplófájlokat az összeépítésből. A
pre.gather.logs és post.gather.logs célokat támogatja.
Az elő- és utócélok is a destination.temp.folder tulajdonsággal
vannak megadva, ami az az ideiglenes mappa, amelyikbe a naplófájlok át
lesznek másolva.
- clean: Ez a cél
takarítást végez, és a pre.clean
és post.clean célokat
támogatja.
Az elő- és utócélok a következő tulajdonságokat támogatják:
- plugin.destination: A mappa, amelyikbe a végleges
köteg át lett másolva.
- build.result.folder: A mappa, amelyikbe az
összeépítés eredménye át lett másolva.
- temp.folder: Az ideiglenes mappa, amelyikben az
eredmények várakoznak, mielőtt át lennének másolva a végleges célhelyre.
Szolgáltatások
A szolgáltatásokhoz előállított build.xml csak a gather.bin.parts cél
egyéni összeépítési visszahívásait támogatja. Ez a cél meg fogja
hívni az összes tartalmazott szolgáltatás és bedolgozó gather.bin.parts
célját. A pre.gather.bin.parts és post.gather.bin.parts célokat
támogatja. Mindkét cél a következő tulajdonságokkal van
megadva:
- destination.temp.folder: A könyvtár, amelyikbe a
bedolgozók át lesznek másolva.
- feature.directory: A könyvtár, amelyikbe a
szolgáltatás fájljai át lesznek másolva.