Conversation
4 tasks
Pins sourceCompatibility/targetCompatibility to Java 17 (unset before,
defaulting to whatever JDK ran Gradle) so the SDK jar loads on every
nuclio Java runtime image, including the armhf one capped at JDK 17.
Adds a Gradle 9.7.1 wrapper (none existed), drops the ancient
junit-platform-gradle-plugin in favor of Gradle's native
`test { useJUnitPlatform() }`, adds the junit-platform-launcher
dependency Gradle 9 requires explicitly, and moves archivesBaseName
into the Gradle-9-compatible `base {}` block. Replaces the dead
Travis CI config with a GitHub Actions matrix testing JDK 17 and 25.
Version stays at 1.2.0 (set by the prior commit) rather than bumping
further - 1.2.0 was never actually published to Maven Central, so
there's nothing to skip past.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
nuclio's Java runtime now drops armhf (32-bit ARM) support entirely rather than pinning to JDK 17 indefinitely for that one architecture, so the SDK no longer needs a lowest-common-denominator bytecode target. Targets Java 25 via a Gradle toolchain (auto-provisions a JDK 25 compiler regardless of the host's installed default JDK, via the foojay resolver in the new settings.gradle) rather than a plain sourceCompatibility/targetCompatibility pin. CI matrix drops JDK 17 - compiling for release 25 requires the build's own JVM to be JDK 25+. Version stays at 1.2.0 rather than bumping further - 1.2.0 (set by the prior bump-java commit) was never actually published to Maven Central, so there's nothing to skip past. Verified: real ./gradlew build under Gradle 9.7.1, auto-downloaded JDK 25 toolchain, compiled class files confirmed at major version 69 (Java 25) via that JDK's own javap. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
rokatyy
force-pushed
the
feature/java25-lts-migration
branch
from
September 21, 2026 11:12
4b4c85f to
46a2b19
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Companion to the nuclio Java runtime migration to Java 25 LTS (nuclio/nuclio#4367). This branch carries three commits — the pre-existing in-flight
bump-javawork, the original Java 17 bytecode migration, and a follow-up bumping that target to Java 25 once nuclio dropped armhf support. The SDK's public API (EventHandler,Context,Event, etc.) has zero deprecated/removed API usage and no runtime dependencies, so all three are build-tooling-only changes, not source changes:Commit 1 —
Update for newest version(pre-existing,bump-java):version1.1.0 → 1.2.0.classifier→archiveClassifier,testCompile/testRuntime→testImplementation/testRuntimeOnly,baseName→archivesBaseName.Commit 2 —
Migrate build tooling to Java 17 bytecode target and Gradle 9:junit-platform-gradle-pluginfor Gradle's nativetest { useJUnitPlatform() }, movesarchivesBaseNameinto the Gradle-9-compatiblebase {}block, replaces dead Travis CI with GitHub Actions.Commit 3 —
Bump SDK bytecode target to Java 25, drop the JDK 17 floor:java { toolchain { languageVersion = JavaLanguageVersion.of(25) } }) rather than a plainsourceCompatibility/targetCompatibilitypin — this auto-provisions a JDK 25 compiler via the Foojay resolver (newsettings.gradle), so contributors don't need JDK 25 pre-installed locally.--release 25requires the build's own JVM to already be JDK 25+.1.2.0— never actually published to Maven Central, so there's nothing to skip past.Test plan
./gradlew buildunder the actual Gradle 9.7.1 wrapper, with the toolchain auto-downloading a JDK 25 — succeeds.javapthat the compiled class files are major version 69 (Java 25 bytecode), confirming the target took effect.1.1.0(not blocking: old bytecode still loads fine on the new JVMs).Known non-blocking follow-up
A few Gradle-10-forward deprecation warnings remain (
archivesconfiguration for artifact declaration, Groovy space-assignment syntax) — not blocking today since Gradle 10 doesn't exist yet, flagging so it doesn't surprise anyone later.🤖 Generated with Claude Code