Skip to main content

Crate odx_core

Crate odx_core 

Source
Expand description

Domain types, exit codes and IO traits shared by the odx crates.

Library crates in the odx workspace never touch the operating system directly. They take the traits defined here (Clock, Env, FileSystem, ProcessRunner) so that every code path, including error paths, can be exercised in tests. The binaries construct the real implementations from system (feature system); tests use the in-memory fakes from fake (feature fakes).

Traits for git, forges, package indexes and secret storage are added in the roadmap phases that introduce them.

Structs§

Invocation
A program invocation: what to run, with which arguments, and where.
Output
The result of a finished process.

Enums§

Exit
Process outcome of an odx command, mapped to a stable exit code.

Traits§

Clock
Source of the current time.
Env
Read access to environment variables.
FileSystem
Minimal file system access used by the odx library crates.
ProcessRunner
Runs external programs such as git, uv and mergiraf.

Functions§

redact
text with the credentials of every URL replaced by ***, so tokens written into remote URLs (https://user:token@host/…) never reach output or logs.
repo_key
A comparison key for repository URLs: host and path, lowercased, without scheme, user, .git or trailing slashes.