[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Kotlin and OpenJDK 8 in Bookworm?



Hi all,

I've been working on Kotlin lately, trying to make it build with OpenJDK 17
only, and hopefully have it included in Bookworm.

Long story short, after days banging my head on this issue, I don't think
it's possible. The latest upstream version, Kotlin 1.8.0, released last
month, still expects OpenJDK 6 and 7 to build! It doesn't look like Kotlin is anywhere near being buildable with a modern JDK. For example, the Kotlin compiler imports classes from the com.sun.tools package which is no longer
exported since OpenJDK 9, and it doesn't seem possible to set the
--add-exports options to let the Kotlin compiler access them.

Kotlin has become, for the better or worse, a central piece of the Java
ecosystem, mostly due to its adoption by Gradle and Android. We see an
increasing number of project using Gradle with the Kotlin DSL and they are
difficult to maintain. We basically have to rewrite the build system,
either translating the Kotlin build files into Groovy (as was done for
bootstrapping Kotlin, and for the Gradle 6 packaging attempts) or replacing them with something different (the junit5 package now uses Maven). This is
extremely tedious and error prone.

We can continue struggling like this for a few more years (the Kotlin
packaging effort started 3 years ago already), or we can accept the
ineluctable truth: we need OpenJDK 8 back into the stable distribution.

Looking around, Ubuntu kept shipping the openjdk-8 package in its latest
22.04 LTS [1], Red Hat still includes it and even pushed back the EOL date by 6 months, from May 2026 to November 2026 [2]. Temurin is also aligned on November 2026 [3]. Azul [4] and Oracle [5] will support OpenJDK until 2030. So should Debian include OpenJDK 8 back, we can expect it to be supported
by the Java community for the lifetime of Bookworm.

How do you feel about allowing openjdk-8 in testing/bookworm with a clear mention in the release notes that it's only there for technical reasons and
we make no commitment about its support?

Emmanuel Bourg


[1] https://packages.ubuntu.com/source/kinetic/openjdk-8
[2] https://access.redhat.com/articles/1299013#OpenJDK_Lifecycle_Dates_and_RHEL_versions
[3] https://adoptium.net/support/
[4] https://www.azul.com/products/azul-support-roadmap/
[5] https://www.oracle.com/java/technologies/java-se-support-roadmap.html


Reply to: