[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [FR-devel] Plugin dependencies proposal
From: |
Laurent Julliard |
Subject: |
Re: [FR-devel] Plugin dependencies proposal |
Date: |
Wed, 06 Nov 2002 21:08:14 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1) Gecko/20020826 |
Rich Kilmer wrote:
Team,
My question is this: Is "depends on" (from UNLOADED->LOAD and
LOADED->START and their reverse) sufficient?
Let me know your thoughts.
Rich
I think we need no more than that right now. I would even argue that
right now the only thing that is really useful is to know that a given
is running (Started).
Curt asked how Eclipse is handling this. Well the answer is: it is as
basic as one can think. The plugin.xml file allows one to specify a
<require> statement which actually means that you want the required
plugins to be started before you actually start yours. There isn't any
notion of 'loaded' state. Just 'Running' (= Started)
For your information the Eclipse documentation dealing with this is at
http://www.eclipse.org/documentation/html/plugins/org.eclipse.platform.doc.isv/doc/reference/misc/rplugman.html
The relevant section is pasted below:
The <requires> section of the manifest declares any dependencies on
other plug-ins.
<!ELEMENT requires (import+)>
<!ELEMENT import EMPTY>
<!ATTLIST import
plugin CDATA #REQUIRED
version CDATA #IMPLIED
match (exact | compatible) "compatible"
export (true | false) "false"
>
Each dependency is specified using an <import> element. It contains
the following attributes:
* plugin - identifier of the required plug-in
* version - optional version specification
* match - version matching rule. Ignored if version attribute is
not specified. Determines whether the dependency is satisfied only
with a plug-in of the specified version (possibly with additional
service applied), or the dependency can be satisfied with any
compatible version (including a more recent minor version of the plug-in)
* export - specifies whether the dependent plug-in classes are
made visible (are (re)exported) to users of this plug-in. By default,
dependent classes are not exported (are not made visible)