Buscando nos Repositórios
A infra-estrutura oferecida pelo Build PDE fornece etapas para buscar o
código-fonte para construir a partir de um repositório como parte do processo de build.
Duas possibilidades estão disponíveis: permitir ao build PDE buscar automaticamente a
origem ou buscar manualmente o código-fonte.
Busca de Código-fonte Automatizado a partir do CVS
Uma vez determinado o identificador de um recurso que precisa ser construído, a
infra-estrutura do build está apta a buscar a partir do CVS todos os recursos e
plug-ins incluídos.
Para saber de onde é possível obter informações, o PDE utiliza arquivos de mapeamento. Um
arquivo de mapeamento é um arquivo de propriedades Java que mapeia IDs de recurso e de plug-in
para um local e uma tag em um repositório. O formato de uma entrada do formato para
busca a partir do CVS é:
<elementType>@<elementID> = CVS, <TAG>, <CVSROOT>[,<PASSWORD>[,<PATH>[,<CVSPASSFILE>]]]
em que elementType é bundle, feature,
plug-in ou fragment.
Se o caminho não for especificado, o nome do elemento será então utilizado como
módulo CVS, por exemplo:
plugin@org.foo.bar=CVS,v20060501,:pserver:anonymous@cvs.example.org:/cvsroot/foo
buscará o plug-in org.foo.bar que foi rotulado
com
a tag
v20060501 de cvs.eclipse.org/cvsroot/foo/org.foo.bar
Configurando a Busca de Origem CVS
Para configurar a busca de sua origem a partir do CVS, você deve fazer o seguinte:
- Certifique-se de que exista um cvs.exe no caminho da procura do sistema.
(Faça download do CVS aqui).
- Crie uma pasta chamada mapas no diretório de build.
- Crie um arquivo com a extensão .map na pasta mapas.
- Preencha esse arquivo de mapeamento com todos os elementos que precisam ser
buscados a partir de um repositório.
- Edite o arquivo build.properties a partir da pasta de configuração e
inclua um indicador de comentário na linha skipFetch=true. Se essa propriedade
for configurada, o build PDE ignorará a fase inteira de busca. Se você
desejar que a tag especificada nos arquivos de mapeamento seja ignorada, poderá
configurar a propriedade fetchTag para um valor específico. Isso será útil ao
fazer um build noturno a partir de HEAD em vez das versões rotuladas com tags.
Obtendo os Arquivos de Mapeamento a partir do CVS
Os arquivos de mapeamento são geralmente armazenados em um repositório. O Build PDE oferece uma
infra-estrutura padrão para obter esses arquivos de mapeamento a partir de um repositório CVS.
Para permitir que isso funcione, altere as seguintes propriedades no
build.properties de sua configuração a partir do diretório de configuração:
- skipMaps: Inclua um indicador
de comentário para esta propriedade. Se essa propriedade for configurada, o build PDE
não buscará os arquivos de mapeamento.
- mapsRepo =
:pserver:anonymous@example.com/path/to/repo. O repositório CVS
a partir do qual os arquivos de mapeamento serão obtidos.
- mapsRoot =
/path/to/maps. O caminho no repositório CVS para o diretório
que contém os arquivos de mapeamento.
- mapsCheckoutTag =
HEAD. A tag CVS a ser utilizada para efetuar o registro de saída dos arquivos de mapeamento.
A busca dos arquivos de mapeamento a partir do CVS ocorre durante a fase de
Pré-Build. Os scripts para
buscar todos os recursos e plug-ins incluídos no recurso que você está
construído serão gerados e executados
durante a fase de busca do build.
Busca Automática de Outros Repositórios
O Build PDE fornece um ponto de extensão no qual os geradores de script de busca
para
diferentes repositórios podem ser conectados. Quando a sua instalação
do eclipse contém um pacote configurável que fornece uma extensão de gerador de script
para um tipo diferente de repositório, você você utilizar esse repositório
especificando-o em suas entradas do arquivo de mapeamento:
<elementType>@<elementID> = <REPOSITORY>, <TAG>, [...]
O formato da entrada do mapa após a
TAG dependerá da extensão.
Se você estiver buscando automaticamente os arquivos de mapeamento
a partir do repositório, precisará copiar o arquivo customTarget.xml
do org.eclipse.pde.build/templates/headless-build para seu diretório de
configuração. O destino getMapFiles é utilizado para buscar os
arquivos de mapeamento; isso deve ser modificado para busca a partir de seu repositório.
Obtendo Manualmente o Código-fonte
Você pode gravar destinos de busca customizada para recuperar seus plug-ins e
recursos que podem ser chamados a partir dos
destinos preSetup ou postSetup no arquivo customTargets.xml.
Os recursos e plug-ins devem
ser buscados, respectivamente, para
${buildDirectory}/features
e
${buildDirectory}/plugins.