| 14 |
|
|
| 15 |
<h1> Eclipse Platform<br> |
<h1> Eclipse Platform<br> |
| 16 |
Update Packaging Conventions</h1> |
Update Packaging Conventions</h1> |
| 17 |
<font size="-1">Revision Date: 01/22/2003 9:56AM - Version: |
<font size="-1">Revision Date: 01/27/2003 9:00AM - Version: |
| 18 |
2.0.18</font><br> |
2.0.19</font><br> |
| 19 |
<a href="../../../../../hglegal.htm"><img src="ngibmcpy.gif" |
<a href="../../../../../hglegal.htm"><img |
| 20 |
border="0" height="12" width="195"> |
src="ngibmcpy.gif" border="0" height="12" width="195"> |
| 21 |
</a> |
</a> |
| 22 |
<p><b>Change History:</b> </p> |
<p><b>Change History:</b> </p> |
| 23 |
|
|
| 24 |
<ul> |
<ul> |
| 25 |
|
<li><small>2.0.19</small><small><br> |
| 26 |
|
</small> |
| 27 |
|
<ul> |
| 28 |
|
<li><small>added <feature discovery type></small></li> |
| 29 |
|
</ul> |
| 30 |
|
</li> |
| 31 |
<li><small>2.0.18</small></li> |
<li><small>2.0.18</small></li> |
| 32 |
|
|
| 33 |
<ul> |
<ul> |
| 138 |
|
|
| 139 |
<ul> |
<ul> |
| 140 |
<li> <font size="-1">general text cleanup</font></li> |
<li> <font size="-1">general text cleanup</font></li> |
| 141 |
<li> <font size="-1"><feature><group> support removed |
<li> <font size="-1"><feature><group> support |
| 142 |
(will not be in Eclipse 2.0)</font></li> |
removed (will not be in Eclipse 2.0)</font></li> |
| 143 |
<li> <font size="-1">arch= support added to <feature> |
<li> <font size="-1">arch= support added to <feature> |
| 144 |
and <feature><plugin></font></li> |
and <feature><plugin></font></li> |
| 145 |
<li> <font size="-1">os=/ arch=/ ws=/ nl= added to <fetaure><data></font></li> |
<li> <font size="-1">os=/ arch=/ ws=/ nl= added to <fetaure><data></font></li> |
| 146 |
<li> <font size="-1"><site url=""> new semantics</font></li> |
<li> <font size="-1"><site url=""> new semantics</font></li> |
| 147 |
<li> <font size="-1">corrected errors in native installer link |
<li> <font size="-1">corrected errors in native installer |
| 148 |
support</font></li> |
link support</font></li> |
| 149 |
<li> <font size="-1">defined callback query strings for browser-triggered |
<li> <font size="-1">defined callback query strings for browser-triggered |
| 150 |
processing</font></li> |
processing</font></li> |
| 151 |
|
|
| 161 |
<br> |
<br> |
| 162 |
<a href="#Framework">Framework</a> |
<a href="#Framework">Framework</a> |
| 163 |
<br> |
<br> |
| 164 |
<a href="#Packaging_Conventions">Packaging Conventions</a> <br> |
<a href="#Packaging_Conventions">Packaging Conventions</a> |
| 165 |
|
<br> |
| 166 |
<a |
<a |
| 167 |
href="#Feature_Archive">Feature Archive</a> <br> |
href="#Feature_Archive">Feature Archive</a> <br> |
| 168 |
<a |
<a |
| 169 |
href="#Plug-In_Archive">Plug-In Archive</a> <br> |
href="#Plug-In_Archive">Plug-In Archive</a> <br> |
| 170 |
<a href="#Packaging_NL">Packaging |
<a |
| 171 |
NL</a> <br> |
href="#Packaging_NL">Packaging NL</a> <br> |
| 172 |
|
|
| 173 |
<a href="#Translated_Feature_Information"> Translated Feature Information</a> |
<a href="#Translated_Feature_Information"> Translated Feature Information</a> |
| 174 |
<br> |
<br> |
| 208 |
This document outlines the support for managing the delivery |
This document outlines the support for managing the delivery |
| 209 |
of function within the Eclipse platform. Also refer to the "<a |
of function within the Eclipse platform. Also refer to the "<a |
| 210 |
href="http://www.eclipse.org/legal/updatemanager.html"> Eclipse.org Update |
href="http://www.eclipse.org/legal/updatemanager.html"> Eclipse.org Update |
| 211 |
Manager Agreement</a> " for additional legal information governing the |
Manager Agreement</a> " for additional legal information governing |
| 212 |
use of the Eclipse update manager function. |
the use of the Eclipse update manager function. |
| 213 |
<h3> <a name="Changes_from_R1.0"></a> Changes from R1.0</h3> |
<h3> <a name="Changes_from_R1.0"></a> Changes from R1.0</h3> |
| 214 |
This section describes the major design changes from the R1.0 |
This section describes the major design changes from the R1.0 |
| 215 |
Installation and Update support and supplies rationale for each design |
Installation and Update support and supplies rationale for each design |
| 226 |
is merged into <i>feature</i>. Features define the packaging structure |
is merged into <i>feature</i>. Features define the packaging structure |
| 227 |
for a group of related plug-ins, plug-in fragments, and optionally non-plug-in |
for a group of related plug-ins, plug-in fragments, and optionally non-plug-in |
| 228 |
files. Features are treated purely as an installation and packaging construct. |
files. Features are treated purely as an installation and packaging construct. |
| 229 |
They do not play a role during Eclipse plug-in execution. Features do not |
They do not play a role during Eclipse plug-in execution. Features do |
| 230 |
nest. They are simply an inclusive "manifest" of the plug-ins, fragments |
not nest. They are simply an inclusive "manifest" of the plug-ins, fragments |
| 231 |
and other files that make up that feature. If features are logically made |
and other files that make up that feature. If features are logically made |
| 232 |
up of plug-ins from "sub-features", the top-level feature "manifest" must |
up of plug-ins from "sub-features", the top-level feature "manifest" must |
| 233 |
be fully resolved at packaging time. <li> <b>default feature archive format</b></li> |
be fully resolved at packaging time. <li> <b>default feature archive format</b></li> |
| 235 |
R1.0 components were packaged as a single Java .jar containing |
R1.0 components were packaged as a single Java .jar containing |
| 236 |
the component manifest as well as the actual plug-in files. The problem |
the component manifest as well as the actual plug-in files. The problem |
| 237 |
with this approach is lack of granularity at download time. In R2.0, |
with this approach is lack of granularity at download time. In R2.0, |
| 238 |
the feature archive consists of multiple separate .jars - one .jar |
the feature archive consists of multiple separate .jars - one .jar per |
| 239 |
per plug-in and fragment, plus one .jar for the actual feature information. |
plug-in and fragment, plus one .jar for the actual feature information. |
| 240 |
The Installation and Update support selectively downloads only those |
The Installation and Update support selectively downloads only those |
| 241 |
jars required for the installation. <li> <b>site map</b></li> |
jars required for the installation. <li> <b>site map</b></li> |
| 242 |
<br> |
<br> |
| 243 |
Default Eclipse update server must contain a <i>site map</i> |
Default Eclipse update server must contain a <i>site map</i> |
| 244 |
file (site.xml). This is an evolution of the R1.0 install.index support. |
file (site.xml). This is an evolution of the R1.0 install.index support. |
| 245 |
The rationale for using a structured site defined by the map rather than |
The rationale for using a structured site defined by the map rather |
| 246 |
a "free form" web site, is the ability to present a consistent installation |
than a "free form" web site, is the ability to present a consistent installation |
| 247 |
experience for the user. Also, this provides the necessary structure for |
experience for the user. Also, this provides the necessary structure |
| 248 |
discovery of available updates. Additional support for "free form" browsing |
for discovery of available updates. Additional support for "free form" |
| 249 |
may be considered in future work. <li> <b>using native install/ uninstall</b></li> |
browsing may be considered in future work. <li> <b>using native install/ |
| 250 |
|
uninstall</b></li> |
| 251 |
<br> |
<br> |
| 252 |
The primary mechanism for installing and updating Eclipse features |
The primary mechanism for installing and updating Eclipse features |
| 253 |
is the built-in installation and update support. Some products may instead |
is the built-in installation and update support. Some products may instead |
| 255 |
Eclipse features. However, native installers do not implement the required |
Eclipse features. However, native installers do not implement the required |
| 256 |
support for understanding the Eclipse installation structure. In particular, |
support for understanding the Eclipse installation structure. In particular, |
| 257 |
the native uninstallers will, by default, remove plug-in files that were |
the native uninstallers will, by default, remove plug-in files that were |
| 258 |
installed using the native installer without regard to these plug-ins being |
installed using the native installer without regard to these plug-ins |
| 259 |
needed by other features. As a result, features installed using native installers |
being needed by other features. As a result, features installed using |
| 260 |
must be written into private product-specific installation location and |
native installers must be written into private product-specific installation |
| 261 |
not the shared Eclipse installation location. The shared Eclipse is made |
location and not the shared Eclipse installation location. The shared |
| 262 |
aware of the produce-specific location via an installed "link file". <li> |
Eclipse is made aware of the produce-specific location via an installed |
| 263 |
<b>custom install handling</b></li> |
"link file". <li> <b>custom install handling</b></li> |
| 264 |
<br> |
<br> |
| 265 |
In many cases the standard installation handling supplied by |
In many cases the standard installation handling supplied by |
| 266 |
Eclipse is not be sufficient to handle various custom requirements. |
Eclipse is not be sufficient to handle various custom requirements. To |
| 267 |
To accommodate this, R2.0 Eclipse supports custom install handlers packaged |
accommodate this, R2.0 Eclipse supports custom install handlers packaged |
| 268 |
as part of the feature and executed during the feature installation. <li> |
as part of the feature and executed during the feature installation. <li> |
| 269 |
<b>path naming conventions</b></li> |
<b>path naming conventions</b></li> |
| 270 |
<br> |
<br> |
| 271 |
R1.0 mandated the use of the various identifiers and versions |
R1.0 mandated the use of the various identifiers and versions |
| 272 |
inside the packaged archives (eg. directory path names for plug-ins). |
inside the packaged archives (eg. directory path names for plug-ins). |
| 273 |
This approach has proven to be ackward and error prone. In 2.0, the packaging |
This approach has proven to be ackward and error prone. In 2.0, the |
| 274 |
requirements no longer mandate that path names of packaged files precisely |
packaging requirements no longer mandate that path names of packaged |
| 275 |
reflect the contained identifiers and versions. The properly identified |
files precisely reflect the contained identifiers and versions. The properly |
| 276 |
install subdirectories are created by the Eclipse support during the |
identified install subdirectories are created by the Eclipse support |
| 277 |
installation and update process based on the archive content (rather |
during the installation and update process based on the archive content |
| 278 |
than explicit jar path structure set up at packaging time) |
(rather than explicit jar path structure set up at packaging time) |
| 279 |
|
|
| 280 |
</ul> |
</ul> |
| 281 |
|
|
| 285 |
of execution recognized by the Eclipse runtime environment. In general, |
of execution recognized by the Eclipse runtime environment. In general, |
| 286 |
plug-ins are not exposed to users that select function during installation |
plug-ins are not exposed to users that select function during installation |
| 287 |
or update. The reason is that plug-in boundaries are established by developers |
or update. The reason is that plug-in boundaries are established by developers |
| 288 |
for development reasons (like function reuse) and present the wrong level |
for development reasons (like function reuse) and present the wrong |
| 289 |
of granularity in terms of what the user sees as the unit of function. |
level of granularity in terms of what the user sees as the unit of function. |
| 290 |
|
|
| 291 |
<p>While plug-ins are being developed (ie. are frequently being changed), |
<p>While plug-ins are being developed (ie. are frequently being changed), |
| 292 |
their internal file structure will reflect what is convenient to the |
their internal file structure will reflect what is convenient to the |
| 293 |
developer. This will generally depend on the particular development tool |
developer. This will generally depend on the particular development |
| 294 |
being used. Typically, however, the developer will likely setup the |
tool being used. Typically, however, the developer will likely setup |
| 295 |
plug-in to execute from a directory tree containing exposed .class files, |
the plug-in to execute from a directory tree containing exposed .class |
| 296 |
rather than executing from a .jar (requires an extra step to create |
files, rather than executing from a .jar (requires an extra step to |
| 297 |
the .jar and we all know developers hate extra steps). Also, at this stage |
create the .jar and we all know developers hate extra steps). Also, at |
| 298 |
the developer does not pay particular attention to plug-in versioning |
this stage the developer does not pay particular attention to plug-in |
| 299 |
information, because the plug-in is continually changing. </p> |
versioning information, because the plug-in is continually changing. </p> |
| 300 |
|
|
| 301 |
<p>However, when the plug-in is ready to be packaged, it needs to be converted |
<p>However, when the plug-in is ready to be packaged, it needs to be converted |
| 302 |
to a form suitable for packaging and installation. Typically it means |
to a form suitable for packaging and installation. Typically it means |
| 308 |
|
|
| 309 |
<p><b>Plug-in Fragment</b> <br> |
<p><b>Plug-in Fragment</b> <br> |
| 310 |
Plug-in Fragments (or simply Fragments) allow independent packaging |
Plug-in Fragments (or simply Fragments) allow independent packaging |
| 311 |
of certain aspects of the base plug-in. This includes (but may not be |
of certain aspects of the base plug-in. This includes (but may not |
| 312 |
limited to) translated resources for the plug-in, OS-specific or windowing-system-specific |
be limited to) translated resources for the plug-in, OS-specific or |
| 313 |
code. At runtime, fragments are logically merged into the base plug-in. |
windowing-system-specific code. At runtime, fragments are logically |
| 314 |
From a packaging point of view, the install and update support does not |
merged into the base plug-in. From a packaging point of view, the install |
| 315 |
really differentiate between plug-ins and their related fragments. </p> |
and update support does not really differentiate between plug-ins and |
| 316 |
|
their related fragments. </p> |
| 317 |
|
|
| 318 |
<p><b>Feature</b> <br> |
<p><b>Feature</b> <br> |
| 319 |
A feature is an installation packaging mechanism used to define |
A feature is an installation packaging mechanism used to define |
| 320 |
a group of versioned plug-ins and/or plug-in fragments plus non-plug-in |
a group of versioned plug-ins and/or plug-in fragments plus non-plug-in |
| 321 |
files that is used to deliver some user function. A feature can also include |
files that is used to deliver some user function. A feature can also |
| 322 |
other features. Features are exposed to users as part of the packaging |
include other features. Features are exposed to users as part of the |
| 323 |
and installation process, because they represent a unit of function selection. |
packaging and installation process, because they represent a unit of |
| 324 |
Features also represent a unit of installation. Features carry a version |
function selection. Features also represent a unit of installation. Features |
| 325 |
identifier.</p> |
carry a version identifier.</p> |
| 326 |
|
|
| 327 |
<p>Features are packaged as a feature archive, referencing the required plug-ins, |
<p>Features are packaged as a feature archive, referencing the required plug-ins, |
| 328 |
plug-in fragments and optional non-plug-in files. The feature archives |
plug-in fragments and optional non-plug-in files. The feature archives |
| 329 |
are placed on an update server for download and installation by the |
are placed on an update server for download and installation by the Eclipse |
| 330 |
Eclipse update manager, or they can be used as the input into a formal |
update manager, or they can be used as the input into a formal packaging |
| 331 |
packaging process using one of the "traditional" installer technologies. |
process using one of the "traditional" installer technologies. The format |
| 332 |
The format of the feature archive is described later. </p> |
of the feature archive is described later. </p> |
| 333 |
|
|
| 334 |
<h3> <a name="Framework"></a> Framework</h3> |
<h3> <a name="Framework"></a> Framework</h3> |
| 335 |
The 2.0 installation and update support is provided as a framework |
The 2.0 installation and update support is provided as a framework |
| 341 |
feature types are registere via the "org.eclipse.update.featureTypes" |
feature types are registere via the "org.eclipse.update.featureTypes" |
| 342 |
extension point.</li> |
extension point.</li> |
| 343 |
<li> concrete implementations of site (ISite interface) that |
<li> concrete implementations of site (ISite interface) that |
| 344 |
can be used to support alternate site layout, or site behavior. New |
can be used to support alternate site layout, or site behavior. New concrete |
| 345 |
concrete site types are registered via the "org.eclipse.update.siteTypes" |
site types are registered via the "org.eclipse.update.siteTypes" extension |
| 346 |
extension point.</li> |
point.</li> |
| 347 |
<li> each feature can specify a custom install handler as part |
<li> each feature can specify a custom install handler as |
| 348 |
of its feature manifest. Install handlers (IInstallHandler interface) |
part of its feature manifest. Install handlers (IInstallHandler interface) |
| 349 |
are dynamically invoked as part of the installation process to handle |
are dynamically invoked as part of the installation process to handle |
| 350 |
non-plugin data, plus perform other custom processing allowed by the |
non-plugin data, plus perform other custom processing allowed by the framework.</li> |
|
framework.</li> |
|
| 351 |
|
|
| 352 |
</ul> |
</ul> |
| 353 |
Eclipse provides default implementations of feature and site. |
Eclipse provides default implementations of feature and site. |
| 358 |
<tr> |
<tr> |
| 359 |
<td><b>Note: <i>The reminder of this document describes the |
<td><b>Note: <i>The reminder of this document describes the |
| 360 |
default concrete implementation of the framework delivered with Eclipse. |
default concrete implementation of the framework delivered with Eclipse. |
| 361 |
It specifies the structure of the default feature implementation, as |
It specifies the structure of the default feature implementation, as well |
| 362 |
well as the default site implementation, plus the corresponding xml files |
as the default site implementation, plus the corresponding xml files (feature.xml |
| 363 |
(feature.xml and site.xml). Providers of alternate concrete implementations |
and site.xml). Providers of alternate concrete implementations can extend |
| 364 |
can extend parts or all of the default Eclipse implementation. This |
parts or all of the default Eclipse implementation. This includes providing |
| 365 |
includes providing a mechanism for dynamic computation of the site map |
a mechanism for dynamic computation of the site map (site.xml)</i></b></td> |
|
(site.xml)</i></b></td> |
|
| 366 |
</tr> |
</tr> |
| 367 |
|
|
| 368 |
</tbody> |
</tbody> |
| 389 |
(see next section) and non-plug-in files. |
(see next section) and non-plug-in files. |
| 390 |
<p>Features are identified using a structured identifier based on the provider |
<p>Features are identified using a structured identifier based on the provider |
| 391 |
internet domain name. For example, organization eclipse.org may produce |
internet domain name. For example, organization eclipse.org may produce |
| 392 |
feature org.eclipse.javatooling. The character set used for feature identifiers |
feature org.eclipse.javatooling. The character set used for feature |
| 393 |
is as specified for plug-in identifiers (see reference information describing |
identifiers is as specified for plug-in identifiers (see reference information |
| 394 |
the plug-in manifest). </p> |
describing the plug-in manifest). </p> |
| 395 |
|
|
| 396 |
<p>The recommended convention for naming the feature archives is <br> |
<p>The recommended convention for naming the feature archives is <br> |
| 397 |
<tt><id>_<version>.jar</tt> </p> |
<tt><id>_<version>.jar</tt> </p> |
| 398 |
|
|
| 399 |
<p>Where <tt><id></tt> is the feature identifier and <tt><version></tt> |
<p>Where <tt><id></tt> is the feature identifier and <tt><version></tt> |
| 400 |
is the full version identifier contained in the respective feature.xml. |
is the full version identifier contained in the respective feature.xml. |
| 401 |
Note that this is a recommended convention that minimizes chance of collisions, |
Note that this is a recommended convention that minimizes chance of |
| 402 |
but is not required by the Eclipse architecture. For example, the following |
collisions, but is not required by the Eclipse architecture. For example, |
| 403 |
are valid feature archive names </p> |
the following are valid feature archive names </p> |
| 404 |
|
|
| 405 |
<p><tt>org.eclipse.javatooling_1.0.3.jar</tt> <br> |
<p><tt>org.eclipse.javatooling_1.0.3.jar</tt> <br> |
| 406 |
<tt>org.eclipse.pde_2.0.jar</tt> <br> |
<tt>org.eclipse.pde_2.0.jar</tt> <br> |
| 422 |
|
|
| 423 |
<p><tt><?xml encoding="ISO-8859-1"?></tt> </p> |
<p><tt><?xml encoding="ISO-8859-1"?></tt> </p> |
| 424 |
|
|
| 425 |
<p><tt><!ELEMENT feature (install-handler?, description?, copyright?, license?, |
<p><tt><!ELEMENT feature (install-handler?, description?, copyright?, |
| 426 |
url?, includes*, requires?, plugin*, data*)></tt> <br> |
license?, url?, includes*, requires?, plugin*, data*)></tt> <br> |
| 427 |
<tt><!ATTLIST feature</tt> <br> |
<tt><!ATTLIST feature</tt> <br> |
| 428 |
<tt> id |
<tt> id |
| 429 |
CDATA #REQUIRED</tt> <br> |
CDATA #REQUIRED</tt> <br> |
| 494 |
CDATA #REQUIRED</tt> <br> |
CDATA #REQUIRED</tt> <br> |
| 495 |
<tt> label |
<tt> label |
| 496 |
CDATA #IMPLIED</tt> <br> |
CDATA #IMPLIED</tt> <br> |
| 497 |
<tt>></tt> </p> |
<tt> type |
| 498 |
|
(update|web) "update"</tt><tt><br> |
| 499 |
|
></tt> </p> |
| 500 |
|
<p> </p> |
| 501 |
|
|
| 502 |
<p><tt><!ELEMENT includes EMPTY></tt> <br> |
<p><tt><!ELEMENT includes EMPTY></tt> <br> |
| 503 |
<tt><!ATTLIST includes</tt> <br> |
<tt><!ATTLIST includes</tt> <br> |
| 588 |
<li> os - optional operating system specification. A comma-separated |
<li> os - optional operating system specification. A comma-separated |
| 589 |
list of os designators defined by Eclipse (see Javadoc for <tt>org.eclipse.core.boot.BootLoader)</tt> |
list of os designators defined by Eclipse (see Javadoc for <tt>org.eclipse.core.boot.BootLoader)</tt> |
| 590 |
. Indicates this feature should only be installed on one of the specified |
. Indicates this feature should only be installed on one of the specified |
| 591 |
os systems. If this attribute is not specified, the feature can be installed |
os systems. If this attribute is not specified, the feature can be |
| 592 |
on all systems (portable implementation). This information is used |
installed on all systems (portable implementation). This information |
| 593 |
as a hint by the installation and update support (user can force installation |
is used as a hint by the installation and update support (user can force |
| 594 |
of feature regardless of this setting).</li> |
installation of feature regardless of this setting).</li> |
| 595 |
<li> arch - optional machine architecture specification. A |
<li> arch - optional machine architecture specification. A |
| 596 |
comma-separated list of architecture designators defined by Eclipse |
comma-separated list of architecture designators defined by Eclipse |
| 597 |
(see Javadoc for <tt> org.eclipse.core.boot.BootLoader)</tt>. |
(see Javadoc for <tt> org.eclipse.core.boot.BootLoader)</tt>. Indicates |
| 598 |
Indicates this feature should only be installed on one of the specified |
this feature should only be installed on one of the specified systems. |
| 599 |
systems. If this attribute is not specified, the feature can be installed |
If this attribute is not specified, the feature can be installed on all |
| 600 |
on all systems (portable implementation). This information is used as |
systems (portable implementation). This information is used as a hint |
| 601 |
a hint by the installation and update support (user can force installation |
by the installation and update support (user can force installation of |
| 602 |
of feature regardless of this setting).</li> |
feature regardless of this setting).</li> |
| 603 |
<li> ws - optional windowing system specification. A comma-separated |
<li> ws - optional windowing system specification. A comma-separated |
| 604 |
list of ws designators defined by Eclipse (see Javadoc for <tt>org.eclipse.core.boot.BootLoader)</tt> |
list of ws designators defined by Eclipse (see Javadoc for <tt>org.eclipse.core.boot.BootLoader)</tt> |
| 605 |
. Indicates this feature should only be installed on one of the specified |
. Indicates this feature should only be installed on one of the specified |
| 606 |
ws systems. If this attribute is not specified, the feature can be installed |
ws systems. If this attribute is not specified, the feature can be |
| 607 |
on all systems (portable implementation). This information is used |
installed on all systems (portable implementation). This information |
| 608 |
as a hint by the installation and update support (user can force installation |
is used as a hint by the installation and update support (user can force |
| 609 |
of feature regardless of this setting).</li> |
installation of feature regardless of this setting).</li> |
| 610 |
<li> nl - optional locale specification. A comma-separated |
<li> nl - optional locale specification. A comma-separated |
| 611 |
list of locale designators defined by Java. Indicates this feature should |
list of locale designators defined by Java. Indicates this feature should |
| 612 |
only be installed on a system running with a compatible locale (using Java |
only be installed on a system running with a compatible locale (using |
| 613 |
locale-matching rules). If this attribute is not specified, the feature |
Java locale-matching rules). If this attribute is not specified, the feature |
| 614 |
can be installed on all systems (language-neutral implementation). This |
can be installed on all systems (language-neutral implementation). This |
| 615 |
information is used as a hint by the installation and update support |
information is used as a hint by the installation and update support (user |
| 616 |
(user can force installation of feature regardless of this setting).</li> |
can force installation of feature regardless of this setting).</li> |
| 617 |
<li> colocation-affinity - optional reference to another feature |
<li> colocation-affinity - optional reference to another feature |
| 618 |
identifier used to select the default installation location for this |
identifier used to select the default installation location for this |
| 619 |
feature. When this feature is being installed as a new feature (no other |
feature. When this feature is being installed as a new feature (no other |
| 624 |
. Default if <i>false</i> (not a primary feature).</li> |
. Default if <i>false</i> (not a primary feature).</li> |
| 625 |
<li> application - optional identifier of the Eclipse application |
<li> application - optional identifier of the Eclipse application |
| 626 |
that is to be used during startup when the declaring feature is the |
that is to be used during startup when the declaring feature is the |
| 627 |
<a href="#Dominant_Feature"> primary feature</a> . The application identifier |
<a href="#Dominant_Feature"> primary feature</a> . The application |
| 628 |
must represent a valid application registered in the <tt>org.eclipse.core.runtime.applications</tt> |
identifier must represent a valid application registered in the <tt>org.eclipse.core.runtime.applications</tt> |
| 629 |
extension point. Default is <tt>org.eclipse.ui.workbench</tt>.</li> |
extension point. Default is <tt>org.eclipse.ui.workbench</tt>.</li> |
| 630 |
<li> plugin- optional identifier of the primary plugin associated with |
<li> plugin- optional identifier of the primary plugin associated |
| 631 |
this <a |
with this <a |
| 632 |
href="file:///C:/OTI/workspace/plugins/platform-update-home/doc/eclipse_update_packaging.html#Dominant_Feature">primary |
href="file:///C:/OTI/workspace/plugins/platform-update-home/doc/eclipse_update_packaging.html#Dominant_Feature">primary |
| 633 |
feature</a>. The primary plugin carries branding information. If the plugin |
feature</a>. The primary plugin carries branding information. If the plugin |
| 634 |
attribute is not declared, the primary plugin identifier used will be the |
attribute is not declared, the primary plugin identifier used will be the |
| 650 |
interpreted as a fully qualified name of a class contained in the specified |
interpreted as a fully qualified name of a class contained in the specified |
| 651 |
<i>library</i>. If <i>library</i> is not specified, the |
<i>library</i>. If <i>library</i> is not specified, the |
| 652 |
value is is interpreted as an extension identifier of an extension registered |
value is is interpreted as an extension identifier of an extension registered |
| 653 |
in the <i>org.eclipse.update.installHandlers</i> extension point. |
in the <i>org.eclipse.update.installHandlers</i> extension point. In |
| 654 |
In either case, the resulting class must implement the <i> IInstallHandler</i> |
either case, the resulting class must implement the <i> IInstallHandler</i> |
| 655 |
interface. The class is dynamically loaded and called at specific points |
interface. The class is dynamically loaded and called at specific points |
| 656 |
during feature processing. The handler has visibility to the API classes |
during feature processing. The handler has visibility to the API classes |
| 657 |
from the update plug-in, and Eclipse plug-ins required by the update plugin.</li> |
from the update plug-in, and Eclipse plug-ins required by the update plugin.</li> |
| 658 |
|
|
| 659 |
</ul> |
</ul> |
| 660 |
<li> <description> - brief component description as simple |
<li> <description> - brief component description as |
| 661 |
text. Intended to be translated.</li> |
simple text. Intended to be translated.</li> |
| 662 |
|
|
| 663 |
<ul> |
<ul> |
| 664 |
<li> url - optional URL for the full description as HTML. The |
<li> url - optional URL for the full description as HTML. The |
| 665 |
URL can be specified as absolute of relative. If relative, it is assumed |
URL can be specified as absolute of relative. If relative, it is assumed |
| 666 |
to be relative to (and packaged in) the feature archive. Note, that for |
to be relative to (and packaged in) the feature archive. Note, that for |
| 667 |
NL handling the URL value should be separated to allow alternate URLs |
NL handling the URL value should be separated to allow alternate URLs to |
| 668 |
to be specified for each national language. URL support keywords |
be specified for each national language. URL support keywords $os$,$ws$,$arch$ |
| 669 |
$os$,$ws$,$arch$ and $nl$ that will be replaced by the appropriate operating |
and $nl$ that will be replaced by the appropriate operating system, windowing |
| 670 |
system, windowing system, operating architecture or national language value.</li> |
system, operating architecture or national language value.</li> |
| 671 |
|
|
| 672 |
</ul> |
</ul> |
| 673 |
<li> <copyright> - feature copyright as simple text. |
<li> <copyright> - feature copyright as simple text. |
| 677 |
<li> url - optional URL for the full description as HTML. The |
<li> url - optional URL for the full description as HTML. The |
| 678 |
URL can be specified as absolute of relative. If relative, it is assumed |
URL can be specified as absolute of relative. If relative, it is assumed |
| 679 |
to be relative to (and packaged in) the feature archive. Note, that for |
to be relative to (and packaged in) the feature archive. Note, that for |
| 680 |
NL handling the URL value should be separated to allow alternate URLs |
NL handling the URL value should be separated to allow alternate URLs to |
| 681 |
to be specified for each national language. URL support keywords $os$,$ws$,$arch$ |
be specified for each national language. URL support keywords $os$,$ws$,$arch$ |
| 682 |
and $nl$ that will be replaced by the appropriate operating system, windowing |
and $nl$ that will be replaced by the appropriate operating system, windowing |
| 683 |
system, operating architecture or national language value.</li> |
system, operating architecture or national language value.</li> |
| 684 |
|
|
| 685 |
</ul> |
</ul> |
| 686 |
<li> <license> - feature "click-through" license as simple |
<li> <license> - feature "click-through" license as |
| 687 |
text. Intended to be translated. It is displayed in a standard dialog |
simple text. Intended to be translated. It is displayed in a standard |
| 688 |
with [Accept] [Reject] actions during the download/ installation process. |
dialog with [Accept] [Reject] actions during the download/ installation |
| 689 |
Note, that click-through license must be specified for any feature that |
process. Note, that click-through license must be specified for any feature |
| 690 |
will be selected for installation or update using the Eclipse update |
that will be selected for installation or update using the Eclipse update |
| 691 |
manager. When using nested features, only the nesting parent (ie. the |
manager. When using nested features, only the nesting parent (ie. the feature |
| 692 |
feature selected for installation or update) must have click-through license |
selected for installation or update) must have click-through license text |
| 693 |
text defined. The license text is required even if the optional <i>url</i> |
defined. The license text is required even if the optional <i>url</i> attribute |
| 694 |
attribute is specified.</li> |
is specified.</li> |
| 695 |
|
|
| 696 |
<ul> |
<ul> |
| 697 |
<li> url - optional URL for the full description as HTML. The |
<li> url - optional URL for the full description as HTML. The |
| 698 |
URL can be specified as absolute of relative. If relative, it is assumed |
URL can be specified as absolute of relative. If relative, it is assumed |
| 699 |
to be relative to (and packaged in) the feature archive. Note, that for |
to be relative to (and packaged in) the feature archive. Note, that for |
| 700 |
NL handling the URL value should be separated to allow alternate URLs |
NL handling the URL value should be separated to allow alternate URLs to |
| 701 |
to be specified for each national language. Note, that the "content" of |
be specified for each national language. Note, that the "content" of this |
| 702 |
this URL is <b>not</b> what is presented as the click-through license |
URL is <b>not</b> what is presented as the click-through license during |
| 703 |
during installation processing. The click-through license is the actual |
installation processing. The click-through license is the actual value |
| 704 |
value of the <i><license></i> element (eg. <tt><license>click |
of the <i><license></i> element (eg. <tt><license>click |
| 705 |
through text</license></tt>). URL support keywords $os$,$ws$,$arch$ |
through text</license></tt>). URL support keywords $os$,$ws$,$arch$ |
| 706 |
and $nl$ that will be replaced by the appropriate operating system, windowing |
and $nl$ that will be replaced by the appropriate operating system, windowing |
| 707 |
system, operating architecture or national language value.</li> |
system, operating architecture or national language value.</li> |
| 718 |
<li> url - actual URL</li> |
<li> url - actual URL</li> |
| 719 |
<li> label - displayable label (name) for the referenced site</li> |
<li> label - displayable label (name) for the referenced site</li> |
| 720 |
|
|
| 721 |
|
|
| 722 |
</ul> |
</ul> |
| 723 |
<li> <discovery> - URL to go to for new features. In |
<li> <discovery> - URL to go to for new features. In |
| 724 |
general, a provider can use this element to reference its own site(s), |
general, a provider can use this element to reference its own site(s), |
| 729 |
<ul> |
<ul> |
| 730 |
<li> url - actual URL</li> |
<li> url - actual URL</li> |
| 731 |
<li> label - displayable label (name) for the referenced site</li> |
<li> label - displayable label (name) for the referenced site</li> |
| 732 |
|
<li>type - whether the site is an regular update site or a web site. |
| 733 |
|
The web site may be a web-triggered-install web site. (<tt>update</tt> is |
| 734 |
|
the default)<br> |
| 735 |
|
</li> |
| 736 |
|
|
| 737 |
|
|
| 738 |
</ul> |
</ul> |
| 739 |
|
|
| 740 |
</ul> |
</ul> |
| 741 |
<li> <includes> - optional reference to a nested feature |
<li> <includes> - optional reference to a nested feature |
| 742 |
that is considered to be part of this feature. Nested features must |
that is considered to be part of this feature. Nested features must be |
| 743 |
be located on the same update site as this feature</li> |
located on the same update site as this feature</li> |
| 744 |
|
|
| 745 |
<ul> |
<ul> |
| 746 |
<li> id - required nested feature identifier</li> |
<li> id - required nested feature identifier</li> |
| 751 |
included feature can be optionally installed. Default is "false"<br> |
included feature can be optionally installed. Default is "false"<br> |
| 752 |
</li> |
</li> |
| 753 |
<li>match - optional rule that will be applied when |
<li>match - optional rule that will be applied when |
| 754 |
resolving the feature reference. A <samp>perfect</samp> match (the default |
resolving the feature reference. A <samp>perfect</samp> match (the |
| 755 |
that matches the 2.0.1 behavior) requires that the feature has exactly |
default that matches the 2.0.1 behavior) requires that the feature has |
| 756 |
the version specified by the version attribute. Other choices progressively |
exactly the version specified by the version attribute. Other choices |
| 757 |
relax the rule (<samp> equivalent</samp> allows only service part of the |
progressively relax the rule (<samp> equivalent</samp> allows only service |
| 758 |
version to be more recent, <samp>compatible</samp> also allows minor |
part of the version to be more recent, <samp>compatible</samp> |
| 759 |
part to be included in the consideration, while <samp>greaterOrEqual</samp> |
also allows minor part to be included in the consideration, while <samp>greaterOrEqual</samp> |
| 760 |
simply allows any version that is more recent or identical to the one |
simply allows any version that is more recent or identical to the one |
| 761 |
specified).</li> |
specified).</li> |
| 762 |
<li>search-location - optional. Indicates whether the |
<li>search-location - optional. Indicates whether |
| 763 |
"New Updates" action should search the update location determined by |
the "New Updates" action should search the update location determined |
| 764 |
the nesting root feature (<tt>root</tt>, is the default), or the location |
by the nesting root feature (<tt>root</tt>, is the default), or the location |
| 765 |
defined by the nested feature (<tt>self</tt>), or search both (<tt>both</tt>) |
defined by the nested feature (<tt>self</tt>), or search both (<tt>both</tt>) |
| 766 |
in that order (root first, self if nothing is found).</li> |
in that order (root first, self if nothing is found).</li> |
| 767 |
|
|
| 781 |
and feature are specified, plugin takes precedence upon feature. Feature |
and feature are specified, plugin takes precedence upon feature. Feature |
| 782 |
or plugin must be specified.</li> |
or plugin must be specified.</li> |
| 783 |
<li> version - optional plug-in/feature version specification</li> |
<li> version - optional plug-in/feature version specification</li> |
| 784 |
<li>patch - optional specification indicating if this feature |
<li>patch - optional specification indicating if this |
| 785 |
is a patch of the dependant feature. Default is "false". If patch is |
feature is a patch of the dependant feature. Default is "false". If |
| 786 |
true, version must be specified. If patch is true, only feature must be |
patch is true, version must be specified. If patch is true, only feature |
| 787 |
specified. If patch is true, and match is specified, it must be 'perfect'.<br> |
must be specified. If patch is true, and match is specified, it must |
| 788 |
|
be 'perfect'.<br> |
| 789 |
</li> |
</li> |
| 790 |
<li> match - optional matching rule. Valid values and processing |
<li> match - optional matching rule. Valid values and processing |
| 791 |
are as follows:</li> |
are as follows:</li> |
| 801 |
</li> |
</li> |
| 802 |
<li> <b><i>perfect</i></b> - dependent plug-in version must |
<li> <b><i>perfect</i></b> - dependent plug-in version must |
| 803 |
match exactly the specified version.</li> |
match exactly the specified version.</li> |
| 804 |
<li> <b><i>equivalent</i></b> - dependent plug-in version must |
<li> <b><i>equivalent</i></b> - dependent plug-in version |
| 805 |
be at least at the version specified, or at a higher service level (major |
must be at least at the version specified, or at a higher service level |
| 806 |
and minor version levels must equal the specified version).</li> |
(major and minor version levels must equal the specified version).</li> |
| 807 |
<li> <b><i>compatible</i></b> - dependent plug-in version must |
<li> <b><i>compatible</i></b> - dependent plug-in version |
| 808 |
be at least at the version specified, or at a higher service level or |
must be at least at the version specified, or at a higher service level |
| 809 |
minor level (major version level must equal the specified version).</li> |
or minor level (major version level must equal the specified version).</li> |
| 810 |
<li> <b><i>greaterOrEqual</i></b> - dependent plug-in version |
<li> <b><i>greaterOrEqual</i></b> - dependent plug-in version |
| 811 |
must be at least at the version specified, or at a higher service, minor |
must be at least at the version specified, or at a higher service, minor |
| 812 |
or major level.</li> |
or major level.</li> |
| 814 |
|
|
| 815 |
</ul> |
</ul> |
| 816 |
|
|
| 817 |
|
|
| 818 |
</ul> |
</ul> |
| 819 |
|
|
| 820 |
</ul> |
</ul> |
| 823 |
<ul> |
<ul> |
| 824 |
<li> id - required plug-in identifier (from plugin.xml)</li> |
<li> id - required plug-in identifier (from plugin.xml)</li> |
| 825 |
<li> version - required plug-in version (from plugin.xml)</li> |
<li> version - required plug-in version (from plugin.xml)</li> |
| 826 |
<li> fragment - optional specification indicating if this entry |
<li> fragment - optional specification indicating if this |
| 827 |
is a plug-in fragment. Default is "false"</li> |
entry is a plug-in fragment. Default is "false"</li> |
| 828 |
<li> os - optional operating system specification. A comma-separated |
<li> os - optional operating system specification. A comma-separated |
| 829 |
list of os designators defined by Eclipse (see Javadoc for <tt>org.eclipse.core.boot.BootLoader)</tt> |
list of os designators defined by Eclipse (see Javadoc for <tt>org.eclipse.core.boot.BootLoader)</tt> |
| 830 |
. Indicates this entry should only be installed on one of the specified |
. Indicates this entry should only be installed on one of the specified |
| 831 |
os systems. If this attribute is not specified, the entry can be installed |
os systems. If this attribute is not specified, the entry can be installed |
| 832 |
on all systems (portable implementation). This information is used as |
on all systems (portable implementation). This information is used |
| 833 |
a hint by the installation and update support (user can force installation |
as a hint by the installation and update support (user can force installation |
| 834 |
of entry regardless of this setting).</li> |
of entry regardless of this setting).</li> |
| 835 |
<li> arch - optional machine architecture specification. A |
<li> arch - optional machine architecture specification. A |
| 836 |
comma-separated list of architecture designators defined by Eclipse |
comma-separated list of architecture designators defined by Eclipse |
| 837 |
(see Javadoc for <tt> org.eclipse.core.boot.BootLoader)</tt>. |
(see Javadoc for <tt> org.eclipse.core.boot.BootLoader)</tt>. Indicates |
| 838 |
Indicates this feature should only be installed on one of the specified |
this feature should only be installed on one of the specified systems. |
| 839 |
systems. If this attribute is not specified, the feature can be installed |
If this attribute is not specified, the feature can be installed on all |
| 840 |
on all systems (portable implementation). This information is used as |
systems (portable implementation). This information is used as a hint |
| 841 |
a hint by the installation and update support (user can force installation |
by the installation and update support (user can force installation of |
| 842 |
of feature regardless of this setting).</li> |
feature regardless of this setting).</li> |
| 843 |
<li> ws - optional windowing system specification. A comma-separated |
<li> ws - optional windowing system specification. A comma-separated |
| 844 |
list of ws designators defined by Eclipse (see Javadoc for <tt>org.eclipse.core.boot.BootLoader)</tt> |
list of ws designators defined by Eclipse (see Javadoc for <tt>org.eclipse.core.boot.BootLoader)</tt> |
| 845 |
. Indicates this entry should only be installed on one of the specified |
. Indicates this entry should only be installed on one of the specified |
| 846 |
ws systems. If this attribute is not specified, the entry can be installed |
ws systems. If this attribute is not specified, the entry can be installed |
| 847 |
on all systems (portable implementation). This information is used as |
on all systems (portable implementation). This information is used |
| 848 |
a hint by the installation and update support (user can force installation |
as a hint by the installation and update support (user can force installation |
| 849 |
of entry regardless of this setting).</li> |
of entry regardless of this setting).</li> |
| 850 |
<li> nl - optional locale specification. A comma-separated |
<li> nl - optional locale specification. A comma-separated |
| 851 |
list of locale designators defined by Java. Indicates this entry should |
list of locale designators defined by Java. Indicates this entry should |
| 855 |
information is used as a hint by the installation and update support (user |
information is used as a hint by the installation and update support (user |
| 856 |
can force installation of entry regardless of this setting).</li> |
can force installation of entry regardless of this setting).</li> |
| 857 |
<li> download-size - optional hint supplied by the feature |
<li> download-size - optional hint supplied by the feature |
| 858 |
packager, indicating the download size in KBytes of the referenced |
packager, indicating the download size in KBytes of the referenced plug-in |
| 859 |
|
archive.The size should not contain decimal. If not specified, the download |
| 860 |
|
size is not known (<b>Implementation Note:</b> the implementation needs |
| 861 |
|
to distinguish between "not known" and 0 size)</li> |
| 862 |
|
<li> install-size - optional hint supplied by the feature |
| 863 |
|
packager, indicating the install size in KBytes of the referenced |
| 864 |
plug-in archive.The size should not contain decimal. If not specified, |
plug-in archive.The size should not contain decimal. If not specified, |
| 865 |
the download size is not known (<b>Implementation Note:</b> the implementation |
the install size is not known (<b>Implementation Note:</b> the implementation |
| 866 |
needs to distinguish between "not known" and 0 size)</li> |
needs to distinguish between "not known" and 0 size)</li> |
|
<li> install-size - optional hint supplied by the feature packager, |
|
|
indicating the install size in KBytes of the referenced plug-in archive. |
|
|
The size should not contain decimal. If not specified, the install size |
|
|
is not known (<b>Implementation Note:</b> the implementation needs to |
|
|
distinguish between "not known" and 0 size)</li> |
|
| 867 |
|
|
| 868 |
</ul> |
</ul> |
| 869 |
<li> <data> - identifies non-plugin and non-feature data |
<li> <data> - identifies non-plugin and non-feature |
| 870 |
that is part of the feature. Generally, data are post-install processed |
data that is part of the feature. Generally, data are post-install processed |
| 871 |
using feature Install handler. Feature files like feature.properties are |
using feature Install handler. Feature files like feature.properties are |
| 872 |
not considered data.</li> |
not considered data.</li> |
| 873 |
|
|
| 878 |
list of os designators defined by Eclipse (see Javadoc for <tt>org.eclipse.core.boot.BootLoader)</tt> |
list of os designators defined by Eclipse (see Javadoc for <tt>org.eclipse.core.boot.BootLoader)</tt> |
| 879 |
. Indicates this entry should only be installed on one of the specified |
. Indicates this entry should only be installed on one of the specified |
| 880 |
os systems. If this attribute is not specified, the entry can be installed |
os systems. If this attribute is not specified, the entry can be installed |
| 881 |
on all systems (portable implementation). This information is used as |
on all systems (portable implementation). This information is used |
| 882 |
a hint by the installation and update support (user can force installation |
as a hint by the installation and update support (user can force installation |
| 883 |
of entry regardless of this setting).</li> |
of entry regardless of this setting).</li> |
| 884 |
<li> arch - optional machine architecture specification. A |
<li> arch - optional machine architecture specification. A |
| 885 |
comma-separated list of architecture designators defined by Eclipse |
comma-separated list of architecture designators defined by Eclipse |
| 886 |
(see Javadoc for <tt> org.eclipse.core.boot.BootLoader)</tt>. |
(see Javadoc for <tt> org.eclipse.core.boot.BootLoader)</tt>. Indicates |
| 887 |
Indicates this feature should only be installed on one of the specified |
this feature should only be installed on one of the specified systems. |
| 888 |
systems. If this attribute is not specified, the feature can be installed |
If this attribute is not specified, the feature can be installed on all |
| 889 |
on all systems (portable implementation). This information is used as |
systems (portable implementation). This information is used as a hint |
| 890 |
a hint by the installation and update support (user can force installation |
by the installation and update support (user can force installation of |
| 891 |
of feature regardless of this setting).</li> |
feature regardless of this setting).</li> |
| 892 |
<li> ws - optional windowing system specification. A comma-separated |
<li> ws - optional windowing system specification. A comma-separated |
| 893 |
list of ws designators defined by Eclipse (see Javadoc for <tt>org.eclipse.core.boot.BootLoader)</tt> |
list of ws designators defined by Eclipse (see Javadoc for <tt>org.eclipse.core.boot.BootLoader)</tt> |
| 894 |
. Indicates this entry should only be installed on one of the specified |
. Indicates this entry should only be installed on one of the specified |
| 895 |
ws systems. If this attribute is not specified, the entry can be installed |
ws systems. If this attribute is not specified, the entry can be installed |
| 896 |
on all systems (portable implementation). This information is used as |
on all systems (portable implementation). This information is used |
| 897 |
a hint by the installation and update support (user can force installation |
as a hint by the installation and update support (user can force installation |
| 898 |
of entry regardless of this setting).</li> |
of entry regardless of this setting).</li> |
| 899 |
<li> nl - optional locale specification. A comma-separated |
<li> nl - optional locale specification. A comma-separated |
| 900 |
list of locale designators defined by Java. Indicates this entry should |
list of locale designators defined by Java. Indicates this entry should |
| 904 |
information is used as a hint by the installation and update support (user |
information is used as a hint by the installation and update support (user |
| 905 |
can force installation of entry regardless of this setting).</li> |
can force installation of entry regardless of this setting).</li> |
| 906 |
<li> download-size - optional hint supplied by the feature |
<li> download-size - optional hint supplied by the feature |
| 907 |
packager, indicating the download size in KBytes of the referenced |
packager, indicating the download size in KBytes of the referenced data |
| 908 |
data archive. If not specified, the download size is not known (<b>Implementation |
archive. If not specified, the download size is not known (<b>Implementation |
| 909 |
|
Note:</b> the implementation needs to distinguish between "not known" |
| 910 |
|
and 0 size)</li> |
| 911 |
|
<li> install-size - optional hint supplied by the feature |
| 912 |
|
packager, indicating the install size in KBytes of the referenced |
| 913 |
|
data archive. If not specified, the install size is not known (<b>Implementation |
| 914 |
Note:</b> the implementation needs to distinguish between "not known" |
Note:</b> the implementation needs to distinguish between "not known" |
| 915 |
and 0 size)</li> |
and 0 size)</li> |
|
<li> install-size - optional hint supplied by the feature packager, |
|
|
indicating the install size in KBytes of the referenced data archive. |
|
|
If not specified, the install size is not known (<b>Implementation Note:</b> |
|
|
the implementation needs to distinguish between "not known" and 0 size)</li> |
|
| 916 |
|
|
| 917 |
</ul> |
</ul> |
| 918 |
|
|
| 961 |
<tt>org.eclipse.ui.nl_2.0.jar</tt> <br> |
<tt>org.eclipse.ui.nl_2.0.jar</tt> <br> |
| 962 |
<tt>my_plugin.jar</tt> </p> |
<tt>my_plugin.jar</tt> </p> |
| 963 |
|
|
| 964 |
<p>Internally, each plug-in archive packages all the relevant plug-in or fragment |
<p>Internally, each plug-in archive packages all the relevant plug-in or |
| 965 |
files relative to its plug-in or fragment directory (but not including the |
fragment files relative to its plug-in or fragment directory (but not including |
| 966 |
directory path element). The archive has the following structure </p> |
the directory path element). The archive has the following structure </p> |
| 967 |
|
|
| 968 |
<p><tt>plugin.xml *OR* fragment.xml</tt> <br> |
<p><tt>plugin.xml *OR* fragment.xml</tt> <br> |
| 969 |
<tt>other plug-in or feature files and subdirectories</tt> <br> |
<tt>other plug-in or feature files and subdirectories</tt> <br> |
| 975 |
In Eclipse, translated plug-in information is packaged either |
In Eclipse, translated plug-in information is packaged either |
| 976 |
together with the base plug-in, or as a plug-in fragment. At runtime, |
together with the base plug-in, or as a plug-in fragment. At runtime, |
| 977 |
Eclipse locates the translations for the required locale. The use of |
Eclipse locates the translations for the required locale. The use of |
| 978 |
fragments allows translations to be added to the runtime without the |
fragments allows translations to be added to the runtime without the need |
| 979 |
need to repackage the base plug-ins. |
to repackage the base plug-ins. |
| 980 |
<p>This mechanism cannot be used for translating the actual packaging information |
<p>This mechanism cannot be used for translating the actual packaging information |
| 981 |
that is part of the installation xml files. Consequently the standard |
that is part of the installation xml files. Consequently the standard |
| 982 |
Java translation conventions are used for the packaging information, |
Java translation conventions are used for the packaging information, |
| 985 |
|
|
| 986 |
<h4> <a name="Translated_Feature_Information"></a> Translated Feature Information</h4> |
<h4> <a name="Translated_Feature_Information"></a> Translated Feature Information</h4> |
| 987 |
<b>Note:</b> This section describes the conventions used for |
<b>Note:</b> This section describes the conventions used for |
| 988 |
translating the information contained within the feature manifest. It |
translating the information contained within the feature manifest. |
| 989 |
allows for the update client to select the correctly localized strings |
It allows for the update client to select the correctly localized strings |
| 990 |
from the update server. This section specifically does not describe localization |
from the update server. This section specifically does not describe |
| 991 |
of individual plug-ins. |
localization of individual plug-ins. |
| 992 |
<p>Several of the attributes within the feature manifest are strings intended |
<p>Several of the attributes within the feature manifest are strings intended |
| 993 |
for display through user interfaces. To facilitate translation, these |
for display through user interfaces. To facilitate translation, these |
| 994 |
attribute values use the convention defined for translatable attributes |
attribute values use the convention defined for translatable attributes |
| 1020 |
</p> |
</p> |
| 1021 |
|
|
| 1022 |
<p>The resulting resource bundle can be used in <tt>IPluginDescriptor.getResourceString(String,ResourceBundle)</tt> |
<p>The resulting resource bundle can be used in <tt>IPluginDescriptor.getResourceString(String,ResourceBundle)</tt> |
| 1023 |
to actually return the correct translated string for the manifest |
to actually return the correct translated string for the manifest attribute. |
| 1024 |
attribute. </p> |
</p> |
| 1025 |
|
|
| 1026 |
<h4> <a name="Translated_Plug-In_Information"></a> Translated Plug-In Information</h4> |
<h4> <a name="Translated_Plug-In_Information"></a> Translated Plug-In Information</h4> |
| 1027 |
No change from 1.0. Translated plug-in information should be |
No change from 1.0. Translated plug-in information should be |
| 1036 |
eclipse.org development resources page of the Update component. |
eclipse.org development resources page of the Update component. |
| 1037 |
|
|
| 1038 |
<h3> <a name="Packaging_Non_Plug_In_Files"></a> Packaging Non-Plug-In Files</h3> |
<h3> <a name="Packaging_Non_Plug_In_Files"></a> Packaging Non-Plug-In Files</h3> |
| 1039 |
Arbitrary non-plug-in files can be included as part of the feature |
Arbitrary non-plug-in files can be included as part of the |
| 1040 |
definition using the <tt><data></tt> elements. Non-plug-in files |
feature definition using the <tt><data></tt> elements. Non-plug-in |
| 1041 |
typically also requires specification of a custom install handler. In |
files typically also requires specification of a custom install handler. |
| 1042 |
general, the Eclipse support only downloads the referenced non-plug-in |
In general, the Eclipse support only downloads the referenced non-plug-in |
| 1043 |
files and calls the custom install handler to perform any actual installation |
files and calls the custom install handler to perform any actual installation |
| 1044 |
steps. |
steps. |
| 1045 |
<p>Eclipse does not specify the format of the non-plug-in files. </p> |
<p>Eclipse does not specify the format of the non-plug-in files. </p> |
| 1049 |
packaged as part of the <a href="#Feature_Archive">feature archive</a> |
packaged as part of the <a href="#Feature_Archive">feature archive</a> |
| 1050 |
. The installer must implement the <tt>IInstallHandler</tt> interface |
. The installer must implement the <tt>IInstallHandler</tt> interface |
| 1051 |
(in most cases will extend the <tt>BaseInstallHandler</tt> abstract helper |
(in most cases will extend the <tt>BaseInstallHandler</tt> abstract helper |
| 1052 |
class which implements <tt>IInstallHandler</tt>). When required, the install |
class which implements <tt>IInstallHandler</tt>). When required, the |
| 1053 |
handler is dynamically loaded by the installation and update code, and |
install handler is dynamically loaded by the installation and update |
| 1054 |
is called at specific points during its processing. The install handler |
code, and is called at specific points during its processing. The install |
| 1055 |
code has visibility to classes from the installation and update support |
handler code has visibility to classes from the installation and update |
| 1056 |
plug-in, and its prerequisite plug-ins. |
support plug-in, and its prerequisite plug-ins. |
| 1057 |
<p><b>Implementation Note:</b> the detailed list of visible prerequisite plug-ins |
<p><b>Implementation Note:</b> the detailed list of visible prerequisite |
| 1058 |
is still evolving. It is expected to include <tt>org.eclipse.core.boot </tt> |
plug-ins is still evolving. It is expected to include <tt>org.eclipse.core.boot |
| 1059 |
and <tt>org.eclipse.core.runtime</tt> in all cases, plus <tt>org.eclipse.ui</tt> |
</tt> and <tt>org.eclipse.core.runtime</tt> in all cases, plus <tt>org.eclipse.ui</tt> |
| 1060 |
and <tt>org.eclipse.swt</tt> when running with full workbench (ie. |
and <tt>org.eclipse.swt</tt> when running with full workbench (ie. |
| 1061 |
not "headless mode"). Also, it would be useful to always expose <tt>org.eclipse.core.ant</tt> |
not "headless mode"). Also, it would be useful to always expose <tt>org.eclipse.core.ant</tt> |
| 1062 |
so that build scripts can be used as part of the install handler implementation. |
so that build scripts can be used as part of the install handler implementation. |
| 1063 |
</p> |
</p> |
| 1064 |
|
|
| 1065 |
<p>The IInstallHandler interface supports the following methods [<b>Implementation |
<p>The IInstallHandler interface supports the following methods [<b>Implementation |
| 1066 |
Note:</b> the detailed definition of the IInstallHandler interface is |
Note:</b> the detailed definition of the IInstallHandler interface |
| 1067 |
still evolving. The description below is not an API specification (simply |
is still evolving. The description below is not an API specification |
| 1068 |
a functional description)]: </p> |
(simply a functional description)]: </p> |
| 1069 |
|
|
| 1070 |
<ul> |
<ul> |
| 1071 |
<li> install-initiated - the install handler is called after |
<li> install-initiated - the install handler is called after |
| 1072 |
a feature was selected for installation, but before any files were downloaded. |
a feature was selected for installation, but before any files were |
| 1073 |
It is intended to implement any custom click-through or user registration |
downloaded. It is intended to implement any custom click-through or |
| 1074 |
dialogs. The base implementation of this method supplied with the abstract |
user registration dialogs. The base implementation of this method supplied |
| 1075 |
class <tt>BaseInstallHandler </tt>performs the default click-through |
with the abstract class <tt>BaseInstallHandler </tt>performs |
| 1076 |
processing using the license text supplied as part of the feature manifest. |
the default click-through processing using the license text supplied |
| 1077 |
On return this method indicates success (installation continues) of failure |
as part of the feature manifest. On return this method indicates success |
| 1078 |
(installation is aborted).</li> |
(installation continues) of failure (installation is aborted).</li> |
| 1079 |
<li> install-downloaded - the install handler is called after |
<li> install-downloaded - the install handler is called after |
| 1080 |
all the required feature files were downloaded (feature, plugins, data) |
all the required feature files were downloaded (feature, plugins, |
| 1081 |
but before the actual installation is performed. The install handler |
data) but before the actual installation is performed. The install |
| 1082 |
is expected to perform verification of the non-plug-in data files (eg. |
handler is expected to perform verification of the non-plug-in data |
| 1083 |
security), or any other pre-install processing. On return this method |
files (eg. security), or any other pre-install processing. On |
| 1084 |
indicates success (installation continues) or failure (installation is |
return this method indicates success (installation continues) or failure |
| 1085 |
aborted).</li> |
(installation is aborted).</li> |
| 1086 |
<li> install-completion - the install handler is called after |
<li> install-completion - the install handler is called after |
| 1087 |
the feature information and the plug-ins were installed. It is expected |
the feature information and the plug-ins were installed. It is expected |
| 1088 |
to complete the installation of any non-plug-in data that was part of the |
to complete the installation of any non-plug-in data that was part of |
| 1089 |
feature. On return this method indicates success (returns custom install |
the feature. On return this method indicates success (returns custom install |
| 1090 |
log) or failure (installation is aborted). On failure, the install handler |
log) or failure (installation is aborted). On failure, the install handler |
| 1091 |
is expected to perform any required cleanup.</li> |
is expected to perform any required cleanup.</li> |
| 1092 |
<li> uninstall-initiated - the install handler is called when |
<li> uninstall-initiated - the install handler is called when |
| 1093 |
a feature is selected for removal, but before any of the standard uninstall |
a feature is selected for removal, but before any of the standard uninstall |
| 1094 |
processing has taken place. It is passed the custom install log created |
processing has taken place. It is passed the custom install log created |
| 1095 |
by the install handler install-completion step.</li> |
by the install handler install-completion step.</li> |
| 1096 |
<li> uninstall-completion - the install handler is called on |
<li> uninstall-completion - the install handler is called |
| 1097 |
completion of the standard uninstall steps. It is passed the custom |
on completion of the standard uninstall steps. It is passed the custom |
| 1098 |
install log created by the install handler install-completion step.</li> |
install log created by the install handler install-completion step.</li> |
| 1099 |
|
|
| 1100 |
</ul> |
</ul> |
| 1101 |
Note, that as a general practice, install handlers should be |
Note, that as a general practice, install handlers should be |
| 1102 |
provided in their own jars (even though they could be just exposed in |
provided in their own jars (even though they could be just exposed |
| 1103 |
the feature archive jar). The jar should be signed, and sealed. |
in the feature archive jar). The jar should be signed, and sealed. |
| 1104 |
|
|
| 1105 |
<h3> <a name="Security_Considerations"></a> Security Considerations</h3> |
<h3> <a name="Security_Considerations"></a> Security Considerations</h3> |
| 1106 |
The general approach is to use base Java jar signing for the |
The general approach is to use base Java jar signing for the |
| 1215 |
to a type string registered via the <a href="#Framework">install framework</a> |
to a type string registered via the <a href="#Framework">install framework</a> |
| 1216 |
extension point. If not specified, the type is assumed to be the default |
extension point. If not specified, the type is assumed to be the default |
| 1217 |
Eclipse site type (as specified in this document).</li> |
Eclipse site type (as specified in this document).</li> |
| 1218 |
<li> url - optional URL defining the update site baseline URL |
<li> url - optional URL defining the update site baseline |
| 1219 |
(used to determine individual <feature> and <archive> location). |
URL (used to determine individual <feature> and <archive> |
| 1220 |
Can be relative or absolute. If relative, is relative to site.xml. |
location). Can be relative or absolute. If relative, is relative |
| 1221 |
If not specified, the default is the URL location of the site.xml file.</li> |
to site.xml. If not specified, the default is the URL location of the |
| 1222 |
|
site.xml file.</li> |
| 1223 |
|
|
| 1224 |
</ul> |
</ul> |
| 1225 |
<li> <description> - brief description as simple text. |
<li> <description> - brief description as simple text. |
| 1237 |
<li> <feature> - identifies referenced feature archive</li> |
<li> <feature> - identifies referenced feature archive</li> |
| 1238 |
|
|
| 1239 |
<ul> |
<ul> |
| 1240 |
<li> type - optional feature type specification. The value refers |
<li> type - optional feature type specification. The value |
| 1241 |
to a type string registered via the <a href="#Framework">install framework</a> |
refers to a type string registered via the <a href="#Framework">install |
| 1242 |
extension point. If not specified, the type is assumed to be the default |
framework</a> extension point. If not specified, the type is assumed |
| 1243 |
feature type for the site. If the site type is the default Eclipse |
to be the default feature type for the site. If the site type is the |
| 1244 |
site type, the default feature type is the packaged feature type (as |
default Eclipse site type, the default feature type is the packaged |
| 1245 |
specified in this document).</li> |
feature type (as specified in this document).</li> |
| 1246 |
<li> id - optional feature identifier. The information is used |
<li> id - optional feature identifier. The information is |
| 1247 |
as a performance optimization to speed up searches for features. Must |
used as a performance optimization to speed up searches for features. |
| 1248 |
match the identifier specified in the feature.xml of the referenced |
Must match the identifier specified in the feature.xml of the referenced |
| 1249 |
archive (the url attribute). If specified, the version attribute must |
archive (the url attribute). If specified, the version attribute must |
| 1250 |
also be specified.</li> |
also be specified.</li> |
| 1251 |
<li> version - optional feature version. The information is |
<li> version - optional feature version. The information is |
| 1252 |
used as a performance optimization to speed up searches for features. |
used as a performance optimization to speed up searches for features. |
| 1253 |
Must match the version specified in the feature.xml of the referenced archive |
Must match the version specified in the feature.xml of the referenced |
| 1254 |
(the url attribute). If specified, the id attribute must also be specified.</li> |
archive (the url attribute). If specified, the id attribute must also be |
| 1255 |
<li> url - required URL reference to the feature archive. Can |
specified.</li> |
| 1256 |
be relative or absolute. If relative, it is relative to the location |
<li> url - required URL reference to the feature archive. |
| 1257 |
|
Can be relative or absolute. If relative, it is relative to the location |
| 1258 |
of the site.xml file. <b>Note</b>: the default site implementation |
of the site.xml file. <b>Note</b>: the default site implementation |
| 1259 |
allows features to be accessed without being explicitly declared using |
allows features to be accessed without being explicitly declared using |
| 1260 |
a <feature> entry. By default, an undeclared features reference is |
a <feature> entry. By default, an undeclared features reference is |
| 1267 |
list of os designators defined by Eclipse (see Javadoc for <tt>org.eclipse.core.boot.BootLoader)</tt> |
list of os designators defined by Eclipse (see Javadoc for <tt>org.eclipse.core.boot.BootLoader)</tt> |
| 1268 |
. Indicates this feature should only be installed on one of the specified |
. Indicates this feature should only be installed on one of the specified |
| 1269 |
os systems. If this attribute is "*", the feature can be installed |
os systems. If this attribute is "*", the feature can be installed |
|
on all systems (portable implementation). This information is used as a |
|
|
hint by the installation and update support (user can force installation |
|
|
of feature regardless of this setting).</li> |
|
|
<li> arch - optional machine architecture specification. A |
|
|
comma-separated list of architecture designators defined by Eclipse |
|
|
(see Javadoc for <tt> org.eclipse.core.boot.BootLoader)</tt>. |
|
|
Indicates this feature should only be installed on one of the specified |
|
|
systems. If this attribute is "*", the feature can be installed |
|
| 1270 |
on all systems (portable implementation). This information is used as |
on all systems (portable implementation). This information is used as |
| 1271 |
a hint by the installation and update support (user can force installation |
a hint by the installation and update support (user can force installation |
| 1272 |
of feature regardless of this setting).</li> |
of feature regardless of this setting).</li> |
| 1273 |
|
<li> arch - optional machine architecture specification. A |
| 1274 |
|
comma-separated list of architecture designators defined by Eclipse |
| 1275 |
|
(see Javadoc for <tt> org.eclipse.core.boot.BootLoader)</tt>. Indicates |
| 1276 |
|
this feature should only be installed on one of the specified systems. |
| 1277 |
|
If this attribute is "*", the feature can be installed on all systems |
| 1278 |
|
(portable implementation). This information is used as a hint by the |
| 1279 |
|
installation and update support (user can force installation of feature |
| 1280 |
|
regardless of this setting).</li> |
| 1281 |
<li> ws - optional windowing system specification. A comma-separated |
<li> ws - optional windowing system specification. A comma-separated |
| 1282 |
list of ws designators defined by Eclipse (see Javadoc for <tt>org.eclipse.core.boot.BootLoader)</tt> |
list of ws designators defined by Eclipse (see Javadoc for <tt>org.eclipse.core.boot.BootLoader)</tt> |
| 1283 |
. Indicates this feature should only be installed on one of the specified |
. Indicates this feature should only be installed on one of the specified |
| 1284 |
ws systems. If this attribute is "*", the feature can be installed |
ws systems. If this attribute is "*", the feature can be installed |
| 1285 |
on all systems (portable implementation). This information is used as |
on all systems (portable implementation). This information is used |
| 1286 |
a hint by the installation and update support (user can force installation |
as a hint by the installation and update support (user can force installation |
| 1287 |
of feature regardless of this setting).</li> |
of feature regardless of this setting).</li> |
| 1288 |
<li> nl - optional locale specification. A comma-separated |
<li> nl - optional locale specification. A comma-separated |
| 1289 |
list of locale designators defined by Java. Indicates this feature should |
list of locale designators defined by Java. Indicates this feature should |
| 1290 |
only be installed on a system running with a compatible locale (using Java |
only be installed on a system running with a compatible locale (using |
| 1291 |
locale-matching rules). If this attribute is "*", the feature can |
Java locale-matching rules). If this attribute is "*", the feature |
| 1292 |
be installed on all systems (language-neutral implementation). This information |
can be installed on all systems (language-neutral implementation). This |
| 1293 |
is used as a hint by the installation and update support (user can force |
information is used as a hint by the installation and update support (user |
| 1294 |
installation of feature regardless of this setting).</li> |
can force installation of feature regardless of this setting).</li> |
| 1295 |
<li>patch - optional specification indicating if this feature |
<li>patch - optional specification indicating if this feature |
| 1296 |
is a patch. Default is "false". </li> |
is a patch. Default is "false". </li> |
| 1297 |
|
|
| 1308 |
<ul> |
<ul> |
| 1309 |
<li> path - required archive path identifier. This is a string |
<li> path - required archive path identifier. This is a string |
| 1310 |
that is determined by the <a |
that is determined by the <a |
| 1311 |
href="#Feature_Archive_Mapping_Id_To_Path">feature</a> referencing this |
href="#Feature_Archive_Mapping_Id_To_Path">feature</a> referencing |
| 1312 |
archive and is not otherwise interpreted by the site (other than as a |
this archive and is not otherwise interpreted by the site (other than |
| 1313 |
lookup token).</li> |
as a lookup token).</li> |
| 1314 |
<li> url - required URL reference to the archive. Can be relative |
<li> url - required URL reference to the archive. Can be relative |
| 1315 |
or absolute. If relative, it is relative to the location of the site.xml |
or absolute. If relative, it is relative to the location of the site.xml |
| 1316 |
file.</li> |
file.</li> |
| 1326 |
<li> label - displayable label. Intended to be translated.</li> |
<li> label - displayable label. Intended to be translated.</li> |
| 1327 |
|
|
| 1328 |
</ul> |
</ul> |
| 1329 |
<li> <category> - actual category specification for a |
<li> <category> - actual category specification for |
| 1330 |
feature entry</li> |
a feature entry</li> |
| 1331 |
|
|
| 1332 |
<ul> |
<ul> |
| 1333 |
name - category name |
name - category name |
| 1340 |
|
|
| 1341 |
<p>Translatable text contained in the site.xml can be separated into site<_locale>.properties |
<p>Translatable text contained in the site.xml can be separated into site<_locale>.properties |
| 1342 |
files using Java property bundle conventions. Note that the translated |
files using Java property bundle conventions. Note that the translated |
| 1343 |
strings are used at installation time (ie. do not employ the plug-in fragment |
strings are used at installation time (ie. do not employ the plug-in |
| 1344 |
runtime mechanism). The property bundles are located relative to the |
fragment runtime mechanism). The property bundles are located relative |
| 1345 |
site.xml location. </p> |
to the site.xml location. </p> |
| 1346 |
|
|
| 1347 |
<h3> <a name="Default_Site_Layout"></a> Default Site Layout</h3> |
<h3> <a name="Default_Site_Layout"></a> Default Site Layout</h3> |
| 1348 |
<tt><site root>/</tt> <br> |
<tt><site root>/</tt> <br> |
| 1368 |
<li> by supplying server-side logic on the update server (eg. |
<li> by supplying server-side logic on the update server (eg. |
| 1369 |
implementing servlets that compute the site.xml map, and control access |
implementing servlets that compute the site.xml map, and control access |
| 1370 |
to individual archives based on some user criteria)</li> |
to individual archives based on some user criteria)</li> |
| 1371 |
<li> by supplying a custom concrete implementation of the site |
<li> by supplying a custom concrete implementation of the |
| 1372 |
object (installed on the client machine, update server specified <tt><site |
site object (installed on the client machine, update server specified |
| 1373 |
type=""></tt> ). The custom concrete site implementation, together |
<tt><site type=""></tt> ). The custom concrete site implementation, |
| 1374 |
with any server-side logic support the required control mechanisms.</li> |
together with any server-side logic support the required control mechanisms.</li> |
| 1375 |
|
|
| 1376 |
</ul> |
</ul> |
| 1377 |
Eclipse provides an example demonstrating an implementation |
Eclipse provides an example demonstrating an implementation |
| 1403 |
<tt> |
<tt> |
| 1404 |
META_INF/</tt> </p> |
META_INF/</tt> </p> |
| 1405 |
|
|
| 1406 |
<p><b>Implementation Note:</b> we will go back to the original design of not |
<p><b>Implementation Note:</b> we will go back to the original design of |
| 1407 |
splitting out fragments (ie. plugin and fragments go into the same install |
not splitting out fragments (ie. plugin and fragments go into the same install |
| 1408 |
location) </p> |
location) </p> |
| 1409 |
|
|
| 1410 |
<h3> <a name="Unmanaged_Plugins"></a> "Unmanaged" Plug-Ins</h3> |
<h3> <a name="Unmanaged_Plugins"></a> "Unmanaged" Plug-Ins</h3> |
| 1412 |
plug-ins that were directly installed into the Eclipse file tree without |
plug-ins that were directly installed into the Eclipse file tree without |
| 1413 |
being part of a feature (eg. developer unzipping plug-in archive directly |
being part of a feature (eg. developer unzipping plug-in archive directly |
| 1414 |
into the Eclipse file tree). |
into the Eclipse file tree). |
| 1415 |
<p>Eclipse runtime recognizes these plugins during startup and loads the plug-in |
<p>Eclipse runtime recognizes these plugins during startup and loads the |
| 1416 |
information into the runtime registry following the standard plug-in binding |
plug-in information into the runtime registry following the standard plug-in |
| 1417 |
rules. The update support also recognizes the presence of this new plug-in, |
binding rules. The update support also recognizes the presence of this new |
| 1418 |
but since this plug-in is not part of any feature it cannot be updated using |
plug-in, but since this plug-in is not part of any feature it cannot be updated |
| 1419 |
the update support (hence "unmanaged"). Unmanaged plug-in that become referenced |
using the update support (hence "unmanaged"). Unmanaged plug-in that become |
| 1420 |
by a feature as a result of some future installation or update action become |
referenced by a feature as a result of some future installation or update |
| 1421 |
"managed" (can be updated as part of the feature). </p> |
action become "managed" (can be updated as part of the feature). </p> |
| 1422 |
|
|
| 1423 |
<p>Unmanaged plug-ins are not displayed as part of the installation and update |
<p>Unmanaged plug-ins are not displayed as part of the installation and update |
| 1424 |
UI. </p> |
UI. </p> |
| 1426 |
<h3> <a name="Using_Native_Platform_Installers"></a> Using Native Platform |
<h3> <a name="Using_Native_Platform_Installers"></a> Using Native Platform |
| 1427 |
Installers</h3> |
Installers</h3> |
| 1428 |
The Eclipse installation contains plugins that can be shared |
The Eclipse installation contains plugins that can be shared |
| 1429 |
across multiple features. When installing and uninstalling features using |
across multiple features. When installing and uninstalling features |
| 1430 |
the Eclipse installation and update support, these relationship are correctly |
using the Eclipse installation and update support, these relationship |
| 1431 |
maintained. Only one copy of any version of a plug-in is used. |
are correctly maintained. Only one copy of any version of a plug-in is |
| 1432 |
|
used. |
| 1433 |
<p>However, when using native platform installers, performing native uninstall |
<p>However, when using native platform installers, performing native uninstall |
| 1434 |
creates problems because plug-ins would be removed without regard to |
creates problems because plug-ins would be removed without regard |
| 1435 |
any sharing relationships. As a result, Eclipse <b>does not allow</b> |
to any sharing relationships. As a result, Eclipse <b>does not allow</b> |
| 1436 |
plug-ins to be installed using native installers into the shared installation |
plug-ins to be installed using native installers into the shared installation |
| 1437 |
tree. Instead, native installers must establish their own installation |
tree. Instead, native installers must establish their own installation |
| 1438 |
root directory. The subdirectory structure is the same as defined for base |
root directory. The subdirectory structure is the same as defined for |
| 1439 |
Eclipse. The private root directory is logically linked into the shared |
base Eclipse. The private root directory is logically linked into the shared |
| 1440 |
Eclipse installation via a link file installed by the native installer. |
Eclipse installation via a link file installed by the native installer. |
| 1441 |
The file path for the link file is <tt><configRoot>/links/</tt>. |
The file path for the link file is <tt><configRoot>/links/</tt>. |
| 1442 |
The <tt><configRoot> </tt> location is computed by Eclipse relative |
The <tt><configRoot> </tt> location is computed by Eclipse relative |
| 1443 |
to the launch <a href="#Multiple%20Launch%20Points"> configuration file</a> |
to the launch <a href="#Multiple%20Launch%20Points"> configuration file</a> |
| 1444 |
. By default, this is the <tt>install/</tt> directory in the shared Eclipse |
. By default, this is the <tt>install/</tt> directory in the shared |
| 1445 |
installation tree. </p> |
Eclipse installation tree. </p> |
| 1446 |
|
|
| 1447 |
<p>The name of the link file is not specified by Eclipse. The name is determined |
<p>The name of the link file is not specified by Eclipse. The name is determined |
| 1448 |
by the native installer. To minimize the potential for naming collisions, |
by the native installer. To minimize the potential for naming collisions, |
| 1449 |
it is recommended that the file name contain the identifier and version |
it is recommended that the file name contain the identifier and version |
| 1450 |
of the feature being installed by the native installer. For example, <tt><featureId>_<featureVersion>.properties</tt> |
of the feature being installed by the native installer. For example, |
| 1451 |
. The file content is in the form of a Java properties file, with the |
<tt><featureId>_<featureVersion>.properties</tt> . The file |
| 1452 |
following properties defined: </p> |
content is in the form of a Java properties file, with the following |
| 1453 |
|
properties defined: </p> |
| 1454 |
|
|
| 1455 |
<p><tt>path=[r|rw] install-path[,[r|rw] install-path]*</tt> </p> |
<p><tt>path=[r|rw] install-path[,[r|rw] install-path]*</tt> </p> |
| 1456 |
|
|
| 1457 |
<p>The property <tt>path</tt> is a comma-separated list of optionally annotated |
<p>The property <tt>path</tt> is a comma-separated list of optionally annotated |
| 1458 |
install paths. The property value <tt>install-path</tt> is a full file |
install paths. The property value <tt>install-path</tt> is a full |
| 1459 |
path to the installation directory root, specified in local OS format. |
file path to the installation directory root, specified in local OS |
| 1460 |
The optional annotation <tt>r</tt> or <tt>rw</tt> indicates whether Eclipse |
format. The optional annotation <tt>r</tt> or <tt>rw</tt> indicates whether |
| 1461 |
update support should allow the specified location to be used for updates. |
Eclipse update support should allow the specified location to be used |
| 1462 |
Default is to allow updates (w). </p> |
for updates. Default is to allow updates (w). </p> |
| 1463 |
|
|
| 1464 |
<p>Eclipse does not manage the linked directories in any way. It simply detects |
<p>Eclipse does not manage the linked directories in any way. It simply detects |
| 1465 |
their existence by the presence of the link files, and includes the |
their existence by the presence of the link files, and includes the |
| 1477 |
<br> |
<br> |
| 1478 |
<br> |
<br> |
| 1479 |
<br> |
<br> |
| 1480 |
|
<br> |
| 1481 |
</body> |
</body> |
| 1482 |
</html> |
</html> |