Skip to main content

Module self_depend

Module self_depend 

Source
Expand description

How a consumer obtains this tool, and how its pin stays fresh.

A project pins this tool through the manager it already runs, at a version its manager file records. This module reads that pin, serves the fragment a manager needs to take one, and moves the pin to a newer release in one transaction. It writes into a file the project owns only where the project authorized it: the pin the sync line moves.

Two independent axes decide every verdict. A manager is what the project declares its development tools in (manager::Manager). A venue is where a release of this tool is published (venue::Venue). Their cross is the matrix in venue, and every pair carries a verdict there and nowhere else.

Modules§

fragments
The fragments a rendering pair serves, and the files a seed writes.
leftovers
What a predecessor bump mechanism left, and what a clean never touches.
manager
The manager axis, and what a target carries of each.
pin
The pin each manager records, read and rewritten in its own form.
stamp
The per-checkout stamp that holds the shell-entry caller to one attempt a day.
status
The offline status report: what a target carries, and nothing judged.
txn
The pin transaction: both facts move or neither does.
venue
The venue axis, and the matrix it forms with the manager axis.

Constants§

BINARY_NAME
The binary this crate installs, as an archive names it.
ENVRC
The shell loader file a project keeps at its root.
SYNC_LINE
The line a project’s shell loader runs on every directory entry.

Functions§

coordinates
The forge owner and repository this tool is published from, read from the one place the canon’s home is declared.
parse_tag
The version a release tag names, from any of the spellings a caller uses: v0.2.16, 0.2.16, or the release page URL ending in the tag.
slug
The owner/repo slug the forge and the flake reference use.