On Fri, 13 Jul 2018, 20:15 Tim Boudreau, <niftin...@gmail.com> wrote:

> So there's no reason the module system itself couldn't just discard
> "friend" status for any friend API and allow any module to depend on it,
> where the running release version is >= the first-appeared-in-release + 2
> (or whatever number).  So, a friend API that appears in release 9 is
> automatically a public API in release 11, no human intervention required
> (the Ant build harness and Maven plugin would also have to do this
> computation).
>

I still don't see why this isn't looking at the problem backwards. True
friend APIs and not-yet-stable public APIs seem to be orthogonal problems.
Assuming even non-stable APIs are stable for at least one release of the
IDE / platform, what benefit does this actually provide? Surely it is for
the user of the API to specify a non-stable dependency, not the provider to
act as gatekeeper?

I guess what I'd like to see is something that is neither friend nor
implementation here.

And never using friend API for third-party stuff either - JNA caused me no
end of issues over the years!

Best wishes,

Neil

>

Reply via email to