Skip to content

JDK 25 Compatibility — Build Environment Modernization (Minimum JDK 21)#171

Open
cx-riyaj-shaikh wants to merge 1 commit into2026_Q1_Integration_Branchfrom
PLUG-2799-jenkins-plugin-jdk25-compatibility
Open

JDK 25 Compatibility — Build Environment Modernization (Minimum JDK 21)#171
cx-riyaj-shaikh wants to merge 1 commit into2026_Q1_Integration_Branchfrom
PLUG-2799-jenkins-plugin-jdk25-compatibility

Conversation

@cx-riyaj-shaikh
Copy link
Copy Markdown
Collaborator

During investigation of PLUG-2799, it was found that the existing plugin version 2025.4.1 already runs on Jenkins with JDK 17, 21, and 25 without any issues. The actual gap identified was on the build side — the plugin source code could only be built using JDK 8 due to outdated build tooling (Gradle 4.10.2, Jenkins core 2.77, JPI plugin 0.35.0).

This PR modernizes the build environment to support minimum JDK 21 for building the plugin from source, which aligns with the Jenkins Java support policy (Java 17 EOL: March 31, 2026).

Changes in this PR are intentionally scoped for future activation when the following requirement is formally raised:

"The plugin must be buildable on minimum JDK 21 in CI/CD pipelines."

What was changed:

Gradle wrapper upgraded from 4.10.2 → 8.14
Jenkins core upgraded from 2.77 → 2.541.1 (first LTS with official JDK 25 support)
Gradle JPI plugin upgraded from 0.35.0 → 0.55.2
Deprecated compile/testCompile/testRuntime → implementation/testImplementation/testRuntimeOnly
JUnit upgraded from 5.4.2 → 5.10.2, Mockito from 2.23.0 → 5.10.0
Minimum Java version enforced to JDK 21 (sourceCompatibility = VERSION_21)
Credentials plugin dependency fixed to generate correct MANIFEST.MF
Removed dead dependencies (nebula, wsdl2java)
Testing done:

Build on JDK 21 — PASS
All existing tests — PASS
Plugin install on Jenkins JDK 21 — PASS
Plugin install on Jenkins JDK 25 — PASS
Plugin correctly blocked on Jenkins JDK 17 — PASS (intentional, per Jenkins EOL policy)

Note for reviewer:
These changes are ready to merge whenever the team formally requires JDK 21 as the minimum build environment. No source code (Java files) were modified — only build configuration was updated. Zero regressions observed.

During investigation of PLUG-2799, it was found that the existing plugin version 2025.4.1 already runs on Jenkins with JDK 17, 21, and 25 without any issues. The actual gap identified was on the build side — the plugin source code could only be built using JDK 8 due to outdated build tooling (Gradle 4.10.2, Jenkins core 2.77, JPI plugin 0.35.0).

This PR modernizes the build environment to support minimum JDK 21 for building the plugin from source, which aligns with the Jenkins Java support policy (Java 17 EOL: March 31, 2026).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant