Am 26.05.2015 um 15:38 schrieb Jeremy Hughes:
I agree. Can we define roughly though? I can't see any reason to bump any of the version numbers more than one of its constituent packages has been. i.e. a fix in an Aries JPA package bumps the micro of the package, all the Aries JPA bundles and the Aries JPA distro of all bundles. Likewise with API additions (minor version bumps) and API breaking changes (major version bumps).
Yes. Generally we should reflect the biggest change done in any of the exported packages in the version of the subproject. I wrote roughly as we have no automation for it and so it might sometimes be slightly off.
As long as we version the packages correctly, user code will still behave
well if they use import package.

I also agree that people will still be able to put together their set of
individual bundles from maven central.
The challenge for these people is knowing when to update. We'll be
requiring ourselves to release unchanged bundles with a micro/minor or
major version bump. When someone sees a newer version, it's very
tempting to update even if there are no changes. Which would you
rather use bundle v1.1 or v1.2 even if it is stated they are
identical?
If people have the choice then updating to the new version should be no problem. This is when they recompile their code. I think the critical point is that we stay compatible to the user bundles that were not updated as far as we can. The package versions should provide that.
Though most people probably will just
use the set of bundles we provide together anyway as you need quite deep
knowledge to pick individual bundles and still make the system work.
I could argue this both ways - deploying a set of bundles that have
all moved up a version, but only one of which has inherent changes -
is a risk. Equally, deploying only the single that did change means
combining it with bundles it may not have been tested with (although
if the others haven't changed the risk should be minimal).
I think at least the coherent set of bundles with the same version will assure people that the bundles work together well. So beginners can safely use that option while experts can still mix the different bundle versions and so only
change the minimal set.
Honestly... currently when I want to deploy e.g. an aries jpa version I use either the newest bundles together or check in an older karaf which combinations were present there. Apart from that it is kind of trial and error for me.

Christian

Reply via email to