mbien opened a new issue, #6817:
URL: https://github.com/apache/netbeans/issues/6817

   ### Body
   
   Modules which use nb-javac 
([`requires.nb.javac=true`](https://github.com/search?q=repo%3Aapache%2Fnetbeans+%22requires.nb.javac%3Dtrue%22+language%3A%22Java+Properties%22&type=code&l=Java+Properties)
 in `project.properties`) can't change their source level at the moment since 
they prepend the bootclasspath and this is only allowed on java 8.
   
   https://www.oracle.com/java/technologies/javase/9-relnotes.html
   
   > The boot class path has been mostly removed in this release. The java 
-Xbootclasspath and -Xbootclasspath/p options have been removed. The javac 
-bootclaspath option can only be used when compiling to JDK 8 or older. The 
system property sun.boot.class.path has been removed. Deployments that rely on 
overriding platform classes for testing purposes with -Xbootclasspath/p will 
need to changed to use the --patch-module option that is documented in JEP 261. 
The -Xbootclasspath/a option is unchanged.
   
   consequences:
    - since `target` isn't (and can't) be set either once boot cp is modified, 
no API checks are active (!)
    - code is linked against the build JDK (!) (this already has caused 
problems in past if I remember correctly)
    - the release has to be built with the min required JDK and CI has to catch 
API version bugs since safeties are off
    - code is stuck to Java 8 syntax
   
   some thoughts:
    - `--patch-module` ([JEP 261](https://openjdk.org/jeps/261)) might work if 
nb-javac was a JPMS module?
    - making a JPMS module out of nb-javac is likely easy and would have the 
benefit to be able to drop the jackpot transformation step, since projects like 
https://github.com/kohlschutter/jdk.compiler.standalone indicate that javac 
code is kept on JDK 11 language level, it can be built with no transformation
    - i don't think there is a immediate need to fix this but at some point 
this is going to become more pressing.
   
   ### Committer
   
   - [X] I acknowledge that I am a maintainer/committer in the Apache NetBeans 
project.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to