On 2/3/2015 12:18 PM, Martin Buchholz wrote:
I read JEP 8058150 <http://openjdk.java.net/jeps/8058150> with interest. I
agree with the goals. It's nice to be able to compile for a previous
version of the platform with a single flag and without having an actual
copy of the previous jdk available at compile time. One idea is to promote
javadoc tag @since to be a proper class retention annotation indicating
when that API became available. This would allow you to implement
-platform N fairly cheaply, and the information would be useful elsewhere.
But ... there has been an increased diversity of java runtimes lately, and
the jigsaw project will only increase that diversity. I think it will also
be useful to assert that a java compilation is targeting a particular java
runtime (or the intersection of multiple such!) given as a root directory
of an actual JRE, and have javac deduce -source -target and -bootclasspath
from that. There's a whole javac target constraint algebra behind that!
Difficult.
It is not envisaged that the target runtime image (or equivalent
directories) contains platform classes from more than one SE release:
http://openjdk.java.net/projects/jigsaw/goals-reqs/03#mix-and-match
Also difficult is the distinction between bootmodules and extmodules.
That shouldn't affect compilation, only execution.
Alex