Expand description
Binary-resolution algorithm for shipwright host libraries.
Pure function. No I/O. The caller supplies a probe closure
(Path -> Option<ProbedVersion>), the environment, PATH entries, the
bundled directory, and the product’s declared sources. The resolver
returns a Resolution describing which source succeeded, where, which
version was observed, and a status (ok / ok-with-warning / deferred /
prompt / error).
Conformance: the vectors in schemas/test-vectors.json are exercised by
tests/conformance.rs. Every language port of this algorithm must pass
the same vectors bit-for-bit.
Structs§
- Dotnet
Tool Config dotnet toolmetadata for thedotnet-toolsource.- EnvConfig
- Env-var names this component consults.
- Error
Details - Expected-vs-found details for a mismatch error.
- Pkgmgr
Config - Package-manager install targets for the
pkgmgrsource. - Probed
Version - Probe result: what
<binary> --versionreports. - Resolution
- Final output of
resolve. - Resolve
Input - Runtime inputs for a single resolve call.
Enums§
- Deferred
Check - Deferred check kinds.
- Error
Code - Known error codes.
- Platform
- Canonical platform identifiers. Mirrors
schemas/platforms.json. - Prompt
Action - Actionable prompt payload.
- Source
- Ordered discovery sources declared in
shipwright.schema.json. - Status
- High-level outcome category.
- Warning
Code - Known warning codes.
Functions§
- resolve
- The single entry point. Every host library (TS, Kotlin, C#, Dart, Zed)
ports this function and passes
schemas/test-vectors.jsonbit-for-bit.