Use embedded standalone compiler from Java 11 #770
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Following up after #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 :-)