El mecanismo preferido para definir un producto basado en la plataforma Eclipse consiste en realizar una adición al punto de extensión org.eclipse.core.runtime.products. Para ello, un conector declara simplemente el nombre y el ID de su producto, así como el ID de la extensión de aplicación que debe ejecutarse cuando se invoque el producto. Esta es la técnica utilizada por la propia plataforma Eclipse al definir el producto Eclipse. La definición de extensión que se encuentra en org.eclipse.platform es la siguiente:
<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>Se define una extensión de producto cuyo ID de aplicación es "org.eclipse.ui.ide.workbench". Este es el ID de aplicación definido por el conector org.eclipse.ui.ide en su contribución al punto de extensión 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 extensión se define con el mismo ID al que se hace referencia en la propiedad application de la extensión del producto. (El nombre totalmente calificado, con el prefijo plug-in, se utiliza al hacer referencia al ID de aplicación desde el otro conector). Mediante este mecanismo, un conector independiente puede definir todas las características personalizadas específicas del producto y, a continuación, hacer referencia a una aplicación de conector existente como la aplicación que se ejecuta realmente cuando se inicia el producto.
Además de la aplicación, la extensión org.eclipse.core.runtime.products describe las propiedades de personalización del producto utilizadas para configurar la información de sello personal del producto. Esta información se describe en forma de propiedades determinadas. Observemos de nuevo la parte del código correspondiente al conector de la 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"/>Los nombres de propiedad posibles indicados por la plataforma para la personalización del producto se definen en IProductConstants. Consulte el javadoc para obtener una descripción completa de estas propiedades y sus valores. Las revisaremos con mayor detalle en la sección Personalizar un producto.