Skip to main content

Module adapter

Module adapter 

Source
Expand description

The driver adapters: the one owner of where each driver keeps its version, how the version is spelled, how it is written, and how the release artifacts build.

The readers here serve every driver, release-plz’s rust included, because rk lines mint and the release status read a rust version too. The DriverAdapter implementations serve the drivers the engine releases, bash and python, and each writes the version through the native tool of its ecosystem.

SATISFIES release-engine:the-adapter-owns-the-version-file

Structs§

Bash
The bash driver: the VERSION file, and the project’s own build command, whose output contract is dist/<name>.tar.gz and its .sha256.
Python
The python driver: a uv project with a static version, written and relocked through uv version, and built through uv build.
Version
A release version: <major>.<minor>.<patch>, and the candidate number when it is a release candidate. Any other prerelease or build segment is not a version release-kit writes or reads.

Traits§

DriverAdapter
What the engine asks of a driver: its version, read and written through the native tool, the tag a version takes, and its build.

Functions§

for_driver
The adapter for a driver the engine releases, with the bash build command where the driver is bash.
manifest_version
The version the target’s own version file carries, in the technology’s own spelling.
package_name
The package name the registry knows, read from the driver’s version file: [package].name in Cargo.toml, [project].name in pyproject.toml, and none for a VERSION file.
version_file
The file that carries a driver’s version, with the table that holds its version key, or None for the VERSION file whose whole content is the version.
version_in
The version a version file’s text carries, in the technology’s own spelling: [package].version in Cargo.toml, [project].version in pyproject.toml, the trimmed VERSION file.