Obviously, we're hacking into Java SDK internals that are subject to change without notice. We already have problems running jsweet with Java 16. Eventually, it may simply fail.
So think we need a long-term solution, and I believe we now have it:
Instead of relying upon and prying upon these internals, we can now simply rely on a clean Maven artifact that provides us with the Java Compiler Tree API as a standalone feature. (I spent a few days putting this together just for this, but I realize this can be useful in many other places as well)
The standalone compiler code uses the GPL2.0+Classpath exception license, just like the original JDK, so there shouldn't be any surprises other than the fact that it works :-)
Following up after https://github.com/cincheo/jsweet/pull/760, I realized that adding
--add-opens
is an anti-pattern.Obviously, we're hacking into Java SDK internals that are subject to change without notice. We already have problems running jsweet with Java 16. Eventually, it may simply fail.
So think we need a long-term solution, and I believe we now have it:
Instead of relying upon and prying upon these internals, we can now simply rely on a clean Maven artifact that provides us with the Java Compiler Tree API as a standalone feature. (I spent a few days putting this together just for this, but I realize this can be useful in many other places as well)
The standalone compiler code uses the GPL2.0+Classpath exception license, just like the original JDK, so there shouldn't be any surprises other than the fact that it works :-)