Hi,
 
After doing a little with the plugin manager on the weekend, I noticed (as I
suspected), that plugin "upgrading" (or downgrading via a dependency),
doesn't do what you might expect.
It seems it will always load both plugins, and I suspect it will call the
latest, even when using a dependency on an older version.
 
This is fine for the addition of goals, but what effect will it have on
preGoal/postGoal chains? I suspect (again untested :) that they will be run
twice.
 
So what I was wondering was what we expect the behaviour to be is in this
case. I would think that 
1) there should only be one plugin of a type loaded at a time (easy to
change by having the manager use the artifactId as the name - removing the
version)
2) if 1.2 and 1.2-SNAPSHOT are present, use 1.2 (difficult, because we have
no concept of version X > version Y since you can use any type of string)
3) if 1.2 and 1.3 are present, use 1.3
4) if a plugin dependency element is present, use that version.
 
Is this what everyone else expects? If so, I think 1 and 4 should be done,
with 2 and 3 covered by a string comparator. It won't always work, but it'll
do for now until we can properly spec. it out.
 
Thoughts?
 
Cheers,
Brett
 
--
Brett Porter
Team Leader, Core Systems
f2 network ~ everything essential
 

Reply via email to