|Re: [jgit-dev] API and versioning|
Robin Rosenberg <robin.rosenberg@xxxxxxxxxx> wrote: > Should we declare version dependencies at the bundle or package level? I'm > not OSGi-fluent enough to tell the real difference, but bundle level seems > to match how we define versions better, i.e. we don't state anywhere that > this package is version 0.6.0, we do that at the bundle level and I think that > is the way most projects work. My feeling is that the package version > dependency in OSGi is for those that actually assign versions at the package > level. I think what we should do right now is: Given a release numbering of 0.x.y: - If x changes, APIs can be removed or semantics changed. Applications linking against 0.x should take care before moving to another 0.x release. - If x stays same but y changes, no APIs have been removed, and no semantic changes have been made. New APIs however can be added. That means in practice that other bundles importing JGit should use an import rule like ";version=[0.6.0,0.7.0)". This also means we have to be very careful about using git describe to create a snapshot version number, basically tools/version.sh is wrong. Whether or not we import using Require-Bundle or Import-Package doesn't much matter. But Import-Package is I think preferred because... > Is the ability to split bundles in the future a reason set requirements > at the package level? I think that's the only reason for package level vs. bundle level. -- Shawn.
Back to the top