On 04/06/2014 12:20, Ed Willink wrote:
On 04/06/2014 11:48, David M Williams
Hopefully we're agreed about trying to avoid this mess in Mars. If
tooling rather than the platform is the solution, fine by me.
> I think that someone with the power to influence the
platform needs to review how
> we support Guava and other shared
> so that we avoid repeating this mess in
Hmmm, I think, Ed, I finally
found one thing to disagree with you about :)
Thanks for pointing back at this. I didn't understand "uses" and
got Marcel to give a better example.
I think if you (or others)
carefully read Bug 427862 you'd find this issue less about "using one version"
and more about using correct versions, in correct ways: a)
projects should follow "best practices" for componentization
(such as, 1) do not "re-export" bundles simply for a
convenience, 2) don't make "third party" code part of your own
API (unless it's one that's mature, and one that can be well
trusted to follow OSGi principles), 3) use proper version
ranges when exporting or importing packages, 4) take advantage
of "uses clauses", etc.) and b) we need to influence those
third parties who are not using OSGi quite right, and
encourage them to do so (which has happened, in this case!)
I see that the Manifest editor has a "Calculate Uses" button that
makes my Manifests huge. I don't particularly want to maintain
I noticed long ago that MANIFEST.MF as shipped by SimRel bears
little resemblance to my source text. There is a nasty
line-wrapping and every class has an SHA1-Digest added.
If something is rewriting all the Import-Package directives, then
surely it could/should rewrite all the Export-Package directives
to use "uses" too?