Hello, this series introduces support for Rust ide-sdk VS Code configuration against the Yocto cross-compilation toolchain:
- editor symbol resolution and linting - build task - deploy task - debuging It introduces a cargo-example recipe, on the model we have for cmake or meson. The generated configurations can be portable to standalone SDK installations, by manually updating the paths. I reproduced the selftest coverage that is expected from other recipe classes, including configuration analysis up to actual debuging symbol resolution. I largely used AI generation to write this stack. After many iterations, I am finally happy with the code and commit history quality of this series. I also have a documentation commit at the ready for the manual if this gets aproved. Any feedback is appreciated. Hope this will help lots of Rust developers working with Yocto distros :). Cheers, Enguerrand de Ribaucourt Signed-off-by: Enguerrand de Ribaucourt <[email protected]> --- Enguerrand de Ribaucourt (20): cargo-example: add minimal selftest fixture devtool: ide-sdk: capture Cargo cross environment devtool: ide-sdk: export recipe Cargo configuration devtool: ide-sdk: recommend Rust Analyzer for Cargo devtool: ide-sdk: configure Rust Analyzer for Cargo devtool: ide-sdk: share IntelliSense architecture mapping devtool: ide-sdk: configure Cargo C++ IntelliSense devtool: ide-sdk: generalize binary install task name devtool: ide-sdk: extract install task definition devtool: ide-sdk: order install after optional build task devtool: ide-sdk: add Cargo build task devtool: ide-sdk: enforce LLDB for Cargo devtool: ide-sdk: parse Rust debug path remaps devtool: ide-sdk: remap Cargo sources for BitBake builds devtool: ide-sdk: map Cargo workspace sources for LLDB devtool: ide-sdk: map libstd-rs sources to Rust SDK oeqa/selftest: share source breakpoint lookup oeqa/selftest: run IDE tasks with configured environment oeqa/selftest: debug Cargo example over QEMU slirp oeqa/selftest: verify Cargo rebuild and redeploy meta-selftest/recipes-test/rust/cargo-example.bb | 15 + .../recipes-test/rust/cargo-example/Cargo.lock | 5 + .../recipes-test/rust/cargo-example/Cargo.toml | 8 + .../recipes-test/rust/cargo-example/build.rs | 20 ++ .../recipes-test/rust/cargo-example/src/main.rs | 11 + meta/lib/oeqa/selftest/cases/devtool.py | 310 +++++++++++++++++++-- scripts/lib/devtool/ide_plugins/__init__.py | 1 + scripts/lib/devtool/ide_plugins/ide_code.py | 125 +++++++-- scripts/lib/devtool/ide_sdk.py | 247 ++++++++++++++-- 9 files changed, 673 insertions(+), 69 deletions(-) --- base-commit: 39b27e524f3c092e5018cbed23ddf1829390ae65 change-id: 20261022-devtool-ide-sdk-cargo-d003158ae2f1 Best regards, -- Enguerrand de Ribaucourt <[email protected]>
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#248638): https://lists.openembedded.org/g/openembedded-core/message/248638 Mute This Topic: https://lists.openembedded.org/mt/121938781/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
