You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
buffrs lint and buffrs package reject workspace manifests #323
install and publish both resolve and walk workspace members. lint and package error out on the same manifest instead, because both call Manifest::require_package_manifest (command.rs:257, command.rs:403), which bails on Manifest::Workspace (manifest/mod.rs:138-147).
$ buffrs install;echo"exit=$?":: workspace found. running install for 2 packages in workspace:: running install for package: packages/alpha:: installed alpha@0.1.0:: running install for package: packages/beta:: installed beta@0.1.0:: workspace install complete using existing lockfileexit=0
lint and package do not:
$ buffrs lint;echo"exit=$?"Error: × failed to lint protocol buffers in `proto` ╰─▶ A packages manifest is required, but a workspace manifest was foundexit=1
$ buffrs package --dry-run;echo"exit=$?"Error: × failed to export `ws` into the buffrs package format ╰─▶ A packages manifest is required, but a workspace manifest was foundexit=1
Expected
lint and package iterate members, consistent with install and publish.
Actual
Both reject the workspace root, forcing callers to do:
Every downstream build system reimplements member discovery and ordering. Those reimplementations drift from buffrs' own semantics (glob handling, exclusions, dependency ordering), producing subtly different results than buffrs publish does for the same workspace.
Suggested fix
Reuse the existing member-walking logic from install/publish in lint and package. A --package <name> filter would be a useful addition for both.
Activity