| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html lang="en"> |
| <HEAD> |
| |
| <meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2016. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." > |
| |
| <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> |
| <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> |
| |
| <LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css"> |
| <TITLE>Products extension point</TITLE> |
| |
| <link rel="stylesheet" type="text/css" HREF="../book.css"> |
| </HEAD> |
| <BODY BGCOLOR="#ffffff"> |
| <h3>Products extension point</h3> |
| <p>The preferred mechanism for defining a product based on the Eclipse platform |
| is to contribute to the |
| <a href="../reference/extension-points/org_eclipse_core_runtime_products.html"><b>org.eclipse.core.runtime.products</b></a> |
| extension point. To do this, a plug-in simply declares the name and id of its |
| product, |
| as |
| well as the id of the application extension that should be run when the product |
| is |
| invoked. This is the technique used by the Eclipse |
| platform itself in defining the Eclipse product. Here is the extension definition |
| found in <b>org.eclipse.platform</b>:</p> |
| <pre><extension id="ide" point="org.eclipse.core.runtime.products"> |
| <<b>product name="%productName" application="org.eclipse.ui.ide.workbench" description="%productBlurb"</b>> |
| <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> </pre> |
| A product extension is defined whose <b>application</b> id is "org.eclipse.ui.ide.workbench". |
| This is the application id defined by the plug-in <b>org.eclipse.ui.ide</b> in |
| its |
| contribution to the <a href="../reference/extension-points/org_eclipse_core_runtime_applications.html"><b>org.eclipse.core.runtime.applications</b></a> |
| extension point. |
| |
| <pre> |
| <extension |
| <b>id="workbench"</b> |
| point="org.eclipse.core.runtime.applications"> |
| <application> |
| <run |
| class="org.eclipse.ui.internal.ide.IDEApplication"> |
| </run> |
| </application> |
| </extension> |
| </pre> |
| <p> |
| This extension is defined with the same id that is referenced in the <b>application</b> property |
| of the product extension. (The fully qualified name, with plug-in prefix, is |
| used when referring to the |
| application id from the other plug-in.) Using this mechanism, a separate plug-in |
| can define all of the product-specific branding, and then refer to an existing |
| plug-in's application as the application that |
| is actually run when the product is started. |
| </p> |
| <p> |
| In addition to the application, the <a href="../reference/extension-points/org_eclipse_core_runtime_products.html"><b>org.eclipse.core.runtime.products</b></a> |
| extension describes product customization properties that are used to configure the product's branding information. |
| This information is described as named properties. Let's look again at that portion of the markup for the |
| platform plug-in.</p> |
| <pre> <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"/> </pre> |
| The possible property names that are honored by the platform for product customization are defined in |
| <b><a href="../reference/api/org/eclipse/ui/branding/IProductConstants.html">IProductConstants</a></b>. |
| See the javadoc for a complete description of these properties and their values. We'll look at these |
| further in <a href="product_configproduct.htm">Customizing a product</a>. |
| </p> |
| <p> |
| Product customization properties are also used by other platform services such as to |
| <a href="ua_intro_universal_contributing.htm">configure the Universal Welcome/Intro</a>. |
| </p> |
| |
| </BODY> |
| </HTML> |