Expand description
G10 — local dependency linking: resolve Largo.toml [dependencies] into the
loader’s admitted dependency roots, and describe the assembled linked closure.
This is the CLI-side seam that turns a manifest’s path/git declarations
into the DepRoots the module loader threads through EVERY tier’s assembly
(assemble_closure), so a bare Import <Dep>. links a package living OUTSIDE
the project root. Registry linking is intentionally unsupported here — the
local closure reaches only the filesystem, so a fully-local project builds
with no crates.io access (proved by BuildManifest::registry).
Structs§
- Build
Manifest - A machine-readable account of a linked build: the local package identity,
feature selection, every resolved dependency, the transitive closure (each
linked
.lgfile tagged with its source dependency), and the registry state. - Closure
File - One file in the assembled closure, tagged with the dependency it came from.
- Manifest
Dep - A resolved dependency as it appears in the build manifest.
- Package
Identity - The local package’s identity in the build manifest.
- Registry
State - Whether — and how — a registry was consulted assembling the closure.
Functions§
- build_
manifest - Assemble the linked closure for
entryand describe it as aBuildManifest. - resolve_
dep_ roots - Resolve the manifest’s linkable dependencies against
project_rootinto the loader’sDepRoots. A resolution failure (a floating git rev, a missing path, an unlinkable form) surfaces as a cleanCliError, so every command that links deps reports the same message.