| 1 |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| 2 |
<html> |
<html> |
|
|
|
| 3 |
<head> |
<head> |
| 4 |
|
|
| 5 |
<meta http-equiv="Content-Language" content="en-us"> |
<meta http-equiv="Content-Language" content="en-us"> |
| 6 |
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> |
|
| 7 |
|
<meta http-equiv="Content-Type" |
| 8 |
|
content="text/html; charset=windows-1252"> |
| 9 |
|
|
| 10 |
<meta name="GENERATOR" content="Microsoft FrontPage 4.0"> |
<meta name="GENERATOR" content="Microsoft FrontPage 4.0"> |
| 11 |
|
|
| 12 |
<meta name="ProgId" content="FrontPage.Editor.Document"> |
<meta name="ProgId" content="FrontPage.Editor.Document"> |
| 13 |
<title>Eclipse-based Products and Extensions</title> |
<title>Eclipse-based Products and Extensions</title> |
| 14 |
</head> |
</head> |
|
|
|
| 15 |
<body> |
<body> |
| 16 |
|
|
| 17 |
<h1> Eclipse-based Products and Extensions</h1> |
<h1> Eclipse-based Products and Extensions</h1> |
| 18 |
<p>Last modified 14:00 Friday June 21, 2002</p> |
|
| 19 |
<p>Eclipse technology is the foundation of, and provides building blocks for, |
<p>Last modified 16:00 Friday December 06, 2002<br> |
| 20 |
products aimed at the software development tools market. Commercial software |
</p> |
| 21 |
vendors are expected to build, brand, and package products using the Eclipse |
<p><b>Change History:</b> </p> |
| 22 |
platform as the nucleus, to sell these products into the development tools |
|
| 23 |
marketplace, and to support them once in the field.</p> |
<ul> |
| 24 |
<p>The Eclipse platform itself is not a "product" in any of these |
<li><small>2.0.1</small><small><br> |
| 25 |
senses. Eclipse is an open source project that provides raw ingredients without |
</small> |
| 26 |
box, label, or price tag. The closest that the Eclipse project gets to a |
<ul> |
| 27 |
packaged form is the Eclipse SDK, which can be downloaded from <a href="http://www.eclipse.org">eclipse.org</a>, |
<li><small>added: <big><code>feature.default.plugin.id</code></big></small></li> |
| 28 |
installed, and used as a full-service Java IDE which also happens to include |
</ul> |
| 29 |
special support for developing Eclipse plug-ins (PDE).</p> |
</li> |
| 30 |
<p>This note describes how the Eclipse platform is designed to be turned into products. |
</ul> |
| 31 |
The license governing the Eclipse platform gives a software vendor almost |
|
| 32 |
complete freedom over how to built a product. So anyone building a product is |
<p>Eclipse technology is the foundation of, and provides building blocks |
| 33 |
free to ignore this advice. However, as is often the case with standards, |
for, products aimed at the software development tools market. Commercial |
| 34 |
adhering to the same rules as everyone else has its rewards: it fosters greater |
software vendors are expected to build, brand, and package products using |
| 35 |
interoperability between products, and makes it easier for the end user because |
the Eclipse platform as the nucleus, to sell these products into the development |
| 36 |
different products behave in similar ways.</p> |
tools marketplace, and to support them once in the field.</p> |
| 37 |
<p>Eclipse plug-ins are intended to packaged and delivered to the customer into |
|
| 38 |
one of two forms: either as self-contained Eclipse-based products, or as add-on |
<p>The Eclipse platform itself is not a "product" in any of these senses. |
| 39 |
extensions to Eclipse-based products. We'll first explain what we mean by |
Eclipse is an open source project that provides raw ingredients without box, |
| 40 |
Eclipse-based product since it is the more basic notion.</p> |
label, or price tag. The closest that the Eclipse project gets to a packaged |
| 41 |
|
form is the Eclipse SDK, which can be downloaded from <a |
| 42 |
|
href="http://www.eclipse.org">eclipse.org</a>, installed, and used as a |
| 43 |
|
full-service Java IDE which also happens to include special support for developing |
| 44 |
|
Eclipse plug-ins (PDE).</p> |
| 45 |
|
|
| 46 |
|
<p>This note describes how the Eclipse platform is designed to be turned |
| 47 |
|
into products. The license governing the Eclipse platform gives a software |
| 48 |
|
vendor almost complete freedom over how to built a product. So anyone building |
| 49 |
|
a product is free to ignore this advice. However, as is often the case with |
| 50 |
|
standards, adhering to the same rules as everyone else has its rewards: it |
| 51 |
|
fosters greater interoperability between products, and makes it easier for |
| 52 |
|
the end user because different products behave in similar ways.</p> |
| 53 |
|
|
| 54 |
|
<p>Eclipse plug-ins are intended to packaged and delivered to the customer |
| 55 |
|
into one of two forms: either as self-contained Eclipse-based products, or |
| 56 |
|
as add-on extensions to Eclipse-based products. We'll first explain what |
| 57 |
|
we mean by Eclipse-based product since it is the more basic notion.</p> |
| 58 |
|
|
| 59 |
<h2>Eclipse-based products</h2> |
<h2>Eclipse-based products</h2> |
| 60 |
|
|
| 61 |
<p>An Eclipse-based <b>product</b> is a stand-alone program build with Eclipse. |
<p>An Eclipse-based <b>product</b> is a stand-alone program build with Eclipse. |
| 62 |
Products are self-contained in that all code and plug-ins needed to get up and |
Products are self-contained in that all code and plug-ins needed to get up |
| 63 |
running are included; this includes a Java runtime environment (JRE), and the |
and running are included; this includes a Java runtime environment (JRE), |
| 64 |
code for the Eclipse platform itself. After installing a product on a computer |
and the code for the Eclipse platform itself. After installing a product |
| 65 |
with a conventional native installer, the user launches the product (via its |
on a computer with a conventional native installer, the user launches the |
| 66 |
product executable) and is presented with an Eclipse workbench configured |
product (via its product executable) and is presented with an Eclipse workbench |
| 67 |
appropriately for the purposes that product was designed to support (be it |
configured appropriately for the purposes that product was designed to support |
| 68 |
developing enterprise web servers, developing C++ programs, or developing |
(be it developing enterprise web servers, developing C++ programs, or developing |
| 69 |
whatever). Products are intended to be updated, either with a conventional |
whatever). Products are intended to be updated, either with a conventional |
| 70 |
native installer, or with the build-in Eclipse update manager, which is always |
native installer, or with the build-in Eclipse update manager, which is always |
| 71 |
available to the user from the Eclipse workbench ("Update Manager" on |
available to the user from the Eclipse workbench ("Update Manager" on the |
| 72 |
the "Help" menu).</p> |
"Help" menu).</p> |
| 73 |
<p>If we looked more closely at how the Eclipse parts of the product are |
|
| 74 |
organized, we would see that all plug-ins that go into a product are grouped |
<p>If we looked more closely at how the Eclipse parts of the product are organized, |
| 75 |
into <b>features</b>. "Feature" is an Eclipse update manager notion: a |
we would see that all plug-ins that go into a product are grouped into <b>features</b>. |
| 76 |
feature is the smallest unit of separately downloadable and installable |
"Feature" is an Eclipse update manager notion: a feature is the smallest |
| 77 |
functionality. Features also play a secondary role in how the Eclipse platform |
unit of separately downloadable and installable functionality. Features also |
| 78 |
runs.</p> |
play a secondary role in how the Eclipse platform runs.</p> |
| 79 |
|
|
| 80 |
<p>To make things a bit more concrete, the top level structure of an installed |
<p>To make things a bit more concrete, the top level structure of an installed |
| 81 |
Eclipse-based product looks like this (italics indicate product-specific file |
Eclipse-based product looks like this (italics indicate product-specific |
| 82 |
names): </p> |
file names): </p> |
| 83 |
|
|
| 84 |
<p><code><<i>install</i>>/<br> |
<p><code><<i>install</i>>/<br> |
| 85 |
<i>acmeproduct</i>.exe </code>product |
<i>acmeproduct</i>.exe </code>product executable<code><br> |
| 86 |
executable<code><br> |
eclipse/ </code>container for installed Eclipse files<code><br> |
| 87 |
|
.eclipseproduct </code>marker for Eclipse product install<code><br> |
| 88 |
eclipse/ |
eclipse.exe </code>Eclipse executable launcher<code><br> |
| 89 |
</code>container for installed Eclipse files<code><br> |
startup.jar </code>Eclipse Java launcher<code><br> |
| 90 |
.eclipseproduct </code>marker |
install.ini </code>install info<code><br> |
| 91 |
for Eclipse product install<code><br> |
.config/ </code>install info (computed at install time |
| 92 |
eclipse.exe |
with -initialize option)<code><br> |
| 93 |
</code>Eclipse executable launcher<code><br> |
platform.cfg </code>default platform configuration<code><br> |
| 94 |
startup.jar |
jre/ </code>Java runtime environment (JRE)<code><br> |
| 95 |
</code>Eclipse Java launcher<code><br> |
features/ </code>installed feature versions<code><br> |
| 96 |
install.ini |
<i>com.example.acme.acmefeature</i>_<i>1.0.0</i>/ </code>primary |
| 97 |
</code>install info<code><br> |
feature for product<code><br> |
| 98 |
.config/ |
feature.xml </code>feature manifest |
| 99 |
</code>install info (computed at install time with -initialize option)<code><br> |
file<code><br> |
| 100 |
platform.cfg |
org.eclipse.platform_2.0.0/ </code>feature for Eclipse |
| 101 |
</code>default platform configuration<code><br> |
platform<code><br> |
| 102 |
jre/ |
org.eclipse.platform.win32_2.0.0/ </code>feature for Eclipse |
| 103 |
</code>Java runtime environment (JRE)<code><br> |
platform<code><br> |
| 104 |
|
plugins/ </code>installed plug-ins and |
| 105 |
features/ |
fragment versions<code><br> |
| 106 |
</code>installed feature versions<code><br> |
</code> <code> <i>com.example.acme.acmefeature</i>_<i>1.0.0</i>/ |
|
<i>com.example.acme.acmefeature</i>_<i>1.0.0</i>/ |
|
|
</code>primary feature for product<code><br> |
|
|
feature.xml |
|
|
</code>feature manifest file<code><br> |
|
|
org.eclipse.platform_2.0.0/ |
|
|
</code>feature for Eclipse platform<code><br> |
|
|
org.eclipse.platform.win32_2.0.0/ |
|
|
</code>feature for Eclipse platform<code><br> |
|
|
plugins/ |
|
|
</code>installed plug-ins and fragment versions<code><br> |
|
|
</code> <code> <i>com.example.acme.acmefeature</i>_<i>1.0.0</i>/ |
|
| 107 |
</code>product-specific plug-in<code><br> |
</code>product-specific plug-in<code><br> |
| 108 |
plugin.xml |
plugin.xml </code>plug-in manifest |
| 109 |
</code>plug-in manifest file<code><br> |
file<code><br> |
| 110 |
about.ini |
about.ini </code>about info for |
| 111 |
</code>about info for product<code><br> |
product<code><br> |
| 112 |
<i>acme</i>.gif |
<i>acme</i>.gif </code>window |
| 113 |
</code>window icon for product<code><br> |
icon for product<code><br> |
| 114 |
plugin_customization.ini |
plugin_customization.ini </code>about info for |
| 115 |
</code>about info for product<code><br> |
product<code><br> |
| 116 |
splash.png |
splash.png </code>product splash |
| 117 |
</code>product splash screen<code><br> |
screen<code><br> |
| 118 |
</code> <code> <i>com.example.acme.myplugin</i>_<i>1.0.0</i>/ |
</code> <code> <i>com.example.acme.myplugin</i>_<i>1.0.0</i>/ |
| 119 |
</code>product-specific plug-in <code><br> |
</code>product-specific plug-in <code><br> |
| 120 |
plugin.xml |
plugin.xml </code>plug-in manifest |
| 121 |
</code>plug-in manifest file <code><br> |
file <code><br> |
| 122 |
<i>myplugin</i>.jar |
<i>myplugin</i>.jar </code>code for |
| 123 |
</code>code for product-specific plug-in<code><br> |
product-specific plug-in<code><br> |
| 124 |
org.eclipse.platform_2.0.0/ |
org.eclipse.platform_2.0.0/ </code>Eclipse platform |
| 125 |
</code>Eclipse platform plug-in<code><br> |
plug-in<code><br> |
| 126 |
org.eclipse.platform.win32_2.0.0/ |
org.eclipse.platform.win32_2.0.0/ </code>Eclipse platform |
| 127 |
</code>Eclipse platform plug-in<code><br> |
plug-in<code><br> |
| 128 |
org.eclipse.core.boot_2.0.0/ |
org.eclipse.core.boot_2.0.0/ </code>Eclipse platform |
| 129 |
</code>Eclipse platform plug-in<code><br> |
plug-in<code><br> |
| 130 |
org.eclipse.core.runtime_2.0.0/ |
org.eclipse.core.runtime_2.0.0/ </code>Eclipse platform |
| 131 |
</code>Eclipse platform plug-in<code><br> |
plug-in<code><br> |
| 132 |
org.eclipse.core.resources_2.0.0/ |
org.eclipse.core.resources_2.0.0/ </code>Eclipse platform |
| 133 |
</code>Eclipse platform plug-in<code><br> |
plug-in<code><br> |
| 134 |
org.eclipse.ui_2.0.0/ |
org.eclipse.ui_2.0.0/ </code>Eclipse platform |
| 135 |
</code>Eclipse platform plug-in<code><br> |
plug-in<code><br> |
| 136 |
(more org.eclipse.* plug-in directories)<br> |
(more org.eclipse.* plug-in directories)<br> |
| 137 |
|
links/ </code>links to extensions |
| 138 |
links/ |
(see next section)<code><br> |
| 139 |
</code>links to extensions (see next section)<code><br> |
<i>com.example.wiley.anvilfeature</i>.link </code>link to separately-installed |
| 140 |
<i>com.example.wiley.anvilfeature</i>.link |
extension<code><br> |
|
</code>link to separately-installed extension<code><br> |
|
| 141 |
</code></p> |
</code></p> |
| 142 |
<p>Each product should partition its own plug-ins into one or more features. The |
|
| 143 |
Eclipse platform itself is partitioned into three major features, Platform, JDT, |
<p>Each product should partition its own plug-ins into one or more features. |
| 144 |
and PDE. There are also a bunch of lesser features, including documentation, |
The Eclipse platform itself is partitioned into three major features, Platform, |
| 145 |
examples, and OS-dependent portions of Platform. The binary distribution of the |
JDT, and PDE. There are also a bunch of lesser features, including documentation, |
| 146 |
Eclipse 2.0 release makes each of these features available as a separate zip. |
examples, and OS-dependent portions of Platform. The binary distribution |
| 147 |
This allow a product packager to download and unzip just the pieces needed for a |
of the Eclipse 2.0 release makes each of these features available as a separate |
| 148 |
particular product offering.</p> |
zip. This allow a product packager to download and unzip just the pieces |
| 149 |
|
needed for a particular product offering.</p> |
| 150 |
|
|
| 151 |
<p>To the user, an installed product usually shows up on the desktop as a |
<p>To the user, an installed product usually shows up on the desktop as a |
| 152 |
shortcut. Opening the shortcut starts the product. For a simple product that |
shortcut. Opening the shortcut starts the product. For a simple product that |
| 153 |
does nothing other than run an Eclipse workbench, the shortcut target is the |
does nothing other than run an Eclipse workbench, the shortcut target is |
| 154 |
Eclipse executable launcher (<code><<i>install</i>>/eclipse/eclipse.exe</code>). |
the Eclipse executable launcher (<code><<i>install</i>>/eclipse/eclipse.exe</code>). |
| 155 |
For products that have other things to do as well, the shortcut targets the |
For products that have other things to do as well, the shortcut targets the |
| 156 |
product's own executable (<code><<i>install</i>>/<i>acmeproduct</i>.exe</code>), |
product's own executable (<code><<i>install</i>>/<i>acmeproduct</i>.exe</code>), |
| 157 |
which invokes <code>eclipse.exe</code> at some point.</p> |
which invokes <code>eclipse.exe</code> at some point.</p> |
| 158 |
<p>Whenever the Eclipse platform is run, exactly one feature gets to control the |
Whenever the Eclipse platform is run, exactly one feature gets to control |
| 159 |
overall personality of the Eclipse platform. This is the called the product's <b>primary |
the overall personality of the Eclipse platform. This is the called the product's |
| 160 |
feature</b>, and it controls highly visible things including the splash screen, |
<b>primary feature</b>, and it controls highly visible things including the |
| 161 |
window branding images, the about box, the welcome page, the default |
splash screen, window branding images, the about box, the welcome page, the |
| 162 |
perspective, and customization of the default settings of plug-in preferences. The typical product has |
default perspective, and customization of the default settings of plug-in |
| 163 |
just one eligible primary feature, and it is determined by the "<code>feature.default.id</code>" |
preferences. The typical product has just one eligible primary feature, and |
| 164 |
property of the product's <code>install.ini</code> file. If there are multiple |
it is determined by the "<code>feature.default.id</code>" property of the |
| 165 |
eligible primary features, the <code>-feature</code> |
product's <code>install.ini</code> file. If there are multiple eligible primary |
| 166 |
command line option to <code>eclipse.exe</code> overrides the choice made in the |
features, the <code>-feature</code> command line option to <code>eclipse.exe</code> |
| 167 |
<code>install.ini</code>. </p> |
overrides the choice made in the <code>install.ini</code>. If the property |
| 168 |
|
"<code>feature.default.plugin.id</code>" exists, it declares the identifier |
| 169 |
|
of the primary plugin. If the property does not exist, the primary plugin |
| 170 |
|
must have the exact same identifier as the primary feature. |
| 171 |
<p>Summary of characteristics of products:</p> |
<p>Summary of characteristics of products:</p> |
| 172 |
|
|
| 173 |
<ul> |
<ul> |
| 174 |
<li>a product is installed in a single directory tree</li> |
<li>a product is installed in a single directory tree</li> |
| 175 |
<li>a product includes copies of the org.eclipse.* plug-ins that it needs</li> |
<li>a product includes copies of the org.eclipse.* plug-ins that it needs</li> |
| 177 |
in a product install</li> |
in a product install</li> |
| 178 |
<li>a products is installed and uninstalled by a native installer only</li> |
<li>a products is installed and uninstalled by a native installer only</li> |
| 179 |
<li>more than one product may be installed on the same computer</li> |
<li>more than one product may be installed on the same computer</li> |
| 180 |
<li>a product is installed, updated, and uninstalled independently of other |
<li>a product is installed, updated, and uninstalled independently of |
| 181 |
Eclipse-based products</li> |
other Eclipse-based products</li> |
| 182 |
<li>a product is updated by a native installer or by the Eclipse update |
<li>a product is updated by a native installer or by the Eclipse update |
| 183 |
manager</li> |
manager</li> |
| 184 |
<li>a product can have one or more primary features, and any number of other |
<li>a product can have one or more primary features, and any number of |
| 185 |
features</li> |
other features</li> |
| 186 |
<li>a primary feature determines the Eclipse workbench overall appearance and |
<li>a primary feature determines the Eclipse workbench overall appearance |
| 187 |
personality</li> |
and personality</li> |
| 188 |
<li>the default primary feature is specified in the product-specific |
<li>the default primary feature is specified in the product-specific |
| 189 |
install.ini file</li> |
install.ini file</li> |
| 190 |
<li>the update manager can update the features and plug-ins installed with the |
<li>the update manager can update the features and plug-ins installed |
| 191 |
product</li> |
with the product</li> |
| 192 |
<li>the update manager can install and configure additional features and |
<li>the update manager can install and configure additional features and |
| 193 |
plug-ins into the product</li> |
plug-ins into the product</li> |
| 194 |
|
|
| 195 |
</ul> |
</ul> |
| 196 |
|
|
| 197 |
<h2>Extensions to Eclipse-based products</h2> |
<h2>Extensions to Eclipse-based products</h2> |
| 198 |
|
|
| 199 |
<p>An <b>extension</b> is bundle of Eclipse-based features designed to be |
<p>An <b>extension</b> is bundle of Eclipse-based features designed to be |
| 200 |
installed separately and used with any Eclipse-based product. In contrast to a product, |
installed separately and used with any Eclipse-based product. In contrast |
| 201 |
an extension includes neither eligible primary features, nor a copy of the Eclipse platform, nor its own JRE.</p> |
to a product, an extension includes neither eligible primary features, nor |
| 202 |
|
a copy of the Eclipse platform, nor its own JRE.</p> |
| 203 |
|
|
| 204 |
<p>The same installed base of files for an extension can be used from several |
<p>The same installed base of files for an extension can be used from several |
| 205 |
Eclipse-based products. This means an extension only needs to be updated in one |
Eclipse-based products. This means an extension only needs to be updated |
| 206 |
place, while having the updated features available to all products linked to that extension.</p> |
in one place, while having the updated features available to all products |
| 207 |
<p>To keep things concrete, the top level structure of an installed |
linked to that extension.</p> |
| 208 |
Eclipse-based extension looks like this: </p> |
|
| 209 |
|
<p>To keep things concrete, the top level structure of an installed Eclipse-based |
| 210 |
|
extension looks like this: </p> |
| 211 |
|
|
| 212 |
<p><code><<i>extension install</i>>/<br> |
<p><code><<i>extension install</i>>/<br> |
| 213 |
|
eclipse/ </code>container for installed Eclipse files<code><br> |
| 214 |
eclipse/ |
.eclipseextension </code>marker for Eclipse extension install<code><br> |
| 215 |
</code>container for installed Eclipse files<code><br> |
features/ </code>installed feature versions<code><br> |
| 216 |
.eclipseextension </code>marker |
<i>com.example.wiley.anvilfeature</i>_<i>1.0.0</i>/ </code>feature |
| 217 |
for Eclipse extension install<code><br> |
for extension<code><br> |
| 218 |
|
feature.xml </code>feature manifest |
| 219 |
features/ |
file<code><br> |
| 220 |
</code>installed feature versions<code><br> |
plugins/ </code>installed plug-ins and |
| 221 |
<i>com.example.wiley.anvilfeature</i>_<i>1.0.0</i>/ |
fragment versions<code><br> |
| 222 |
</code>feature for extension<code><br> |
</code> <code> <i>com.example.wiley.anvilfeature</i>_<i>1.0.0</i>/ |
|
feature.xml |
|
|
</code>feature manifest file<code><br> |
|
|
plugins/ |
|
|
</code>installed plug-ins and fragment versions<code><br> |
|
|
</code> <code> <i>com.example.wiley.anvilfeature</i>_<i>1.0.0</i>/ |
|
| 223 |
</code>extension-specific plug-in<code><br> |
</code>extension-specific plug-in<code><br> |
| 224 |
plugin.xml |
plugin.xml </code>plug-in manifest |
| 225 |
</code>plug-in manifest file<code><br> |
file<code><br> |
| 226 |
about.ini |
about.ini </code>about info for |
| 227 |
</code>about info for feature<code><br> |
feature<code><br> |
| 228 |
</code> <code> <i>com.example.wiley.otherplugin</i>_<i>1.0.0</i>/ |
</code> <code> <i>com.example.wiley.otherplugin</i>_<i>1.0.0</i>/ |
| 229 |
</code>extension-specific plug-in <code><br> |
</code>extension-specific plug-in <code><br> |
| 230 |
plugin.xml |
plugin.xml </code>plug-in manifest |
| 231 |
</code>plug-in manifest file <code><br> |
file <code><br> |
| 232 |
<i>otherplugin</i>.jar |
<i>otherplugin</i>.jar </code>code for |
| 233 |
</code>code for extension-specific plug-in</p> |
extension-specific plug-in</p> |
| 234 |
|
|
| 235 |
<p>Characteristics of extensions:</p> |
<p>Characteristics of extensions:</p> |
| 236 |
|
|
| 237 |
<ul> |
<ul> |
| 238 |
<li>an extension is installed in a single directory tree (separate from |
<li>an extension is installed in a single directory tree (separate from |
| 239 |
products or other extensions)</li> |
products or other extensions)</li> |
| 240 |
<li>an extension does not include a copy of the Eclipse platform plug-ins, a |
<li>an extension does not include a copy of the Eclipse platform plug-ins, |
| 241 |
JRE, or an executable</li> |
a JRE, or an executable</li> |
| 242 |
<li>OS-dependent code for multiple operating environment can sit side-by-side |
<li>OS-dependent code for multiple operating environment can sit side-by-side |
| 243 |
in an extension install</li> |
in an extension install</li> |
| 244 |
<li>an extension is installed and uninstalled by a native installer only</li> |
<li>an extension is installed and uninstalled by a native installer only</li> |
| 245 |
<li>more than one extension may be installed on the same computer</li> |
<li>more than one extension may be installed on the same computer</li> |
| 246 |
<li>an extension is installed, updated, and uninstalled independently of other |
<li>an extension is installed, updated, and uninstalled independently |
| 247 |
Eclipse-based products</li> |
of other Eclipse-based products</li> |
| 248 |
<li>an extension is updated by a native installer or by the Eclipse update |
<li>an extension is updated by a native installer or by the Eclipse update |
| 249 |
manager</li> |
manager</li> |
| 250 |
<li>a product can have one or more features</li> |
<li>a product can have one or more features</li> |
| 251 |
<li>an extension does not define primary features</li> |
<li>an extension does not define primary features</li> |
| 252 |
<li>to be useful, an extension must be associated with an Eclipse-based |
<li>to be useful, an extension must be associated with an Eclipse-based |
| 253 |
product</li> |
product</li> |
| 254 |
<li>an extension can be associated with one or more products at the time the |
<li>an extension can be associated with one or more products at the time |
| 255 |
extension is installed</li> |
the extension is installed</li> |
| 256 |
<li>an extension can be associated with a product via the update manager</li> |
<li>an extension can be associated with a product via the update manager</li> |
| 257 |
<li>the update manager can update the features and plug-ins installed with the |
<li>the update manager can update the features and plug-ins installed |
| 258 |
extension</li> |
with the extension</li> |
| 259 |
<li>the update manager can install and configure additional features and |
<li>the update manager can install and configure additional features and |
| 260 |
plug-ins into the extension</li> |
plug-ins into the extension</li> |
|
</ul> |
|
| 261 |
|
|
| 262 |
|
</ul> |
| 263 |
|
<br> |
| 264 |
</body> |
</body> |
|
|
|
| 265 |
</html> |
</html> |