Ponto de extensão do produto

O mecanismo preferencial para definir um produto baseado na plataforma Eclipse consiste em contribuir para o ponto de extensão org.eclipse.core.runtime.products. Nesse sentido, um plug-in declara simplesmente o nome e o ID do seu produto, bem como o ID da extensão de aplicação que deve ser executada quando o produto for invocado. Esta é a técnica usada pela própria plataforma Eclipse na definição do produto Eclipse. De seguida é apresentada a extensão da definição encontrada em org.eclipse.ui.platform :

<extension id="ide" point="org.eclipse.core.runtime.products"> 
	<product name="%productName" application="org.eclipse.ui.ide.workbench" description="%productBlurb"> 
		<property name="windowImages" value="eclipse.png,eclipse32.png"/> 
		<property name="aboutImage" value="eclipse_lg.png"/> 
		<property name="aboutText" value="%productBlurb"/> 
		<property name="appName" value="Eclipse"/> 
		<property name="preferenceCustomization" value="plugin_customization.ini"/> 
	</product> 
</extension>
Uma extensão de produto é definida cujo ID de aplicação seja "org.eclipse.ui.ide.workbench". Este é o ID de aplicação definido pelo plug-in org.eclipse.ui.ide no seu contributo para o ponto de extensão org.eclipse.core.runtime.applications.
<extension
	id="workbench"
	point="org.eclipse.core.runtime.applications">
	<application>
		<run
			class="org.eclipse.ui.internal.ide.IDEApplication">
		</run>
	</application>
</extension>

Esta extensão é definida com o mesmo ID que é referenciado na propriedade application da extensão do produto. (O nome totalmente qualificado, com prefixo de plug-in, é utilizado quando se remete para o ID da aplicação a partir do outro plug-in.) Com este mecanismo, um plug-in separado pode definir todas as marcas específicas ao produto, e depois remeter para a aplicação de um plug-in existente como aplicação que é realmente executada quando o produto é iniciado.

Além da aplicação, a extensão org.eclipse.core.runtime.products descreve propriedades de personalização do produto que são usadas para configurar as informações sobre a marca do produto. Estas informações são descritas como propriedades denominadas. Vejamos novamente aquela parte da marcação para o plug-in da plataforma.

	<property name="windowImages" value="eclipse.png,eclipse32.png"/> 
	<property name="aboutImage" value="eclipse_lg.png"/> 
	<property name="aboutText" value="%productBlurb"/> 
	<property name="appName" value="Eclipse"/> 
	<property name="preferenceCustomization" value="plugin_customization.ini"/> 
Os possíveis nomes de propriedades que são honrados pela plataforma para personalização do produto estão definidos em IProductConstants. Consulte o javadoc para uma descrição completa destas propriedades e respectivos valores. Veremos mais sobre isto em Personalizar um produto.