[HN Gopher] Show HN: Standalone Jdk.compiler, Java Compiler Fram...
       ___________________________________________________________________
        
       Show HN: Standalone Jdk.compiler, Java Compiler Framework and Tree
       API
        
       With this standalone compiler, you can rely on all Java 11 javac
       features to be available, even when using newer Java versions.
       Specifically, this allows you to:  - compile code even if your Java
       environment isn't a full JDK (Java JRE, for example!)  - target
       Java 1.7 for compilation without any warnings or restrictions.  -
       use the Compiler Tree API without resorting to --add-opens trickery
       that may eventually fail in newer Java releases  - build a modified
       compiler with additional features or custom tweaks  I made this
       after finding that the otherwise superb "jsweet" Java-to-JavaScript
       transpiler failed to build and run with Java 16 or newer.
       Surprisingly, I couldn't find any prior work other than "proper"
       standalone compilers like Eclipse's ecj that would properly work
       with modern Java runtimes.  I'm excited to see what can be done now
       that we have this scaffolding.
        
       Author : kohlschuetter
       Score  : 32 points
       Date   : 2023-10-10 16:45 UTC (6 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | [deleted]
        
       | koito17 wrote:
       | In the repository, I see
       | 
       | > By adding support for GraalVM native image, we could build
       | javac binaries with custom configurations
       | 
       | Can you elaborate on what's missing for GraalVM native image
       | support? Is there a particular behavior of javac (e.g.
       | reflection, dynamic class loading, keeping threads alive at
       | compile-time, ...) that is a show stopper for native image
       | compatibility?
       | 
       | Overall this project looks cool, and native-image support may
       | allow integration into tools like Babashka to do some crazy
       | things like downloading Java source from somewhere then compiling
       | and loading it into the running image.
        
         | kohlschuetter wrote:
         | I think native image support is actually trivial to implement,
         | it's just not done yet since it wasn't a priority.
         | 
         | There are indeed some reflection calls that need to be
         | configured via META-INF/native-image config files, but nothing
         | out of the ordinary.
        
       ___________________________________________________________________
       (page generated 2023-10-10 23:00 UTC)