This repository maintains two main staging branches:
- stage — targets Java 21
- stage-jdk8 — targets Java 8
Custom skills are provided for Claude Code and Cursor to automate porting changes between these branches, including Java version-specific code adaptations.
Use the slash commands in the Claude Code CLI or IDE extension:
/port-to-jdk8 <source-branch>
Ports commits from a stage-based branch to a new branch based on stage-jdk8.
The target branch is named <source-branch>_jdk8.
/port-to-jdk21 <source-branch>
Ports commits from a stage-jdk8-based branch to a new branch based on stage.
The target branch is named by removing the _jdk8 suffix (or appending _jdk21
if no suffix is present).
Open the Cursor chat or agent panel and type:
/port-to-jdk8
or
/port-to-jdk21
then provide the source branch name when prompted.
- Cherry-pick commits from the source branch onto the correct base.
- Adapt Java language features (records, switch expressions, pattern matching,
var, text blocks) and API calls (List.of()vsArrays.asList(),isBlank()vstrim().isEmpty(), etc.) for the target Java version. - Handle project-specific differences (artifact names, pom.xml settings, methods that only exist on one branch).
- Run
mvn clean installto verify the build.