[Issue 328] New - Plugin cooperation

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[Issue 328] New - Plugin cooperation

                 Issue #|328
                 Summary|Plugin cooperation
       Status whiteboard|
              Issue type|ENHANCEMENT
             Assigned to|issues@hudson
             Reported by|crahen

------- Additional comments from [hidden email] Mon Feb 26 04:23:42 +0000 2007 -------
I believe we discussed this some time ago between us.

I think the proper thing to do is to allow plugins to declare
dependencies to each other, and have Hudson set up classloaders
accordingly. Could you open an issue for this so that we can keep

2007/2/24, Eric Crahen <[hidden email]>:
- Hide quoted text -

> Hi,
> If I have one plugin which contains something like Ivy and sets up the
> configuration for Ivy, I have access to all of that inside the classes
> contained in the Ivy Plugin. Now I want to  add a second plugin, this one
> will also use Ivy - but it has a different job. Its going to do a highly
> specialized task which happens to involve Ivy. Is there anyway to leverage
> the configuration and/or classes from the first plugin? It seems like the
> answer is probably no since they live in sibling classloaders.
> I also have a straw man of an Ant plugin that allows for some simple extras
> the current Ant doesn't allow - like setting the associated system
> properties w/ a nice UI. I wanted to make my Ivy plugin actually use the Ant
> plugin since what I want to do is basically run ant, and add the -lib
> options for the Ivy antlibs. There again I want to share references to
> objects.
> I can overcome the classloader isolation with reflection to actually have
> one plugin use a class from another, but is there some way to get the object
> reference of one plugin into another? For instance, take the Ant and Ivy-Ant
> plugins. Both are Builders and the later wants to see the former - and they
> want to see the configured Builder instance, not the Descriptor.
> --

To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]