Skip to content

[choreolib] Full Java and C++ upgrade to WPILib 2027 - #1481

Open
Daniel1464 wants to merge 63 commits into
SleipnirGroup:mainfrom
Daniel1464:2027-update
Open

[choreolib] Full Java and C++ upgrade to WPILib 2027#1481
Daniel1464 wants to merge 63 commits into
SleipnirGroup:mainfrom
Daniel1464:2027-update

Conversation

@Daniel1464

@Daniel1464 Daniel1464 commented May 9, 2026

Copy link
Copy Markdown
Contributor

In addition to updating to 2027, this PR also flips the coordinate system convention to be compatible with 2027 WPILib(namely, that (0,0) is at the center of the field). Note that the UI still generates coordinates in the 2026 WPILib coordinate system.

On the Java API side, AutoRoutine has been removed in favor of making AutoTrajectory an isolated class (since triggers can now be scoped per-opmode or, in the case of commands v3, per command). AutoChooser has also been removed in favor of using opmodes to lazily load trajectories.

@github-actions github-actions Bot added component: choreolib-java component: choreolib-cpp type: build Build, CI, and release artifacts component: backend Rust/Tauri backend component: cli Command-line interface labels May 9, 2026
@Daniel1464
Daniel1464 marked this pull request as draft May 9, 2026 16:48
Comment thread .github/workflows/choreolib.yml Outdated
Comment thread .github/workflows/choreolib.yml Outdated
Comment thread .github/workflows/choreolib.yml Outdated
Comment thread .github/workflows/choreolib.yml Outdated
Comment thread .github/workflows/choreolib.yml Outdated
Comment thread .github/workflows/choreolib.yml Outdated
Comment thread .github/workflows/choreolib.yml Outdated
Comment thread .github/workflows/choreolib.yml Outdated
Comment thread .github/workflows/choreolib.yml
Comment thread .github/workflows/choreolib.yml

@calcmogul calcmogul left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

There should be Systemcore Docker containers you can use instead of manually installing the toolchain.

Comment thread .github/workflows/choreolib.yml Outdated
Comment thread .github/workflows/choreolib.yml Outdated
Comment thread .github/workflows/choreolib.yml Outdated
Comment thread .github/workflows/choreolib.yml Outdated
Comment thread .github/workflows/choreolib.yml Outdated
Comment thread .github/workflows/choreolib.yml
Comment thread .github/workflows/lint-format.yml Outdated
Comment thread .github/workflows/lint-format.yml Outdated
Comment thread src-tauri/Cargo.toml Outdated
Comment thread Cargo.lock
Co-authored-by: Tyler Veness <calcmogul@gmail.com>
@calcmogul calcmogul changed the title Update ChoreoLib java and c++ to WPILib 2027 alpha 6 Update ChoreoLib Java and C++ to WPILib 2027.0.0-alpha-6 May 13, 2026
@calcmogul calcmogul changed the title Update ChoreoLib Java and C++ to WPILib 2027.0.0-alpha-6 [choreolib] Update Java and C++ to WPILib 2027.0.0-alpha-6 May 13, 2026
@pjreiniger

Copy link
Copy Markdown

Is there something (minus the current merge conflict) that is preventing this from landing and getting released? Its the last thing blocking our 2026 robot upgrade

@calcmogul

calcmogul commented Jul 3, 2026

Copy link
Copy Markdown
Member

Probably a review from someone who actually understands the Java vendordep (i.e., not me).

Comment thread choreolib/vendor_jsons/ChoreoLib2027Alpha.json Outdated
@Daniel1464 Daniel1464 changed the title [choreolib] Update Java and C++ to WPILib 2027.0.0-alpha-6 [choreolib] Full Java and C++ upgrade to WPILib 2027 Jul 12, 2026
@Gold856

Gold856 commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

I'm not sure -Pbuildalldesktop does anything because I can't find any references in GradleRIO or native-utils. We could keep it anyway since the vendor template has it.

I updated the template to remove this, because it does nothing. There's some other updates in the upstream template that might be good to sync over here.

@calcmogul

calcmogul commented Sep 3, 2026

Copy link
Copy Markdown
Member

Idk why ChoreoLib isn't linking to libtelemetryd. I don't see any relevant differences from the vendor template.

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

Labels

component: backend Rust/Tauri backend component: choreolib-cpp component: choreolib-java component: cli Command-line interface component: documentation Improvements or additions to documentation type: build Build, CI, and release artifacts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[choreolib] Migrate ChoreoLib C++ from nlohmann JSON to jart/json.cpp to match WPILib

7 participants