Propriedades da Configuração da Construção de Funções e de Plug-ins
O mecanismo de construção é orientado por uma configuração de construção. A configuração da construção para um plug-in, fragmento ou função individual encontra-se no ficheiro build.properties para o elemento correspondente.
Os assistentes de criação de projectos do PDE geram o ficheiro build.properties quando são criados projectos de
plug-in. O ficheiro contém informações sobre o modo de compilação de pastas origem em JARs. Estas informações podem ser actualizadas indirectamente na página Tempo de Execução do editor de manifestos. Também podem ser directamente modificadas através do editor apropriado.
O PDE proporciona um editor simples para o ficheiro build.properties que tem vistas de formulário e origem.
O próprio ficheiro respeita o formato das propriedades Java. É necessário indicar várias chaves e valores correspondentes. Os vários valores são separados por vírgula como delimitador.
Propriedades comuns
- bin.includes - enumera ficheiros que serão incluídos na versão binária do plug-in que estiver a ser construído;
- bin.excludes - enumera ficheiros a excluir da construção binária;
- qualifier - quando o número da versão do elemento termina em .qualifier, tal indica qual o valor que deve substituir ".qualifier". O valor da propriedade pode ser contexto, <valor> ou nenhum.
Contexto irá gerar uma data segundo a data do sistema ou irá utilizar os controlos CVS quando a construção for automatizada. O valor é um valor real.
Ao seleccionar none irá remover o ".qualifier". Se a propriedade for omitida, será usado contexto.
- custom=true - indica que o script da construção é manual, ao invés de gerado automaticamente. Por conseguinte, não é consultado nenhum outro valor.
- customBuildCallbacks - indica um
ficheiro xml que contém destinos personalizados para utilizar durante a
utilização desta função/plug-in. (Consulte
Passos de Construção Personalizada de Funções e Plug-ins)
Propriedades específicas de plug-in
- source.<library> - enumera pastas origem que serão compiladas (p.ex., source.xyz.jar=src/, src-ant/).
Se a biblioteca estiver especificada no plug-in.xml ou no manifest.mf, o valor
deverá corresponder;
- output.<library> - enumera a pasta de saída de dados que recebe o resultado da compilação;
- exclude.<library> - enumera os ficheiros que não devem ser
copiados para a biblioteca pelo compilador;
- extra.<library> - caminhos de classes adicionais utilizados para realizar a construção automatizada. Os caminhos de classes podem ser caminhos relativos ou URLs de plataformas que remetem para plug-ins e fragmentos do ambiente de desenvolvimento (p.ex., ../meuplugin/xyz.jar, plataforma:/plugins/org.apache.ant/ant.jar).
Recomenda-se os URLs de plataformas ao invés de caminhos relativos;
- manifest.<library> - indica o ficheiro que será usado como manifesto para a biblioteca. O ficheiro deve encontrar-se numa das pastas origem que estiver a ser usada como entrada de dados do JAR.
- src.includes - enumera ficheiros a incluir na construção origem;
- src.excludes - enumera ficheiros a excluir da construção origem;
- jars.extra.classpath - (abandonado) mesmo efeito que extra.<library>, salvo nas entradas que são aplicadas a todas as bibliotecas;
- jars.compile.order - define a ordem pela qual os JARs devem ser compilados (caso existam várias bibliotecas).
- jre.compilation.profile -
define o ambiente utilizado para compilar este agrupamento. (Consulte Controlar o Ambiente de Compilação)
- javacSource - define o nível de
compatibilidade de origem para compilar este agrupamento. Substitui jre.compilation.profile.
- javacTarget - define o nível de
compatibilidade da .class de destino para compilar este agrupamento. Substitui jre.compilation.profile.
- bootClasspath - define o caminho
da classe de arranque com o qual se compila este agrupamento. Substitui jre.compilation.profile.
- javacWarnings.<library>
- define as opções de aviso para transmitir o compilador. (Consulte a
opção -warn em Compilar Código
Java no Manual do Programador do Plug-in JDT).
-
javacDefaultEncoding.<library> -
define a codificação predefinida para utilizar ao compilar a biblioteca em questão.
-
javacCustomEncodings.<library> -
uma lista separada por vírgulas de caminhos e codificações a utilizar ao
compilar a biblioteca em questão. Exemplo:
javacCustomEncodings.library.jar = src/org/foo[US-ASCII],
src/org/foo/bar.java[ISO-8859-1]
Os valores definidos para estas chaves que terminam em "includes" ou "excludes" são expressos enquanto "patterns" (padrões) Ant. Os formatos da norma produzem os resultados esperados.
Por exemplo, "*.jar" indica todos os ficheiros jar no directório
de nível superior. Por predefinição, os padrões não são profundos. Se quiser descrever todos os ficheiros Java, por exemplo, deverá usar o padrão "**/*.java".
O padrão "**" corresponde a qualquer número de níveis de directório. Do mesmo modo, para descrever sub-árvores inteiras, utilize "xyz/".
Propriedades específicas de função
- root - enumera os ficheiros e as pastas que devem ser incluídos na raiz do produto.
Os valores diferentes suportados são:
- <folderName> - um caminho relativo para uma pasta a ser copiada;
- <fileName> - um caminho relativo para um ficheiro a ser copiado;
- <folderName> - um caminho absoluto para uma pasta a ser copiada;
- <fileName> - um caminho absoluto para um ficheiro a ser copiado;
- root.<config> - enumera os ficheiros e as pastas que devem
ser incluídos na raiz do produto, quando for construído para a configuração
especificada. config é composto pelos três (3) segmentos de uma configuração,
separados por pontos;
- root.permissions.<permissionValue> - enumera os ficheiros e
as pastas to chmod ao valor indicado. A referência às pastas deve terminar por "/";
- root.permissions.<config>.<permissionValue> - enumera os ficheiros e as pastas to chmod ao valor indicado para uma configuração específica. A referência às pastas deve terminar por "/";
- root.link - enumera aos pares (separados por vírgula) os ficheiros e as pastas que necessitam de ser simbolicamente ligados. A primeira entrada indica a origem (destino na terminologia UNIX) e a segunda entrada o nome da ligação;
- root.link.<config> - lista separada por vírgulas de pares de ficheiros e pastas que necessitam de ser simbolicamente ligados para uma configuração específica. A primeira entrada indica a origem (destino na terminologia UNIX) e a segunda entrada o nome da ligação;
- generate.feature@<featureId> - indica que a função origem featureId será a função origem da função indicada como valor desta propriedade.
Os valores enumerados após a primeira vírgula indica os elementos a serem
buscados a partir do repositório; (Consulte
geração de Plug-ins e Funções)
- generate.plugin@<pluginId> - indica que o plug-in origem pluginId será o plug-in origem do plug-in indicado como valor desta propriedade.
- significantVersionDigits - O
número de dígitos significativos utilizados ao gerar sufixos de versões da
função (Consulte Qualificadores de Versão)
- generatedVersionLength -
O comprimento do sufixo da versão da função gerado.
O exemplo seguinte foi extraído do ficheiro build.properties da função org.eclipse.platform.
bin.includes=epl-v10.html,eclipse_update_120.jpg,feature.xml,feature.properties,license.html
root=rootfiles,file:../../plugins/org.eclipse.platform/startup.jar,configuration/
root.permissions.755=eclipse
root.linux.motif.x86=../../plugins/platform-launcher/bin/linux/motif,linux.motif
root.linux.motif.x86.link=libXm.so.2.1,libXm.so.2,libXm.so.2.1,libXm.so
root.linux.motif.x86.permissions.755=*.so*