Product extensions
An extension 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.
The following directory structure shows how an extension for a hypothetical
product, betterwebs, could be used to extend the function of the acmeweb
product.
betterwebs/
eclipse/ (directory for installed Eclipse files)
.eclipseextension (marker file)
features/ (installed features)
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/
The relationship between an extension and the product that it is designed to
enhance is set up in the links directory of the original product.
Recall the following directory in the acmeweb product:
acmeweb/
...
eclipse/ (directory for installed Eclipse files)
...
jre/
features/ (installed features)
...
plugins/
...
links/
com.example.betterwebs.betterfeature.link
When an extension is installed, it creates a link file in the links
directory of any product that it is intending to extend. This link file
makes the original product aware of the existence of the extension.
Installing and uninstalling extensions
The install process for extensions is similar to that for products except for
the following differences:
- Determine which already-installed product is to be extended (by asking the
user or searching the computer for the appropriate marker file)
- Create an .eclipseextension marker file (instead of an .eclipseproduct
marker file). The format and content are similar to the product
markers.
- Create a link file for the extension and write it into the links
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 java.io.Properties format file which defines the path
to the installed extension.
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.
Additional information on installing extensions can be found in
Howto write an Eclipse installer.