In addition to checking the plugin dependency graph for circular
dependencies at build time, each plugin is also loaded with a
classloader than can only "see" the things that it has access to (ie
its own dependencies).  This prevents the plugin from doing uplevel
references to things "higher" in the dependency graph.

Things like having GEF's ResourceLoader think that it can rummage
around in the classpath of modules to find icons and other resources
don't work in this environment (and aren't a good idea in any
environment).

Removing circular dependencies from our dependency graph is good
software engineering, regardless of whether or not we move to Eclipse.
 Lazy initialization of everything, not just modules (in Eclipse
*everything* is a plugin), would be a good idea to improve startup
responsiveness.  We've got way too many static blocks, global
initialization requirements, and other things that slow down startup.
Some of this is related to the confused dependency graph where
everything needs to have the rest of the known universe initialized
before it will work.

Tom

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to