Hi
I came across this thread from about a year ago its not clear to me if the 
state of the art of tools in the area of bundle verification has changed much 
till date:
http://www.mail-archive.com/[email protected]/msg00147.html

While playing with OSGI/equinox/PDE I realized the following cases are 
supported by the PDE toolchain (what do non eclipse users do?)
<a> delete/modify api class/interface PDE will complain
<b> Place non api classes in api fields PDE will complain

This is great.

But the following cases it does not catch (are there other tools that do):
<a> when you upgrade to a backwards incompatible release of your child using 
import packages there are times you might have to upgrade your own exposed APIs 
version number. Example includes if the child's interfaces/classes leak into 
your own exposed API classes' public signature. PDE does not catch this and 
this I found this to be a  major source of bugs that lead to LinkageErrors 
thrown at runtime.

<b> When you upgrade any of your own import-packages care should be taken to 
make sure this upgrade does not create a situation where classes/interfaces you 
import from your children using import-package provide two separate versions. 
Againg this will lead to IncompatibleClassChangeError.

<c> If you bump the major version for one of your exported packages and 
classes/interfaces from this package are part of the public api signature in 
another package that you export, this second package should also be bumped up. 

Do folks with the above analysis of backwards compatibility? Are there 
specialized tools outside eclipse PDE?

Regards
banks


      
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to