Hi,

Carsten Ziegeler schrieb:
> Felix Meschberger wrote:
>> Granted, it is not simple and easy, but it is definitely worth the effort.
> Ok, so if we would do this, we would use different versions for packages
> and the bundle version is then just the highest version number used for one
> package (at least in most cases).
> The only problem I still have is that in the end there is no correlation
> between the bundle version and the package versions. If for example a
> bundle has two packages A and B, we start with version 0.1 for both
> packages -> bundle version 0.1; then we change B to 0.2 -> bundle
> version 0.2 but A is still 0.1.
> Now we change A to 0.2 as well which would result in what bundle
> version? 0.2.2?

How about this:

* The bundle version number is always >= the highest version
  number of all exported packages.
* If only implementation fixes apply to a bundle, the micro
  number is increased
* If the version number is to be incresed it is set to the next
  minor version number of the bundle.

Example:

* Initial revision of Bundle A
     version 1.0.0
     exports package1,version 1.0
     exports package2,version 1.0
     contains implementation code

* Fix implementation. thus:
     version 1.0.1
     exports package1,version 1.0
     exports package2,version 1.0
     contains implementation code

* Extend package1 API, thus:
     version 1.1.0
     exports package1,version 1.1
     exports package2,version 1.0
     contains implementation code

* Extend package2 API, thus:
     version 1.2.0
     exports package1,version 1.1
     exports package2,version 1.2
     contains implementation code

Note, there will not be a package2 version 1.1 but the version numbers
remain aligned and the version numbers always increase and there is at
least some coherence between package export and bundle version.

WDYT ?

Regards
Felix

Reply via email to