Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cross-project-issues-dev] Bundle Version Management


Comments below.

On 17/08/2012 3:52 PM, John Arthorne wrote:
Ed Merks <ed.merks@xxxxxxxxx> wrote on 08/17/2012 08:49:16 AM:
> Eike and I have been working on a tool for helping manage plugin and
> feature versions (as well as other types of consistency checks).  

Sounds great! We had a tool like this in Platform project but it was broken a couple of years ago and we never got around to fixing it.

> 1.  Can anyone comment on why we've pretty much all ended up hard
> coding the license feature version rather than using 0.0.0 like we
> do for include and plugin declarations?  

My memory is fuzzy on this, but I think one of the considerations here was that you wouldn't want your features to end up with a different license "for free" without it being a deliberate choice.
Well, we specify exactly the feature ID for the license so it ought not to ever change for free.  Also, with our version tool, if the license feature changes, its version number must be changed, and once that's change, every feature that includes it must change its version number too, in a way that's consistent with the version change in the license, i.e., if the license change is a micro change, the including features need a micro increment, if it's a minor change, the including features need a minor increment.
If an EPL v2.0 came out, we couldn't have projects automatically picking it up.
No, we'd have to change each of our license features, i.e., the one for EMF the EMF project's features.
Also licenses tend to evolve differently than other dependencies. When they change, you generally want to change every singe feature at once so a search & replace is very easy to do.
The versioning tool would tell you that other features need increment and why, i.e., because of the increment of a particular dependency.
Having said all that, you could use 0.0.0 if you were very careful about ensuring only the right license was available at build time.
I imagine every project has their own specific license feature so as long as my build extracts the license feature along with the rest of the source, it's inherently consistent...

> 2. And the more general question, is there any value in hard coding
> the number even for include and plugin declarations?  I.e., does
> anyone hard code the version in of their feature.xml's plugin and
> include declarations rather than use 0.0.0?  If so, what's the value
> of a hard code number in that context, given it's more work to
> maintain it properly?

I don't think I've ever seen anything other than 0.0.0, but one possibility is a case where you don't actually want to include the "greatest" available version of something. For example if there were multiple versions of a third party feature available at build time but you wanted to explicitly include the older one (maybe platform 3.8 versus 4.2 for example). I agree this would be more work to maintain.
I see.  That's a corner case that's possible.  I imagine most avoid this by controlling carefully what's available at build time...


cross-project-issues-dev mailing list

Back to the top