-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support new GraalVM releases #31
Comments
Note, running |
In addition to |
@fniephaus, could you help me understand the (by now) "legacy" GraalVM versioning scheme? Like, e.g. in "GraalVM CE 17" what does the "17" stand for? Is that the Java language level, i.e. Java 17? And if so, why is there also a parallel "GraalVM CE 11" release if a Java 17 compiler usually can also target Java 11? I.e. what sense does it make to release "GraalVM CE 11" and "GraalVM CE 17" at the same time? Finally, what's 22.3.2 in above's example? The GraalVM release version that's basically independent of the java language version? Thanks for any insights! |
Yes, that is correct.
Previous GraalVM releases, although built from the same GraalVM sources (e.g.
That's the GraalVM version, which we currently still use to version the GraalVM sources. Fun fact: technically, GraalVM for JDK 17 and JDK 20 were also built from the same sources ( |
This comment was marked as outdated.
This comment was marked as outdated.
Thanks for your answers, @fniephaus! I have a follow-up question: With the new releases and versioning scheme, how can I programmatically tell which Java language versions are supported for a "GraalVM Community" release? For example, if the API lists
is it correct to assume that version "20.0.1" supports all Java language versions <= 20, and version "17.0.7" supports all Java language versions <=17? That is, if I was targeting Java 11, I could choose either version, but if I was targeting Java 19, I could only choose "20.0.1", correct? |
In addition to old GraalVM CE distributions, support the new community distributions that use a new versioning scheme that follows JDK releases. Resolves gradle#31. Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
In addition to old GraalVM CE distributions, support the new community distributions that use a new versioning scheme that follows JDK releases. Resolves gradle#31. Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Java is usually backward compatible, so you're proposal works unless you're users use internal or deprecated APIs. I'm not 100% sure whether this ticket is about the Java version or the JDK version. If it's the latter, then users probably want a JDK 11 (e.g., from the 22.3.2 release) and not JDK 20. Also note that, for example, Oracle GraalVM for JDK 17 is a LTS release while Oracle GraalVM for JDK 20 is not. BTW, the JDK release notes include this on the compatibility topic:
Hope this helps! |
The above issue is already closed as invalid. What does that mean for this issue? |
It's not blocked anymore. That's why I've created #35 to resolve this issue. |
The new GraalVM release changed the versioning scheme to be aligned with the JDK version. To reflect this in a non-conflicting manner, discoapi uses the new name "graalvm_community" (and "graal" for the new "Oracle GraalVM" distribution under the GraalVM Free Terms and Conditions (GFTC) license).
As currently the GraalVM Community Edition name is assumed to be "GraalVM CE X" where X is an integer, this change in the version / name requires some adjustments to this plugin as well.
Here are example responses from the discoapi distributions API call:
The text was updated successfully, but these errors were encountered: