| <!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, 2011. 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"> |
| <script language="JavaScript" src="PLUGINS_ROOT/org.eclipse.help/livehelp.js" type="text/javascript"></script> |
| <TITLE>Product extensions</TITLE> |
| |
| <link rel="stylesheet" type="text/css" HREF="../book.css"> |
| </HEAD> |
| <BODY BGCOLOR="#ffffff"> |
| <h2>Product extensions</h2> |
| <p>An <b>extension</b> is a set of Eclipse features and plug-ins that are |
| designed to extend the functionality of already-installed Eclipse based |
| products. Extensions are installed separately, but used only in |
| conjunction with other Eclipse based products. This means that an extension does not |
| need to install a JRE, the Eclipse platform, or a primary feature. The |
| recommended directory structure for extensions allows a single installation to be |
| used with multiple Eclipse based products.</p> |
| <p>The following directory structure shows how an extension for a hypothetical |
| product, <b>betterwebs</b>, could be used to extend the functionality of the <b>acmeweb</b> |
| product.</p> |
| <pre>betterwebs/ |
| eclipse/ <i>(directory for installed Eclipse files)</i> |
| .eclipseextension (marker file) |
| features/ <i>(installed features)</i> |
| com.example.betterwebs.betterfeature_1.0.0/ |
| feature.xml |
| plugins/ |
| com.example.betterwebs.betterfeature_1.0.0/ |
| plugin.xml |
| about.html |
| com.example.betterwebs.betterwebsupport_1.0.0/ |
| </pre> |
| |
| <p>The relationship between an extension and the product that it is designed to |
| enhance is set up in the <b>links</b> directory of the original product. |
| Recall the following directory in the acmeweb product:</p> |
| <pre>acmeweb/ |
| ... |
| eclipse/ <i>(directory for installed Eclipse files)</i> |
| ... |
| jre/ |
| features/ <i>(installed features)</i> |
| ... |
| plugins/ |
| ... |
| <b> links/ |
| </b> com.example.betterwebs.betterfeature.link</pre> |
| |
| <p>When an extension is installed, it creates a link file in the <b>links</b> |
| directory of any product that it is intending to extend. This link file |
| makes the original product aware of the existence of the extension.</p> |
| |
| <h3>Installing and uninstalling extensions</h3> |
| |
| <p>The install process for extensions is similar to that for products except for |
| the following differences:</p> |
| |
| <ul> |
| <li>Determine which already-installed product is to be extended (by asking the |
| user or searching the computer for the appropriate marker file)</li> |
| <li>Create an <b>.eclipseextension</b> marker file (instead of an <b>.eclipseproduct</b> |
| marker file). The format and content are similar to the product |
| markers.</li> |
| <li>Create a link file for the extension and write it into the <b>links</b> |
| directory of the associated product. The link file has the same name |
| as the extension's feature directory without the version suffix. The |
| link file is a <b>java.util.Properties </b>format file which defines the path |
| to the installed extension.</li> |
| </ul> |
| <p>The uninstall process for extensions is similar to that for products except |
| that the uninstall must remove the link file from any products where it added |
| one. </p> |
| <p>Additional information on installing extensions can be found in <a href="../reference/misc/eclipse-install.html">How |
| to write an Eclipse installer</a>.</p> |
| |
| </BODY> |
| </HTML> |