<html> | |
<head> | |
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> | |
<title>The Equinox Runtime - Users Guide</title> | |
<link rel="stylesheet" title="default" href="http://eclipse.org/default_style.css" type="text/css"> | |
<style> | |
th,td { vertical-align:top; text-align=left} | |
.issue { font-style:oblique; width:200px;} | |
.box { background-color:#E0E0FF} | |
</style> | |
</head> | |
<body> | |
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" > | |
<tr> | |
<td ALIGN=left width="60%"> | |
<p><font class=indextop> eclipse</font><br> | |
<font class=indexsub> runtime users guide</font> </p> | |
</td> | |
<td WIDTH="40%"> </td> | |
</tr> | |
</table> | |
<blockquote> | |
<p><b>Summary</b> <br> | |
This document details how to run and control the Eclipse 3.0 runtime. <br> | |
Last Modified: 1700 March 23, 2004</p> | |
</blockquote> | |
<table border=0 cellspacing=0 cellpadding=2 width="100%" > | |
<tr> | |
<td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF"> | |
Controlling the runtime</font></b></td> | |
</tr> | |
</table> | |
<p>This section has been moved to the Reference section of the ISV doc.</p> | |
<table border=0 cellspacing=0 cellpadding=2 width="100%" > | |
<tr> | |
<td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF"> | |
<a name="locations"></a>Locations</font></b></td> | |
</tr> | |
</table> | |
<p>This section has been moved to the Reference section of the ISV doc.</p> | |
<table border=0 cellspacing=0 cellpadding=2 width="100%" > | |
<tr> | |
<td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF"> Configurations</font></b></td> | |
</tr> | |
</table> | |
<p>Configurations define a (sub)set of plugins found in an install. Users can | |
then run a configuration on a data set (e.g., workspace). This is easy to see, | |
for example, in a corporate setting where all of the Eclipse-based products | |
might be installed and managed in one large install base. This install would | |
contain potentially thousands of plugins. The Eclipse runtime scales to handle | |
this but the resultant environment is likely not interesting for users. Such | |
shared installations reduce the effort required to manage | |
products as well as providing a centralized point for defining consistent | |
sets of function.</p> | |
<p>For example, users | |
from, say, accounting should run the "accounting configuration" which identifies | |
only those plugins useful to accountants. Similarly, the developers have their | |
configurations as do the sales team. Further, products typically ship with | |
predefined configuration(s) which define/suit their envisioned usecases. </p> | |
<p>When the Eclipse runtime is run, agents (plugins, remote entities or humans) | |
can control the set of plugins that the runtime manages. Plugins managed by | |
the runtime are candidates for execution. A candidate must be resolved before | |
any of its code can be run or its presence (e.g., extensions) is made known. | |
The runtime keeps track of the set of managed plugins and associated information | |
in a configuration location. If there is no such location or the location is | |
readonly, the runtime will still run but may not be able to offer all function. | |
For example, it will not be able to remember between sessions which plugins | |
it manages.</p> | |
<p>In a shared install the plugins themselves are shared as are the predefined | |
configurations but each user may have their own area in which configuration | |
values can be overridden and configuration-specific data can be stored. Eclipse | |
uses the notion of <em>cascading configurations</em> to layer configurations.</p> | |
<p>freezing</p> | |
<p> </p> | |
<p> </p> | |
<p>To allow for shared installations and </p> | |
<p> </p> | |
<p>In </p> | |
<p>the notion of a <i>configuration area</i> (see <code>Platform.getConfigurationLocation()</code>). | |
For the runtime, the configuration area contains a file called config.ini. | |
This file, if present, contains a set of properties which control the construction | |
and operation of the framework and runtime. For example, it is in this file | |
that an initial set of bundles to load and start is defined.</p> | |
<p>The runtime does not define how this file is managed, nor does it contain | |
any mechanism for updating the file (i.e., the runtime never writes the file). | |
Rather, this responsibility is left to the entity managing the configuration. | |
In some scenarios the configuration is defined and locked during product build, | |
in other cases a system administrator crafts the configuration and pushes it | |
to machines (or it is shared), in still other situations the end user manages | |
the config.ini (in)directly using a configuration management tool such as the | |
Eclipse Update Manager.</p> | |
<p>Any of these entities are free to put additional files and information in | |
the configuration area. They should be careful however to consider cases where | |
the configuration area is read-only. While it is not a requirement that plug-ins | |
using the configuration area operate completely or partially when the area | |
is read-only, your plug-in may not be usable in certain situations if it does | |
not. For example, a typical tooling scenario includes a writable configuration | |
area. If your plug-in is targetted at tooling environments, you are probably | |
safe making that assumption. Note however that if somoene tries to use your | |
plug-in in a constrained RCP scenario where there is no writable storage, they | |
will likely be disappointed.</p> | |
<h4>cascading</h4> | |
<p>configurators</p> | |
<table border=0 cellspacing=0 cellpadding=2 width="100%" > | |
<tr> | |
<td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF"> | |
Running out of jars</font></b></td> | |
</tr> | |
</table> | |
<p>running out of jars</p> | |
<table border=0 cellspacing=0 cellpadding=2 width="100%" > | |
<tr> | |
<td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF"> | |
The Console</font></b></td> | |
</tr> | |
</table> | |
<p>using the console</p> | |
<table border=0 cellspacing=0 cellpadding=2 width="100%" > | |
<tr> | |
<td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF"> | |
Setting up your workspace</font></b></td> | |
</tr> | |
</table> | |
<p>Users with existing workspaces should not encounter problems opening them with | |
the Equinox runtme. However, since the runtime plug-in structure has changed, | |
there some updating of classpaths may be required. In particular, developers | |
setting up a runtime workspace (i.e., a workspace containing plug-ins) will | |
need to either:</p> | |
<ul> | |
<li>configure the target platform (Preferences->Plug-in Development->Target | |
Platform) to include the required plug-ins and then use PDE "required | |
plugin" classpath containers on their projects (recommended) or </li> | |
<li>add projects (binary or source) for the required plug-ins and setup explicit | |
project dependencies for their projects</li> | |
</ul> | |
<p>Both of these can be accomplished using the PDE Tools->Update classpath | |
project context menu. </p> | |
<p>The following projects are needed (in addition to the normal set) :</p> | |
<ul> | |
<li>org.eclipse.osgi</li> | |
<li>org.eclipse.core.runtime.compatibility</li> | |
<li>org.eclipse.update.configurator</li> | |
</ul> | |
<p>If you have an existing runtime workspace containing one of the following pre-existing | |
plug-ins, it must be updated to accurately match their new contents</p> | |
<ul> | |
<li>org.eclipse.core.boot</li> | |
<li>org.eclipse.core.runtime</li> | |
</ul> | |
<p>Note that these plug-ins are only required if your plug-in uses the old runtime | |
API. If you have adopted the new API (see <a href="#updating">Updating your | |
code</a>) then these projects/plug-ins are not needed.</p> | |
<p>There should be no need to modify the launch configurations as the runtime | |
is self-discovering.</p> | |
<table border=0 cellspacing=0 cellpadding=2 width="100%" > | |
<tr> | |
<td align=LEFT valign=TOP colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF"> | |
Feedback</font></b></td> | |
</tr> | |
</table> | |
<p> Should you encounter any problems while using the Equinox runtime, you are | |
encouraged to either log a bug report in the <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Equinox">Equinox | |
Bugzilla database</a> or make a posting to the Core <a href="http://dev.eclipse.org/mailman/listinfo/platform-core-dev">mailing | |
list</a> or the Platform <a href="news://news.eclipse.org/eclipse.platform">newsgroup</a>. | |
</p> | |
</body> | |
</html> |