rlsbl v0.40.1 /rlsbl.targets.spec
On this page

Spec release target using version.json as the source of truth for specification projects where the tagged GitHub Release is the publication.

#rlsbl.targets.spec

#rlsbl.targets.spec

Spec release target using version.json as the source of truth for specification projects where the tagged GitHub Release is the publication.

#SpecTarget

Release target for specification projects (version.json).

Expects version.json with at least {"version": "X.Y.Z"}. Extra fields are preserved on version bumps.

#name

python
def name(self)

#read_name

python
def read_name(self, dir_path)

Return the directory name as the project name.

#read_metadata

python
def read_metadata(self, dir_path)

Spec projects have no standard metadata in version.json.

#detect

python
def detect(self, dir_path)

True if version.json exists in root or spec/ subdir.

#_version_json_path

python
def _version_json_path(self, dir_path)

Resolve the actual path to version.json.

#read_version

python
def read_version(self, dir_path)

Read version from version.json.

#write_version

python
def write_version(self, dir_path, version)

Write the new version to version.json atomically.

Returns a list of relative file paths (relative to dir_path) that were modified.

#version_file

python
def version_file(self)

#tag_format

python
def tag_format(self, version)

#publish

python
def publish(self, dir_path, version)

No-op: the git tag IS the publication.

#template_dir

python
def template_dir(self)

#template_vars

python
def template_vars(self, dir_path)

Extract template variables.

#template_mappings

python
def template_mappings(self)