bnd already does some of that work, just inspecting public API. It uses it to
generate warnings if your public API refers to a private class
Kind regards,
Peter Kriens
On 31 jan. 2013, at 10:22, Gerd Wütherich wrote:
> Hi,
>
> although inheritance is the most common case for these kinds of (compiletime)
> problems, it is not an "inheritance-specific" issue. The point is that your
> bundle uses an API but does not import all types that are used in this API.
>
> Example:
> If you use a class B that provides two methods 'public void doSomething(X x)'
> and 'public void doSomething(Y y)' and you use only one of them, than B has
> to known X *and* Y at compiletime (at least in the PDE/with the ecj),
> regardless if you call the other method in your code or not. So at
> compiletime you have to specify a dependency to B, X and Y, while at runtime
> you only have to specify a dependency to B and X if you don't call 'public
> void doSomething(Y y)' in your code.
>
> The question is if
> a) it makes sense to spread an API over multiple bundles (which is a common
> case!),
> b) to import this API 'partially'.
>
> Maybe one can use the uses contraint of the exporter to calculate if a bundle
> also imports all the types that are visible at an imported API?
>
> Regards,
> Gerd
> _______________________________________________
> OSGi Developer Mail List
> [email protected]
> https://mail.osgi.org/mailman/listinfo/osgi-dev
_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev