Capstone.Plugin (Capstone v0.33.3)

Copy Markdown View Source

Reads and writes manifest.exs — a plugin's manifest (SDD 7.1).

Plain data: no module definition, and nothing that loads the manifest by requiring it as source — the MatchError trap 7.1 calls out in Fireside. Capstone.Source is the only reader, so a manifest that tries to execute code fails to decode rather than running.

Like Capstone.Manifest, this prose avoids the literal tokens Capstone.BoundaryGuard bans: the guard is a substring scan over the whole file, docs included, so naming those loaders the obvious way would make lib/ fail its own boundary test.

Summary

Functions

Reads a plugin manifest.

Writes a plugin manifest as deterministic bytes.

Functions

read!(path)

@spec read!(Path.t()) :: map()

Reads a plugin manifest.

write!(path, plugin)

@spec write!(Path.t(), map()) :: :ok

Writes a plugin manifest as deterministic bytes.

Byte stability is required by D8 so CI can assert that re-deriving reproduces the checked-in plugin.