Kroky vlastního sestavení funkce a modulu plug-in
Ve verzi 3.2 je nově schopnost funkce nebo modulu plug-in přispívat
vlastními kroky do svého vlastního sestavení. Tyto vlastní kroky lze
používat např. k přípravě mezikódu po kompilaci, indexaci souborů nápovědy
pro dokumentaci nebo kopírování dalších souborů do balíku.
Chcete-li používat vlastní cíle, funkce nebo modul plug-in musí ve svém souboru build.properties definovat vlastnost customBuildCallbacks. Hodnotou této vlastnosti je umístění souboru xml, který obsahuje vlastní cíle, vzhledem ke kořenovému adresáři funkce/modulu plug-in. Šablony s názvem
customBuildCallbacks.xml
obsahující podporované vlastní cíle jsou poskytnuty v
org.eclipse.pde.build/templates/plugins, respektive
org.eclipse.pde.build/templates/features. Tyto šablony
lze zkopírovat do vaší funkce/modulu plug-in a podle potřeby
upravit. Vlastní cíle budou vyvolány pomocí úlohy subant
s failonerror="false", takže sestavení bude pokračovat, i když váš
vlastní soubor xml nebude obsahovat určitý cíl nebo dojde k chybě.
Moduly plug-in
Generovaný build.xml, který sestavuje modul plug-in, obsahuje několik cílů
provádějících konkrétní úlohy. Sestavení PDE umožňuje modulu plug-in
poskytovat vlastní předběžné a následné cíle, které budou vyvolány před,
resp. po konkrétních úlohách. Kromě libovolných vlastností nástroje Ant,
které již mohou být definovány, lze každému vlastnímu cíli předat několik
specifických vlastností. Následující cíle podporují vlastní zpětná
volání:
- build.jars: Cíl
build.jars postupně vyvolá všechny cíle kompilace, které budou v rámci
tohoto balíku sestaveny. Podporuje cíle pre.build.jars a post.build.jars, které
jsou volány před a po volání všech cílů kompilace.
Předběžný i následný cíl obsahuje vlastnost build.result.folder,
což je složka, do které budou zkopírovány výsledky sestavení.
- Cíle kompilace:
Build.xml definuje cíl kompilace pro každý sestavovaný soubor jar (např.
@dot pro samotný balík nebo library.jar). Každý cíl kompilace
podporuje 3 vlastní zpětná volání:
- pre.<cíl kompilace>:
Volaný před kompilací zdrojových souborů. Obsahuje následující
vlastnosti:
- target.folder: Složka, do které budou umístěny soubory zkompilovaných tříd
- source.folder<N>: Zdrojová složka (složky) obsahující zdroj ke kompilaci. (např. source.folder1, source.folder2 atd.)
- <compilation target>.classpath: Odkaz na strukturu cesty nástroje Ant obsahující cestu ke třídě, která bude použita při kompilaci. (např. @dot.classpath, library.jar.classpath)
- post.compile.<compilation target>: Volaný po kompilaci zdroje, ale
dříve, než jsou soubory třídy zabaleny do souborů JAR nebo zkopírovány
do složky výsledků sestavení.
Obsahuje stejné vlastnosti jako cíl pre.<compilation target>.
- post.<compilation target>:
Volaný na konci cíle kompilace po zkopírování výsledků do složky výsledků
sestavení. Obsahuje následující vlastnosti:
- jar.Location: Soubor jar nebo složka obsahující
výsledky kompilace.
- <compilation target>.classpath: Odkaz na strukturu cesty nástroje Ant
obsahující cestu ke třídě, která byla použita při kompilaci.
- build.sources: Tento
cíl sestaví zdrojové soubory zip pro každý z cílů
kompilace. Podporuje cíle pre.build.sources
a post.build.sources. Oba tyto cíle obsahují vlastnost build.result.folder, což je složka, do které budou zkopírovány zdrojové soubory zip.
- gather.bin.parts:
Tento cíl zkopíruje výsledky sestavení (tj. soubory JAR a všechny ostatní soubory
zahrnované do balíku) do konečného adresáře místa určení.
Je to rovněž cíl, kde jsou nahrazeny kvalifikátory verzí v souboru
s manifestem (viz téma Kvalifikátory verzí). Podporuje cíle pre.gather.bin.parts
a post.gather.bin.parts. Předběžný a následný cíl obsahuje dvě vlastnosti:
- build.result.folder: složka obsahující výsledky sestavení
- target.folder: cílová složka, do které jsou kopírovány výsledky sestavení a obsah balíku.
- gather.sources: Tento
cíl shromažďuje zdrojové soubory zip pro balík. Podporuje cíle pre.gather.sources a post.gather.sources.
Předběžný i následný cíl obsahuje vlastnost target.folder property, což je složka, do které jsou kopírovány zdroje.
- gather.logs: Tento
cíl získává protokolové soubory ze sestavení. Podporuje cíle pre.gather.logs a post.gather.logs. Předběžný i následný
cíl obsahuje vlastnost destination.temp.folder, což je dočasná složka, do které jsou kopírovány protokolové soubory.
- clean: Tento cíl provádí čištění, podporuje cílepre.clean
a post.clean.
Předběžný i následný cíl obsahuje následující vlastnosti:
- plugin.destination: Složka, do které byl zkopírován konečný balík.
- build.result.folder: Složka, do které byly zkopírovány výsledky sestavení.
- temp.folder: Dočasná složka, kde byly fázovány výsledky před zkopírováním do konečného místa určení.
Funkce
Generovaný build.xml pro funkce podporuje zpětná volání vlastního sestavení pouze pro cíl gather.bin.parts. Tento cíl bude vyvolávat cíl gather.bin.parts všech zahrnutých funkcí a modulů plug-in. Podporuje pre.gather.bin.parts a
post.gather.bin.parts. Oba tyto cíle obsahují následující
vlastnosti:
- destination.temp.folder: Adresář, do kterého budou zkopírovány moduly plug-in.
- feature.directory: Adresář, do kterého budou zkopírovány soubory pro tuto funkci.