Expand description
Dependency acquisition layer for the Soroban DevKit (sdkt), .
Provides a reusable abstraction for fetching package dependencies into a
deterministic local cache. This milestone implements Git acquisition
(via the git CLI) and a path (local) source that needs no fetch. The
DependencyFetcher trait is the seam: a future registry source can be
added as another implementation without touching callers.
Design goals:
- No network during tests — tests use on-the-fly local git repositories.
- Deterministic cache layout:
<cache_root>/git/<stable-hash>/so repeated fetches are idempotent. - No authentication helpers, no registry. The Git backend shells out to the
system
gitbinary (assumed present, likecargo/rustc). - Never builds —
fetchonly materializes source; building is the caller’s responsibility.
Structs§
- Fetch
Outcome - The outcome of a fetch operation for one dependency.
- GitFetcher
- Git-backed dependency fetcher.
- Path
Resolver - A no-network “fetcher” for local
pathdependencies: it only validates that the path exists and returns it unchanged.
Enums§
- Fetch
Error - Errors raised while acquiring a dependency.
Traits§
- Dependency
Fetcher - A source a dependency can be acquired from.
Functions§
- git_bin
- Resolve the
gitexecutable. - git_
cache_ key - Stable, filesystem-safe cache key for a Git dependency.