Construtores de Projetos Incrementais
Identificador:
org.eclipse.core.resources.builders
Descrição:
O espaço de trabalho suporta a noção de um construtor do projeto
incremental (ou a abreviação "construtor"). O job de um construtor é processar um conjunto de alterações em recursos (fornecido como um delta de recursos). Por exemplo, um construtor Java recompilaria arquivos Java alterados e produziria novos arquivos de classe.
Os construtores são configurados por projeto e são executados automaticamente quando os recursos de seus projetos são alterados. Como tal, os construtores devem ser rápidos e escalados de acordo com a quantidade de alterações e não com o número de recursos no projeto. Isso significa que, geralmente, os construtores são capazes de atualizar seus "estados de criação" de forma incremental.
O ponto de extensão dos construtores permite que o construtor grave os registros
das implementações do construtor sob um nome simbólico que é então utilizado dentro da
área de trabalho para encontrar e executar os construtores. O nome simbólico é o id da extensão do construtor. Ao definir uma extensão do construtor, os usuários são encorajados a incluir um valor legível a seres humanos no atributo "name", o qual identifica seus construtores e potencialmente pode ser apresentado aos usuários.
Marcação de Configuração:
<!ELEMENT extension (builder)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #REQUIRED
name CDATA #IMPLIED>
- point - um identificador completo do ponto de extensão de destino
- id - um identificador opcional da instância de extensão
- name - um nome opcional da instância de extensão
<!ELEMENT builder (run?)>
<!ATTLIST builder
hasNature (true | false)
isConfigurable (true | false) >
- hasNature - "true" ou "false" indicam se o construtor pertence a uma natureza de projeto. Se for "true" e nenhuma natureza correspondente for encontrada, esse construtor não será executado, mas permanecerá na especificação de criação do projeto. Se o atributo não for especificado, presume-se que ele seja "false".
- isConfigurable - "true" ou "false" indicando se o construtor permite a customização de para quais acionadores de construção ele responderá. Se "true", os clientes poderão utilizar a API ICommand.setBuilding para especificar se esse construtor deve ser executado em um acionador específico de construção. Se o atributo não for especificado, presume-se que ele seja "false".
<!ELEMENT run (parameter*)>
<!ATTLIST run
class CDATA #REQUIRED>
- class - o nome completo de uma subclasse de org.eclipse.core.resources.IncrementalProjectBuilder.
<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
- name - o nome desse parâmetro disponibilizado para as ocorrências das classes de construtores especificadas.
- value - um valor arbitrário associado ao nome dado e disponibilizado para as ocorrências da classe de construtor especificada.
Exemplos:
A seguir um exemplo da configuração do construtor:
<extension id=
"coolbuilder"
name=
"Cool Builder"
point=
"org.eclipse.core.resources.builders"
>
<builder hasNature=
"false"
>
<run class=
"com.xyz.builders.Cool"
>
<parameter name=
"optimize"
value=
"true"
/>
<parameter name=
"comment"
value=
"Produced by the Cool Builder"
/>
</run>
</builder>
</extension>
Se esta extensão foi definida em um plug-in com id "com.xyz.coolplugin",
o nome completo deste construtor seria "com.xyz.coolplugin.coolbuilder".
Informações de API:
O valor do atributo de classe deve representar uma subclasse de org.eclipse.core.resources.IncrementalProjectBuilder.
Implementação Fornecida:
A plataforma não têm construtores predefinidos. Instalações do produto especiais podem incluir construtores, conforme pedido.
Direitos Autorais (c) 2002, 2005 IBM Corporation e outros.
Todos os direitos reservados.
Este programa e os materiais que o acompanham são disponibilizados
sob os termos da Eclipse Public License v1.0 que acompanha esta
distribuição e estão disponíveis no endereço http://www.eclipse.org/legal/epl-v10.html