> And even that guess is not really safe. I always use the following > example to explain. If you have an interface A: > > /* version 1.0 */ > interface A { > /* returns true in a certain condition */ > boolean check(); > } > > And in a new version, this interface has been changed like this: > > /* version ??? */ > interface A { > /* returns false in a certain condition */ > boolean check(); > } > > Then, even though the method signature has not changed in any way, > the semantics of this interface have changed in an incompatible way > and a major bump in versioning is required. There is just no way > tools are going to pick up on this as long as they're just based on > Java (byte)code, you actually need to understand the documentation > to understand this. So this is another instance where you might be > in for some unpleasant surprises if you blindly use the output of > such versioning tools.
Yes. Tools can only analyze syntactic changes to find semantic differences. Other (non-syntactic) semantic changes need humans to participate in the version change decision. -- BJ Hargrave Senior Technical Staff Member, IBM OSGi Fellow and CTO of the OSGi Alliance hargr...@us.ibm.com office: +1 386 848 1781 mobile: +1 386 848 3788
_______________________________________________ OSGi Developer Mail List osgi-dev@mail.osgi.org https://mail.osgi.org/mailman/listinfo/osgi-dev