Ship jdk7 ct.sym with jdk8?

Martin Buchholz martinrb at google.com
Mon Mar 11 16:44:01 PDT 2013


That's a pretty good idea.  It wouldn't be 100% reliable as is, because the
signatures of some methods change between releases, but it's pretty close.

Doing things this way would also force you to address changes to the
non-public API that are in active public use, despite your efforts to
discourage it.


On Mon, Mar 11, 2013 at 4:35 PM, Jonathan Gibbons <
jonathan.gibbons at oracle.com> wrote:

> On 03/11/2013 04:29 PM, Martin Buchholz wrote:
>
>> If you want to build some java software that targets jdk6, the natural
>> way to do it is via -target 6.  But then javac will complain it also wants
>> -source 6 (that's easy to fix) but also a bootclasspath for jdk6, which is
>> harder for the user to provide.
>>
>> One obvious way to make the user's life easier is to ship a ct6.sym,
>> ct7.sym, ct8.sym,
>> where each .sym contains the deltas relative to the previous version.
>>  Then we could have -target 6 default to compiling against ct6.sym, while
>> -target 8 will default to ct8.sym:ct7.sym:ct6.sym
>>
>> Perhaps you are already doing this kind of thing to support profiles in
>> jdk8?
>>
>
> It would be logistically hard to include binary products from earlier
> builds in the current build.
>
> A better solution would be to verify that the @since tags are up to date
> (I know you did this for JDK 5) and then feed the @since info into ct.sym,
> so that the current ct.sym knows about when API was first available.  That
> way, the user could specify -target 6, and javac could use the appropriate
> subset of ct.sym.
>
> -- Jon
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20130311/4fa605ee/attachment.html 


More information about the compiler-dev mailing list