On 05/22/2016 12:47 PM, Alan Bateman wrote:
On 21/05/2016 11:15, Uwe Schindler wrote:
:

My proposal would be: If you start javac with "-source 1.8 -target 1.8" and don't pass a bootclasspath, it should switch to "-release 8" for convenience. What do you think? Alternatively allow source and target when passing release if it's not incompatible.

I'd prefer to defer to Jan/Jon on this as they have a statement in JEP 247 to say that -release is incompatible with these options. In any case, it does feel like the tools needs to take -release into account. If -release is specified then Gradle shouldn't be added -source/-target. This may be a timing thing as JDK 9 is still in development and it always takes time for the tools to catch up.

-Alan.

I think it would be reasonable to relax the restrictions on -source -target if they match the value for -release. The main goal here is to avoid having to resolve conflicts, but if there's no conflict, there's no problem.

I think that allowing the older form of numbers (1.8, 1.7, etc) for older releases is OK too, in which case the check between -source and -release should (probably) be on the normalized numbers, i.e. although perverse, the intent of -source 1.7 -release 7 is clear.

-- Jon

Reply via email to