Expand description
rk depend: another project as a dependency of a target, from how
the source distributes itself and how the target manages its tools.
Two offline observations meet in a matrix. source reads the
dependency’s checkout for its distribution channels, target reads
the project for its tool managers, version resolves the pin,
matrix pairs a manager with a channel and says whether the pair is a
fragment, a native command, or a hand edit, fragments renders the
authored texts, and nix holds the lexical scanners both sides share.
Nothing here edits a file the target owns.
Re-exports§
pub use crate::cli::depend::Channel;pub use crate::cli::depend::Kind;pub use crate::cli::depend::Manager;
Modules§
- fragments
- The texts
rk depend addserves: one fragment set per manager, and the seed file for a manager the target has no file for. - matrix
- The manager × channel matrix: which pairs land as a fragment, which as the technology’s own command, and which are a hand edit with a named reason.
- nix
- Lexical helpers over Nix text, shared by the source and target observations.
- source
- What the dependency’s checkout declares about its distribution.
- target
- What the target manages its development tools with.
- version
- The version a dependency is pinned at, and the tag that names it.
Functions§
- canonical_
dir - A directory argument as a canonical path, or the missing refusal naming its role.
- reject_
url - Refuse a
--sourcethat is a URL before the disk is read: the clone is the operator’s step, and a fetch is never implied by a read verb.