Ship jdk7 ct.sym with jdk8?
Jonathan Gibbons
jonathan.gibbons at oracle.com
Mon Mar 11 16:35:25 PDT 2013
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
More information about the compiler-dev
mailing list