Open mwichmann opened 5 years ago
Log files: jdk11-depr.txt jdk11-wrong-javah.txt
Seems like not a lot of people worried about this problem!
Need to add one more thing: Oracle changed the licensing and it is now probable that openjdk will be more desirable even for Windows users (it is now considered the "reference" implementation, as opposed to being unofficial, while the Oracle jdk license is now more restricted than it used to be). The thing is, openjdk for Windows doesn't "install", it's a zipfile you unpack in place, and I don't think scons is going to find that. Untested on my part as I'm not a "Windows developer", but I expect we'll need to do some tweaking for that.
Update: the deprecation warning here:
MyID.java:7: warning: [removal] Long(long) in Long has been deprecated and marked for removal
return new Long( current ).toString();
^
1 warning
obscures another warning, and that is that the entire Applet
class is deprecated as of JDK 9. Search for the tag JDK-8184998
in the release notes here:
https://www.oracle.com/java/technologies/javase/9-deprecated-features.html
The testcase has an applet in it. Not sure where go with that.
The java situation has been partly tackled through PR #4049. It's certainly not enough to close this, or in fact to decisivley check off any of the boxes. The range of supported versions was expanded. Docs will now hint that JavaH is not useful for current JDKs - that's not a fix but at least cuts down the surprise factor. Docs note that you're expected to control desired Java version through alternatives system on Linux systems. We're aware that on some (Fedora) the presence of javah command is controlled that way, and on others (Ubuntu) it isn't, you can finc a 11.0 javac and there's still a 1.8 javah hanging around.
Some issues in SCons support of Java 11, which is the next long-term-support release after Java 8 (1.8). These actually apply to all versions since 10, so as of this writing 10, 11, 12.
JAVAVERSION
construction env variable, but it is not looked at when finding the javac executable except on Windows.TestSCons.py
) has ajava_ENV
function that does not use the same algorithm for finding jdk pieces as the Tool. That is, it is supposed to be different, but only in favoring a local install of JDK; what comes beyond that should presumably match (glob patterns, etc.). They seem to have slipped out of sync.test/Java/multi-step.py
uses a deprecated API, and JDK 11 emits deprecation warnings about this which causes the test to fail. That would not affect normal usage of SCons to build Java code.See https://pairlist2.pair.net/pipermail/scons-dev/2019-April/004842.html