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.