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]
