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.
registry
Read the registry index, to learn which release is newest.
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.