Skip to main content

Module generate

Module generate 

Source
Expand description

manifest gen: walk <data>/<game>/packages/<directory>/**/*.zip, hash every zip, merge its sidecar, and collect what the publisher should fix.

The result depends on the zips and sidecars alone, never on the previous manifest, so deleting a sidecar key removes the value and replicas agree.

Structs§

FoundFiles 🔒
The zips and sidecars under one access directory, keyed by package name.

Functions§

collect 🔒
Depth-first in name order, which keeps a regenerated manifest byte-stable.
generate
A zip outside an access directory or with a broken sidecar is withheld as an error rather than published with silently wrong metadata; the rest publishes. A game publishes nothing without a valid schema.toml, and a package in a category its schema does not declare is skipped.
generate_with
generate, comparing each game’s schema with bundled instead of this release’s own, so tests’ fixture schemas need not match the repository’s.
is_zip 🔒
join_name 🔒
Joins with / on every host: a name is a protocol string, not a filesystem path.
package_entry 🔒
Metadata from the sidecar alone, with a version derived from the bytes when it names none; size, hash and mtime always come from the zip.
read_dir_sorted 🔒
scan_access_directory 🔒
scan_game 🔒
url_clean 🔒
Does every byte pass through a URL unescaped, / included?