Please stop incrementing the classfile version number when there are no format changes
Alan Bateman
Alan.Bateman at oracle.com
Sat Oct 12 08:59:41 UTC 2019
On 11/10/2019 15:15, Cédric Champeau wrote:
> - Gradle performs bytecode analysis, to extract the public API of compiled
> classes and allow _compile avoidance_ (avoid recompiling downstream
> dependencies if nothing changed in the public API). For this, we use ASM
> too, and every change in the class format forces us to upgrade ASM. This is
> the most problematic bit, because even if you fork compilation, we can't
> analyze the generated class files (because it's done in the snapshotting
> phase which is in the Gradle process itself).
The most valuable way for developers to contribute to OpenJDK is to try
out builds of the main line to find issues and provide feedback on
recently added features/changes. That is really hard to do if the main
stream tools aren't working with the latest JDK bits. All the recent
developer surveys that I've seen suggest that Gradle is used by about
20% of developers or projects. That is potential trouble for one in five
developers that are want to contribute by trying out the JDK early
access builds. Is there any way to get Gradle to align with the
predictable releases of OpenJDK so that developers can use Gradle with
JDK EA builds? The discussion here has been about JDK 13 but we are
already several months into the JDK 14 release. JDK 14 will be more
challenging for Gradle because there are changes that expose a bug in
Groovy where it hacks a non-public constructor that no longer exists
[1][2]. It appears this has been resolved for Groovy release that is
currently in beta (great!) but it's not clear if developers on the
bleeding edge can get a working tool chain. I don't know what Gradle's
priorities are but I think it would be wonderful if there were Gradle
downloads that tracked the main line and a GA release at or around the
time that the JDK releases so that developers always have working tool
chain.
-Alan
[1] https://issues.apache.org/jira/browse/GROOVY-9211
[2] https://github.com/gradle/gradle/issues/10248
More information about the jdk-dev
mailing list