Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Oct 5, 2025

Plan: Update Java toolchain to 25 while targeting Java 8

  • Explore repository structure and understand current configuration
  • Verify current build system (Gradle) and Java versions
  • Identify files to modify
  • Update build.gradle to use Java 25 toolchain
  • Add sourceCompatibility and targetCompatibility for Java 8
  • Update JUnit Jupiter version from 6.0.0 to 5.10.3 (last version supporting Java 8)
  • Update README.md to reflect Java 25 requirement
  • Build and test the changes
  • Verify compiled bytecode targets Java 8 (major version 52)
  • Remove redundant sourceCompatibility and targetCompatibility (options.release.set(8) already handles this)

Summary of Changes

  1. app/build.gradle:

    • Changed toolchain from Java 21 to Java 25
    • Removed redundant sourceCompatibility and targetCompatibility settings (the options.release.set(8) already handles this)
    • Downgraded JUnit Jupiter from 6.0.0 to 5.10.3 (required for Java 8 compatibility)
  2. README.md:

    • Updated documentation from "Java 21 is required!" to "Java 25 is required!"

Verification

✅ Build successful with Java 25 toolchain
✅ Compiled bytecode verified as major version 52 (Java 8)
✅ Application runs on Java 8 runtime
✅ All tests pass
✅ The --release 8 flag handles both source/target compatibility and API validation

Original prompt

This section details on the original issue you should resolve

<issue_title>Java 25</issue_title>
<issue_description>develop with jdk 25, but still target java 8</issue_description>

Comments on the Issue (you are @copilot in this section)

Fixes #24

💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

Co-authored-by: Project516 <138796702+Project516@users.noreply.github.com>
Copilot AI changed the title [WIP] Java 25 Update to Java 25 toolchain while targeting Java 8 bytecode Oct 5, 2025
Copilot AI requested a review from Project516 October 5, 2025 16:18
@Project516 Project516 marked this pull request as ready for review October 5, 2025 16:20
@Project516 Project516 changed the base branch from junit to jdk25 October 5, 2025 16:21
app/build.gradle Outdated
// Use JDK 25
languageVersion = JavaLanguageVersion.of(25)
}
sourceCompatibility = JavaVersion.VERSION_1_8
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot is this needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right - they're not needed. The options.release.set(8) already handles both source and target compatibility (and does more by ensuring only Java 8 APIs are used). Removed in 4f4c7d5.

Co-authored-by: Project516 <138796702+Project516@users.noreply.github.com>
Copilot AI requested a review from Project516 October 5, 2025 16:27
@Project516 Project516 merged commit 2a82182 into jdk25 Oct 5, 2025
1 check passed
@Project516 Project516 deleted the copilot/fix-c4911995-93b1-454b-a702-087614d734f5 branch October 5, 2025 16:27
@Project516
Copy link
Owner

@copilot look at #24 (comment)

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.

2 participants