Passos de construção personalizada de funções e de plug-ins
A capacidade de uma função ou de um plug-in contribuir com passos
personalizados para a sua própria construção é uma capacidade nova da versão 3.2.
Estes passos personalizados podem ser utilizados para instrumentar código
de bytes após a compilação, para indexar ficheiros de ajuda da documentação ou
para copiar ficheiros adicionais para um agrupamento.
Para que seja possível utilizar destinos personalizados, a propriedade
customBuildCallbacks terá de ser definida por uma função ou por um
plug-in no respectivo ficheiro build.properties; o valor dessa propriedade é a
localização de um ficheiro xml, relativamente à raiz da função/plug-in, que
contém os destinos personalizados. Os modelos denominados
customBuildCallbacks.xml que contêm os
destinos personalizados suportados são facultados em
org.eclipse.pde.build/templates/plugins e em
org.eclipse.pde.build/templates/features, respectivamente. Estes modelos
podem ser copiados para a função/plug-in e modificados conforme seja necessário.
Os destinos personalizados serão invocados através da utilização da
tarefa subant com failonerror="false", para que a construção continue, caso o
seu ficheiro xml personalizado não contenha um determinado destino ou caso ocorra um erro.
Plug-ins
O build.xml gerado que constrói um plug-in contém vários destinos que
executam tarefas específicas. A Construção de PDE permite que o plug-in
faculte destinos pré e pós personalizados que serão chamados antes e depois de tarefas específicas.
para além das propriedades ant que poderão já estar definidas, cada
destino personalizado pode também receber algumas propriedades específicas.
Os seguintes destinos suportam chamadas de retorno personalizadas:
- build.jars: O destino
build.jars irá invocar sucessivamente cada um dos destinos de compilação que
serão construídos para este agrupamento. Suporta destinos pre.build.jars e post.build.jars que são chamados antes e
depois de todos os destinos de compilação serem chamados. Os destinos pré
e pós são facultados com a propriedade build.result.folder, que
consiste na pasta para onde serão copiados os resultados da construção.
- Destinos de Compilação: O
build.xml define um destino de compilação para cada jar que esteja a ser criado
(por exemplo, @dot para o próprio agrupamento ou library.jar). Cada
destino de compilação suporta 3 chamadas de retorno personalizadas:
- pre.<compilation target>:
Chamado antes de os ficheiros de origem serem compilados. É facultado com as seguintes propriedades:
- target.folder: A pasta em que os ficheiros de classe compilados serão colocados
- source.folder<N>: A(s) pasta(s) de origem que
contém a origem a ser compilada. (por exemplo, source.folder1,
source.folder2, etc).
- <compilation target>.classpath: Uma referência a
uma estrutura de caminho ant que contém o caminho da classe que será utilizado na compilação.
(por exemplo, @dot.classpath, library.jar.classpath)
- post.compile.<compilation
target>: Chamada após a compilação da origem, mas antes de os
ficheiros de classes serem compactados em formato jar ou copiados para a pasta de resultados de construção.
É facultado com as mesmas propriedades do destino pre.<compilation target>.
- post.<compilation
target>: Chamada no fim do destino de compilação após os
resultados serem copiados para a pasta de resultados de construção. É facultado com as seguintes propriedades:
- jar.Location: O jar ou a pasta que contém os resultados da
compilação.
- <compilation target>.classpath: Uma referência a uma
estrutura de caminho ant que tenha sido utilizado na compilação.
- build.sources: Este destino
constrói zips de origem para cada destino de compilação. Suporta destinos
pre.build.sources e
post.build.sources. Ambos os
destinos são facultados com a propriedade build.result.folder, que consiste na
pasta para a qual serão copiados os ficheiros zip de origem.
- gather.bin.parts: Este
destino copia os resultados de construção (ou seja, os jars ou quaisquer outros
ficheiros que estejam a ser incluídos no agrupamento) para o directório destino
final. É também o destino em que os qualificadores de versão são
substituídos no ficheiro de manifesto
(consulte Qualificadores de Versão).
Suporta destinos pre.gather.bin.parts e
post.gather.bin.parts. São
facultadas duas propriedades para os destinos pré e pós:
- build.result.folder: a pasta que contém os resultados de
construção
- target.folder: a pasta de destino para a qual são
copiados os resultados de construção e os conteúdos do agrupamento.
- gather.sources: Este destino
recolhe os zips de origem deste agrupamento. Suporta destinos pre.gather.sources e post.gather.sources. Os destinos pré e
pós são facultados com a propriedade target.folder, que consiste na pasta para
a qual são copiadas as origens.
- gather.logs: Este destino
recolhe os ficheiros de registo da construção. Suporta pre.gather.logs e post.gather.logs. Os destinos pré e pós
são facultados com a destination.temp.folder, que consiste na pasta temporária
para a qual são copiados os ficheiros de registo.
- clean: Este destino executa
uma limpeza. Suporta destinos pre.clean
e post.clean.
Os destinos pré e pós têm as seguintes propriedades:
- plugin.destination: A pasta para a qual foi copiado o
agrupamento final.
- build.result.folder: A pasta para a qual foram copiados
os resultados de construção
- temp.folder: A pasta temporária na qual os resultados
foram organizados antes de serem copiados para o destino final.
Funções
O build.xml gerado para as funções suporta apenas chamadas de retorno de
construção personalizadas para o destino gather.bin.parts. Este destino
invocará o destino gather.bin.parts para todas as funções e plug-ins incluídos.
Suporta pre.gather.bin.parts e post.gather.bin.parts. Ambos os
destinos são facultados com as seguintes propriedades:
- destination.temp.folder: O directório para o qual são
copiados os plug-ins.
- feature.directory: O directório para o qual são copiados
os ficheiros para esta função.