Skip to content

[Feature Request]: Upgrade Gradle wrapper to 9.x for JDK 25 support #40556

Open

Description

@CH-Abhinav

What would you like to happen?

Currently, Beam uses Gradle Wrapper 8.14.3.

While Beam already supports compiling and running tests against JDK 25 via Gradle Java Toolchains (#35627 / #36409), the Gradle daemon itself cannot run directly on JDK 25 in Gradle 8.x. Running ./gradlew on a machine where the system default JAVA_HOME is JDK 25 fails at startup unless org.gradle.java.home is manually pointed to an older JDK (like 17 or 21).

To provide an out-of-the-box developer experience on systems with JDK 25 as the default runtime, we should track upgrading the Gradle wrapper to Gradle 9.x (which natively supports running the daemon on JDK 25) once Beam's build plugins and dependencies are compatible with Gradle 9.

Issue Priority

Priority: 2 (default / most feature requests should be filed as P2)

Issue Components

  • Component: Python SDK
  • Component: Java SDK
  • Component: Go SDK
  • Component: Typescript SDK
  • Component: IO connector
  • Component: Beam YAML
  • Component: Beam examples
  • Component: Beam playground
  • Component: Beam katas
  • Component: Website
  • Component: Infrastructure
  • Component: Spark Runner
  • Component: Flink Runner
  • Component: Prism Runner
  • Component: Twister2 Runner
  • Component: Hazelcast Jet Runner
  • Component: Google Cloud Dataflow Runner

Activity

  1. alisha-1000 commented on Oct 23, 2026

    @alisha-1000
    Contributor

    Hello,
    I’m interested in contributing to this upgrade and would like to help assess the compatibility of Beam’s existing build infrastructure with Gradle 9.x.

    I plan to investigate the current Gradle wrapper configuration, identify build plugins and dependencies that may introduce compatibility issues, and evaluate the changes required to support running the Gradle daemon directly on JDK 25.

    Based on these findings, I can propose a focused migration plan and work toward a tested implementation that preserves the existing build and test workflows.

    Would an initial compatibility assessment be a useful contribution toward moving this issue forward?

  2. CH-Abhinav commented on Oct 24, 2026

    @CH-Abhinav
    ContributorAuthor

    Yes. Once re-check regarding Gradle compatibility with beam and Java 25. From my knowledge there is an issue regarding bytecode/assembly when JDK 25 is used with Gradle especially on Linux/Mac. Once check that as well.

  3. alisha-1000 commented on Oct 26, 2026

    @alisha-1000
    Contributor

    Thanks for highlighting these compatibility concerns.

    I've prepared a preliminary Gradle 9 and JDK 25 compatibility migration and opened [PR #40810] for review.

    Initial validation confirmed that Gradle 9.8.2 project configuration succeeds on JDK 25, and selected Java modules compile successfully. Java core compilation and tests were validated under JDK 17, with additional testing performed under JDK 25.

    I'll continue investigating the potential bytecode and assembly compatibility issues on Linux and macOS, as well as platform-specific build tooling, to identify any reproducible failures and determine whether they originate from Gradle, its plugins, or external dependencies.

    During local testing on Apple Silicon, I encountered a protoc-gen-grpc-java executable architecture mismatch. I'll investigate this separately rather than treating it as evidence of a Gradle bytecode compatibility issue.

    The PR is open and still requires broader CI validation. Feedback on the migration approach and any additional compatibility concerns would be greatly appreciated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions