Skip to content

Restore client modules for JDK 8 split baseline#9

Merged
Aias00 merged 1 commit into
2.7.0.1-jdk8-releasefrom
split-client-jdk8-base
Jun 8, 2026
Merged

Restore client modules for JDK 8 split baseline#9
Aias00 merged 1 commit into
2.7.0.1-jdk8-releasefrom
split-client-jdk8-base

Conversation

@Aias00

@Aias00 Aias00 commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Restore client-only MCP, beat, registry API, and Spring Boot starter modules on top of the JDK 8 split-client baseline.
  • Rebase restored code onto split-repo dependencies without pulling the full main-repo common/register modules.
  • Keep client source/runtime compatibility on JDK 8 while validating builds on JDK 17, 21, 23, and 25.
  • Expand GitHub Actions CI matrix to JDK 8, 17, 21, 23, and 25.

Compatibility Notes

  • JaCoCo is upgraded to 0.8.15 so instrumentation supports JDK 25 class files.
  • Byte Buddy is pinned to 1.18.10 so Mockito 3.x tests run on JDK 21/23/25 while JDK 8 regression remains green.
  • CI uses ./mvnw -B clean test because this split repository does not define the old release Maven profile.

Verification

  • ./mvnw -DskipTests compile
  • ./mvnw test
  • JAVA_HOME=$(/usr/libexec/java_home -v 1.8) ./mvnw -B clean test
  • JAVA_HOME=$(/usr/libexec/java_home -v 17) ./mvnw -B clean test -Prelease
  • JAVA_HOME=$(/usr/libexec/java_home -v 21) ./mvnw -B clean test -Prelease
  • JAVA_HOME=$(/usr/libexec/java_home -v 25) ./mvnw -B clean test
  • JAVA_HOME=/tmp/shenyu-jdks/jdk-23.0.2+7/Contents/Home ./mvnw -B clean test
  • .github/workflows/ci.yml YAML parsing passed

Remaining Risk

  • End-to-end registration against matching admin/bootstrap runtime is not covered by this PR.
  • JDK 23 and 25 are non-LTS toolchain checks; the remote CI run should confirm Temurin availability on GitHub-hosted runners.
  • Mockito/Byte Buddy still logs dynamic Java agent warnings on newer JDKs, but the reactor passes.

The split client repository needs to carry MCP registration, beat registration, Spring Boot starters, and discovery registration without inheriting the main repository JDK upgrade constraints. This restores the client-side module surface on the JDK 8 release base, rebases dependencies onto Spring Boot 2/JDK 8 compatible lines, and expands CI coverage through JDK 25 after local compatibility verification.

Constraint: Client artifacts must remain JDK 8 compatible while validating JDK 17, 21, 23, and 25

Constraint: The split repository does not define the release Maven profile, so CI uses ./mvnw -B clean test

Rejected: Move the client back under the main repository | it would keep client compatibility tied to admin/bootstrap JDK upgrade timing

Rejected: Keep JDK 23 and 25 as local-only checks | CI would not catch future toolchain regressions

Confidence: medium

Scope-risk: broad

Directive: Do not upgrade client runtime dependencies without rerunning the JDK 8 compatibility build

Tested: ./mvnw -DskipTests compile

Tested: ./mvnw test

Tested: JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home ./mvnw -B clean test

Tested: JAVA_HOME=/Users/aias/Library/Java/JavaVirtualMachines/corretto-17.0.13/Contents/Home ./mvnw -B clean test -Prelease

Tested: JAVA_HOME=/Users/aias/Library/Java/JavaVirtualMachines/openjdk-21.0.2/Contents/Home ./mvnw -B clean test -Prelease

Tested: JAVA_HOME=/Users/aias/Library/Java/JavaVirtualMachines/openjdk-25.0.2/Contents/Home ./mvnw -B clean test

Tested: JAVA_HOME=/tmp/shenyu-jdks/jdk-23.0.2+7/Contents/Home ./mvnw -B clean test

Not-tested: End-to-end registration against matching admin/bootstrap runtime
Copilot AI review requested due to automatic review settings June 8, 2026 09:10

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@Aias00 Aias00 merged commit 958378b into 2.7.0.1-jdk8-release Jun 8, 2026
10 checks passed
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