Well, sad story...
I do many things with reflection, and for doing so, the classloader must be able to reach those classes. In eclipse 3.1, classes can only access classes that are within the plugin-runtime environment, so, this plugin was done with dependencies on all plugins, so that it can be used by those plugins
If this is not done (if it didn't have those dependencies), some simple things would fail, such as deserializing a class from another plugin (in my case, this was org.python.pydev.ui.pythonpathconf.InterpreterInfo in a method that de-serialized it -- getObjAsStr), because it could not access those classes (Serializing works ok).
As I didn't want to add dependencies to the org.python.pydev.core plugin, I created this plugin (org.python.pydev.coreutils), that must be dependent on the plugins that intend to use it because of all that reflection things...
Maybe it could be a separate dll, or those classes could be copied for each plugin, but this works and does not seem to give more problems, so, I'm keeping it for now!
Cheers,
Fabio
No comments:
Post a Comment