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
VERSIONfile, and the project’s own build command, whose output contract isdist/<name>.tar.gzand its.sha256. - Python
- The python driver: a uv project with a static version, written and
relocked through
uv version, and built throughuv 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§
- Driver
Adapter - 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].nameinCargo.toml,[project].nameinpyproject.toml, and none for aVERSIONfile. - version_
file - The file that carries a driver’s version, with the table that holds
its
versionkey, orNonefor theVERSIONfile whose whole content is the version. - version_
in - The version a version file’s text carries, in the technology’s own
spelling:
[package].versioninCargo.toml,[project].versioninpyproject.toml, the trimmedVERSIONfile.