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 >