Support for Apple Extensions

Alan Bateman Alan.Bateman at oracle.com
Sat Jul 6 09:53:14 PDT 2013


On 05/07/2013 20:06, Johannes Schindelin wrote:
> :
> Well, it was quite obvious from your question "what parts of this API are
> used anyway?" that you are not quite interested in supporting them all
> into the indefinite future.
No, the intent to is to try to get some clarity on these APIs as they 
are "new" to the JDK (they may have been in Apple's JDK for several 
releases but only came into the main-line at 7u4 when the Mac port was 
pushed).


> :
> Sorry, this does not make too much sense to me. I do not know what you
> mean by "exported". I know that there are APIs that are available, but
> deprecated, so if that is what you mean, please say so.
The long term intent is to get to a modular platform and that requires 
knowing which APIs are intended to be used by applications (or other 
modules) and which are implementation/internal APIs. So for "exported" 
here then think the public types in a module that are accessible to 
other modules.

>
>> See also JEP-179 [1] for the proposal to try to capture the support
>> status of APIs so that it is clear to both JDK maintainers and to
>> developers using the JDK.
> Again, what other sense does such a question have than to get away with
> stopping to maintain APIs that are in wide-spread use?
I don't know if you read the JEP but the com.apple APIs are a fine 
example of where the supportness and stability is not clear by looking 
at the code or the API.


> :
>
> If you do not intend to remove support for those still heavily-used API,
> why ask in the first place?
As I said, I'm not proposing to remove anything. I think the important 
thing is to understand the status of these APIs. It is clear that there 
they are used by applications that are developed and/or deployed on 
Apple's JDK 6 and older. It is somewhat less clear as to the usage on 
jdk7u builds, the reason being (as was mentioned) that the NON_CORE_PKGS 
list was not updated and so code that uses these APIs doesn't compile 
with 7 unless you do something special.  As the latter doesn't appear to 
have brought a crowd with pitchforks onto the streets then it might be a 
sign of slow adoption or maybe it means that folks are compiling with 
JDK 6 and deploying to 7.

-Alan.


More information about the macosx-port-dev mailing list