110 likes | 226 Views
Packaging and delivering Eclipse based products. Define a product. Products and features Products extension point Customize a product. Products and features. An Eclipse based product Is a stand-alone program built with the Eclipse platform.
E N D
Define a product • Products and features • Products extension point • Customize a product
Products and features • An Eclipse based product • Is a stand-alone program built with the Eclipse platform. • may optionally be packaged and delivered as one or more features, • which are groupings of plug-ins that are managed as a single entity by the Eclipse update mechanisms. • Products include all the code and plug-ins needed to run them. • Including JRE, the Eclipse platform code... • typically installed with a product-specific installation program. • Product providers are free to use any installation tool or program.
Products and features • The platform makes it easy to configure labels, about dialogs, graphics, and splash screens, so that the user has no concept of a platform workbench, but instead views the workbench as the main window of the product itself.
Directory structure of a typical product acmeweb/ acmeweb.exe (product executable) eclipse/ (directory for installed Eclipse files) .eclipseproduct (marker file) eclipse.exe startup.jar configuration/ config.ini jre/ features/ (installed features if any) 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.gif, splash.jpg com.example.acme.acmewebsupport_1.0.0/ ... links/ ...
defining a product in Eclipse • Two ways of defining a product in Eclipse. • use the products extension point (new to Eclipse 3.0). • This extension point allows you to define your product and customize branding such as splash screens, window icons, and the like. • uses features, and in particular assumes the existence of a primary feature. (used in old Eclipse 2.1) • Eclipse 3.0 uses the products extension point mechanism, but provides compatibility functions that integrate the legacy definitions into the new model if necessary. • Even when the products extension point mechanism is used, features can still be used as a way to group functionality that is delivered by the update manager.
Products extension point • The org.eclipse.core.runtime.products extension point is used to define a new product. • plug-in need 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. • is also the technique the Eclipse platform uses to define the Eclipse product.
product extension definition found in org.eclipse.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.gif,eclipse32.gif"/> <property name="aboutImage" value="eclipse_lg.gif"/> <property name="aboutText" value="%productBlurb"/> <property name="appName" value="Eclipse"/> <property name="preferenceCustomization“ value="plugin_customization.ini"/> </product> </extension> declared at next page
<extension id="workbench" point="org.eclipse.core.runtime.applications"> <application> <run class="org.eclipse.ui.internal.ide.IDEApplication"> </run></application> </extension> • 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. • Product customization properties are used to configure the product's branding information.
Customizing a product • Customizable aspects of a product: • splash screen, about dialog text, • window icons, etc. • Mostly defined in the contribution to the org.eclipse.core.runtime.products extension point.