Uh oh!
There was an error while loading. Please reload this page.
fix(library): resolve named local dependencies - #1257
Conversation
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (7)
📝 WalkthroughWalkthroughThe change adds named ChangesLocal library resolution
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant BuildOrchestrator
participant LibraryManager
participant LibrarySpec
participant LibraryCompiler
BuildOrchestrator->>LibraryManager: pass project_dir and libs_dir
LibraryManager->>LibrarySpec: inspect local_path
LibrarySpec-->>LibraryManager: return named local path
LibraryManager->>LibraryCompiler: compile using separate build_dir
LibraryCompiler-->>LibraryManager: produce archive and include paths
Possibly related issues
Possibly related PRs
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…ctation Two pre-existing failures from #1256/#1257/#1258 that turned main's Dylint and Check macOS/Windows jobs red: - library_spec.rs used std::path::PathBuf for local_path, which the ban_std_pathbuf dylint denies (the file is not allowlisted). Migrate to fbuild_core::path::NormalizedPath. - test_named_relative_local_symlink_adds_include_dir compared raw tempfile paths against production's canonicalized output, failing on Windows (8.3 short names, RUNNER~1) and macOS (/var -> /private/var). Canonicalize the expectation the same way production does. Co-Authored-By: Claude <noreply@anthropic.com>
* ci: fail board builds that leave stray files in the working tree Linker helpers (collect2/lto-wrapper) running in the daemon's inherited cwd twice dropped scratch files (a stray 0-byte `-r`) into the repo root (#1267, #1269, FastLED/FastLED#3867). Every board build now asserts `git status --porcelain` is empty after the quick + release builds so the regression class is caught in CI instead of by users. Co-Authored-By: Claude <noreply@anthropic.com> * fix(library): make main green — PathBuf ban + canonicalized test expectation Two pre-existing failures from #1256/#1257/#1258 that turned main's Dylint and Check macOS/Windows jobs red: - library_spec.rs used std::path::PathBuf for local_path, which the ban_std_pathbuf dylint denies (the file is not allowlisted). Migrate to fbuild_core::path::NormalizedPath. - test_named_relative_local_symlink_adds_include_dir compared raw tempfile paths against production's canonicalized output, failing on Windows (8.3 short names, RUNNER~1) and macOS (/var -> /private/var). Canonicalize the expectation the same way production does. Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
Closes#1256\n\nResolves named Name=symlink://... and Name=file://... dependencies relative to the project directory, adds their include directories, and keeps generated library objects/archives under fbuild's build directory rather than the source checkout. Includes Windows ile:///C:/... normalization and focused resolver/archive-path tests.\n\nValidation:\n- soldr cargo test -p fbuild-library named_local_symlink\n- soldr cargo test -p fbuild-library external_build_dir\n- soldr cargo test -p fbuild-library windows_file_uri\n- soldr cargo test -p fbuild-build-esp --no-run\n- Local FastLED est-emu compiled the ESP32 core and sketch with FastLED=symlink://../..; the local CLI request did not return after compilation, so the QEMU completion marker remains unverified.
Summary by CodeRabbit
New Features
symlink://andfile://paths.Bug Fixes
Chores