Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Update CDT feature/plugin versions for Helios SR1 and Indigo releases

Hi, Marc,

See some replies in-line, below.

HTH,

Christian


On 26/07/10 03:11 PM, Marc Khouzam wrote:
Hi,
 
I'm new to feature handling for our development.  I'd like to know what I should do to features, when I update the version of a plugin.
 
Looking a the mail below,
 
1- I should make sure the feature that imports that plugin has a new version since CDT 7.0
(either minor or major, depending on the plugin changes part of that feature).
Could there be more than one feature impacted?

I think that all features that have plug-ins whose API re-exports the API of your updated dependency will need need to update their version numbers according to the kind of update (minor/major).

Unless you are willing to accept the burden of continuing to test the feature with the old version of the dependency, to ensure that it still works.  :-)


2- When changing a feature version, I need to update the cdt.releng plugin buildsite.xml to remove
the old feature version and put the new one
 
But also, I think,
 
3- I must check feature.xml and somehow deal with the "Dependencies" tab.  This is unclear to me.
Some of the dependencies use "Compatible", some "Greater or Equal", and some fo the versions
of the plugins are older than the actual plugin.  Should I keep those versions the same as the plugins?
Which type of dependency should we use? "Compatible" or "Greater or Equal", or is there a smart
way to choose one of the two?

If you're updating a bundle that your feature requires to a newer version, if the feature will continue to work with the older version of that bundle (i.e., you're not using new API from that bundle), then you don't have to change the dependency version.  However, this implies a burden of continuing to test that feature with the old bundle version, which I don't think any sane person would do.

So, it's best to update the minimum required version of the bundle in your feature manifest.

IMHO, "greater or equal" should never be used, because this accepts API breakages when bundle dependencies change their major version parts.  How could one test *in advance* that those future versions will still work, i.e., that any potential API breakage will not impact this feature?  I think "compatible" should be preferred.

All of this applies equally to the dependency version ranges in bundle-to-bundle dependencies.  In fact, if you actively manage dependencies only at the bundle level, then the Feature Manifest Editor can compute the feature-level bundle dependencies for you (there's a little button for that in the editor).

When I was with the EMF project, we took this to the extreme by *always* updating the lower-bound of all dependency ranges to the actual major.minor version of every bundle, because we knew that was the only configuration we could reasonably test.  It didn't matter that, for example, EMF 2.5 could actually run on Eclipse 3.4.  We built and tested with Eclipse 3.5, so that was the dependency lower bound.  In practice, I think this was the right approach, because otherwise users could upgrade in the field to configurations that we hadn't tested, and could actually break in ways we hadn't anticipated.  It somewhat limits the flexibility of the dependency and update mechanism, but at least it was safe.

 
Thanks for any guidance.
 
Marc
 


From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Vivian Kong
Sent: Tuesday, June 29, 2010 10:53 AM
To: cdt-dev@xxxxxxxxxxx
Subject: [cdt-dev] Update CDT feature/plugin versions for Helios SR1 and Indigo releases

Hi everyone,

We need to update the feature/plugin version numbers for the Helios SR1 (cdt_7_0) and Indigo (HEAD) releases.

I've made an attempt to update the feature versions based on any plugin version number changes after Helios. I need everyone's help to keep the feature numbers up-to-date so please be sure to update the associated feature version as you update the version number of your plugins. This is done in the feature's feature.xml as well as buildsite.xml in org.eclipse.cdt.releng so our update site is up-to-date as well. You can find the org.eclipse.cdt.releng plugin under org.eclipse.cdt/all in CVS.

For changes I've made so far, please see:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=318337
https://bugs.eclipse.org/bugs/show_bug.cgi?id=318338

Thanks!

Regards,

Vivian Kong
IBM Eclipse CDT
IBM Canada Toronto Lab

_______________________________________________ cdt-dev mailing list cdt-dev@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/cdt-dev


--
Christian W. Damus
Software Developer, IDE Team
QNX Software Systems

Back to the top