Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cross-project-issues-dev] Pseudo-singleton for Guava in RC3

Hi David

On 04/06/2014 11:48, David M Williams wrote:

> I think that someone with the power to influence the platform needs to review how

> we support Guava and other shared non-singletons
> so that we avoid repeating this mess in Mars.

Hmmm, I think, Ed, I finally found one thing to disagree with you about :)
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 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!)
Thanks for pointing back at this. I didn't understand "uses" and got Marcel to give a better example.

I see that the Manifest editor has a "Calculate Uses" button that makes my Manifests huge. I don't particularly want to maintain this manually.

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?


        Ed Willink

Back to the top