Produtos e funções

Um produto baseado em Eclipse é um programa autónomo construído com a plataforma Eclipse. Um produto poderá opcionalmente constituir um pacote e ser disponibilizado como uma ou mais funções, as quais são simples agrupamentos de plug-ins que são geridos como entidade única pelos mecanismos de actualização do Eclipse.

Os produtos incluem todo o código e plug-ins necessários para os executar.  Isto inclui um Java runtime environment (JRE) e o código da plataforma Eclipse.   O código do plug-in, o JRE e a plataforma Eclipse geralmente são instalados com um programa de instalação específico ao produto.  Os fornecedores de produtos são livres de utilizar qualquer ferramenta ou programa de instalação que seja apropriado às suas necessidades.  

Uma vez instalado, o utilizador lança o produto e depara com uma área de trabalho Eclipse configurada especificamente para a finalidade suportada pelo produto como, por exemplo, desenvolvimento Web, desenvolvimento de programas em C++ ou outra finalidade.  A plataforma facilita a configuração de etiquetas, caixas de diálogo Acerca, imagens gráficas e ecrãs de boas-vindas, de modo que o utilizador não tem o conceito de área de trabalho de plataforma, mas em contrapartida vê a área de trabalho como janela principal do próprio produto.

A estrutura de directórios de nível superior de tal produto assemelha-se ao seguinte, para um produto hipotético chamado "AcmeWeb" que tenha sido instalado numa plataforma Windows:

acmeweb/
	acmeweb.exe		(executável do produto)
	eclipse/		(directório para ficheiros Eclipse instalados)
		.eclipseproduct	(ficheiro marcador)
		eclipse.exe	
		startup.jar		
		configuration/	
			config.ini
		jre/
		features/	(funções instaladas, se as houver)
			com.example.acme.acmefeature_1.0.0/
				feature.xml
			...
		plugins/
			com.example.acme.acmefeature_1.0.0/
				plugin.xml
				about.ini
				about.html
				about.mappings
				about.properties
				acme.png
				splash.jpg
			com.example.acme.acmewebsupport_1.0.0/
			...
		links/
			...

Na realidade, há duas formas de definir um produto em Eclipse. O mecanismo preferencial consiste em utilizar o ponto de extensão do produto. Este ponto de extensão permite definir o produto e personalizar a marca como, por exemplo, ecrãs de boas-vindas, ícones de janela e afins. O mecanismo antigo (usado no Eclipse 2.1) utiliza funções e parte do princípio que existe uma função principal. Abaixo da superfície, o Eclipse utiliza o mecanismo de ponto de extensão do produto, mas proporciona funcionalidades de compatibilidade que integram as definições anteriores no novo modelo, caso seja necessário.

Veremos ambos os mecanismos e como são utilizados para personalizar um produto. Mesmo quando se utiliza o mecanismo de ponto de extensão do produto, ainda se podem usar funções como forma de agrupar funcionalidades que sejam oferecidas pelo gestor de actualizações. Nos tópicos seguintes, partiremos do princípio de que o nosso plug-in tem presentes agrupamentos de funções, além das definições do produto.