Hi Guillaume
How to version a bundle?
===============
There is a tool [1] but it's a prototype and will not always do what we
need. Guillaume said "Theproblem is that there are cases where a purely
semantic change (i.e. you change a service implementation in an incompatible
way without changing the API) can't be find by such a tool, as it can only
work at the API (class / method) level I think." Graham agreed and said that
we would need a way to manually specify a version. I believe Jeremy has
asked about the state of the tool on the dev@ace list.
Guillaume is also right to point out that a released version of a bundle
doesn't have to be the same as the version in development. So, a bundle
version 1.0.1 could be released from a development stream at 0.4.0-SNAPSHOT.
In fact, I believe it would be necessary to use this because one cannot be
certain of the correct release version until development has finished and
the code can be compared with the previous release.
That's not exactly what I meant. What i meant is that even for a
release, the maven version does not have to be the same than the
Bundle-Version header, so we could have a bundle blueprint-core-0.4.0
with a Bundle-Version of 1.0.1. The same way we de-correlate the
package version and the bundle version, we could de-correlate the
maven version and the bundle version.
This is true but I must be missing something because I don't understand
how it helps us.
To use your example, I think we could release:
- blueprint-core-0.4.0.jar
- blueprint-core-0.3.0.jar
and both could have a Bundle-Version of 1.0.1
So, we would release exactly the same code twice (but called something
different). I thought we wanted to avoid releasing the same thing twice?
What would happen if someone accidentally installed these two bundles in
the same framework believing them to have different content?
Am I missing the point somehow?
Zoe