Auto-hospedagem de Projeto Binário

A auto-hospedagem simples é adequada para a maioria das situações independentes e é particularmente bem apropriada para o desenvolvimento em produtos grandes como destinos. Entretanto, existem cenários em que uma solução mais avançada é necessária:

  1. Como os plug-ins externos não estão na área de trabalho, eles não fazem parte do escopo da pesquisa. Portanto, várias pesquisas (para referências da interface e de classe, implementações, etc.) retornam menos resultados do que o esperado. Apenas as bibliotecas externas que fazem parte do caminho de classe dos plug-ins da área de trabalho ficam visíveis para o plug-in Java.

  2. Relacionado ao 1), a pesquisa de código fonte de plug-ins externos só é possível para plug-ins que sejam requeridos pelos plug-ins da área de trabalho. Outros plug-ins não ficam visíveis.

  3. O caminho de classe não é estável. Se você trabalha com vários plug-ins interdependentes na área de trabalho, o PDE expressará essas dependências como referências de projetos. Por outro lado, as dependências de plug-ins externos serão expressas com a variável ECLIPSE_HOME e JARs externos. Se esses projetos forem compartilhados utilizando o repositório, outros desenvolvedores serão forçados a duplicar esse complemento, apesar de não precisarem necessariamente de todos os plug-ins presentes na área de trabalho.

A conclusão óbvia é que, se todos os plug-ins estivessem na área de trabalho, essas deficiências seriam tratadas. A pesquisa funcionaria conforme o esperado, o código fonte ficaria visível para todas as classes e o caminho de classe seria uniforme, isto é, conteria apenas referências de projetos. Entretanto, sempre incluir o produto completo de um repositório compartilhado no formato de origem é proibitivamente lento, tanto para download quando para compilação. Por esse motivo, é apresentada uma noção de projeto binário.

Os projetos binários são projetos de plug-in regulares que não contêm código fonte. Como tal, são ignorados durante a compilação e são utilizados apenas para tratar das deficiências listadas acima. Os plug-ins externos são trazidos para a área de trabalho, através do assistente para importação do PDE.

Antes de importar projetos binários, é importante configurar o PDE para a auto-hospedagem binária. Como não utilizaremos plug-ins externos para referências resolvidas, deveremos desativá-los em Preferências. Depois disso, o assistente para Importação é chamado utilizando Arquivo->Importar...->Plug-ins e Fragmentos Externos

Assistente para Importação de Plug-ins Externos - primeira página

Na maior parte do tempo, você aceitará os valores padrão da primeira página. Por padrão, você está importando plug-ins externos do workbench de tempo de execução de destino, conforme definido nas Preferências. A primeira página do assistente para importação permite alterar a localização do workbench de tempo de execução fornecendo um atalho para a página Desenvolvimento de Plug-in->Plataforma de Destino por meio do botão Alterar....

A importação de projetos binários pode tornar o o espaço de trabalho muito grande e a própria operação de importação poderá consumir muito tempo dependendo do número e conteúdo dos plug-ins que estiverem sendo importados.  Para resolver esses problemas, o PDE introduziu a noção de importação com vinculação.  Se você desmarcar a caixa de opções 'Copiar o Conteúdo do Plug-in para a Localização do Espaço de Trabalho', o PDE não importará o conteúdo dos plug-ins selecionados para o espaço de trabalho.  Em vez disso, ele criará projetos para esses plug-ins em seu espaço de trabalho e criará um recurso vinculado para cada arquivo que deveria ser importado.  Esses recursos vinculados apontam para os arquivos reais na instalação e serão mostrados em seu espaço de trabalho como se fossem explicitamente importados.  Você poderá procurá-los, mas não poderá modificá-los, uma vez que a modificação desses arquivos resultará na modificação dos arquivos originais.  A exclusão de um projeto binário excluirá todos os arquivos vinculados contidos nele.

 

Anexar automaticamente o código fonte a um arquivo JAR e extrair a opção de archives de origem requerem que o PDE localize o arquivo zip que contém a origem.  O PDE tem dois requisitos para esta tarefa:

1. O arquivo zip deve ser nomeado apropriadamente.  Se o nome de biblioteca for xyz.jar, o arquivo zip que contém a origem para essa biblioteca deverá ser nomeado xyzsrc.jar.

2. O arquivo zip deve estar junto ao arquivo JAR ou em uma das localizações declaradas do código fonte. No Eclipse, o código fonte é empacotado em plug-ins separados e as localizações do código fonte são declaradas utilizando o ponto de extensão 'org.eclipse.pde.core.source'.  O PDE passa automaticamente por todas as extensões em sua plataforma de destino, computa todas as localizações do código fonte nessa plataforma e as adiciona à página de preferências Desenvolvimento de Plug-in->Localizações do Código Fonte.

Se você importar de uma localização diferente da plataforma de destino, conforme especificado na página Desenvolvimento de Plug-in->Plataforma de Destino, e seu código fonte for empacotado utilizando os pontos de extensão 'org.eclipse.pde.core.source', certifique-se de adicionar essas localizações do código fonte manualmente à página Desenvolvimento de Plug-in->Localizações do Código Fonte, para que o PDE possa localizar com êxito a origem.

Os caminhos de biblioteca às vezes contêm variáveis, por exemplo, $ws$.  O PDE substitui os valores definidos na página Desenvolvimento de Plug-in->Ambiente de Destino para substituir essas variáveis.  Se esses valores forem incompatíveis com a plataforma a partir da qual você está importando, a primeira página do assistente para importação fornecerá um atalho para essa página de preferências através do botão Alterar..., que permite modificar os valores nessa página de preferências.

Quando Avançar for pressionado, o assistente calculará todos os candidatos à importação e os tornará disponíveis em uma lista de caixas de opções. O conjunto real de plug-ins selecionado depende da maneira com que você auto-hospeda.

Assistente para Importação de Plug-ins Externos - segunda página

Se estiver trabalhando com plug-ins que ainda não estão presentes na plataforma de destino, selecione todas as opções (Selecionar Tudo). Se alguns dos plug-ins da lista já estiverem na área de trabalho no formato de origem, pressione Projetos Existentes e Inverter Seleção. Isso resultará na seleção de todos os plug-ins que ainda não estejam na área de trabalho.

Ao pressionar Concluir, os plug-ins selecionados serão importados para a área de trabalho. O PDE também definirá seu caminho de classe e associará archives de origem a bibliotecas para que possam ser procurados ou depurados.

Quando houver muitos projetos binários na área de trabalho, será difícil distingui-los dos projetos de origem. O PDE fornece duas maneiras complementares para tratar desse problema. Uma é um decorador de rótulo que inclui uma sobreposição de ícone 'binário' no ícone regular do projeto, para marcá-lo claramente como binário. Você pode ativá-lo em Preferências em 'Workbench->Decorações de Rótulos'. Além disso, o PDE contribui com filtro de projeto binário para a exibição Java Explorer. Quando empregado, ele ocultará os projetos binários e deixará apenas aqueles em que você estiver trabalhando.

Projetos binários com sobreposição de ícone no Package Explorer

 

 
Copyright IBM Corporation e outros 2000, 2003