API Reference tinfoil v#0.2.22

Copy Markdown View Source

Modules

Distribution automation for Burrito-based Elixir CLIs.

Create release archives from built binaries.

Orchestrate a single-target Burrito build, archive, and checksum.

Integration with the user's Burrito configuration in mix.exs.

Schema, defaults, and validation for the :tinfoil key in mix.exs.

Renders tinfoil's EEx templates into the target project.

Render a Homebrew formula from release artifacts and push it to a tap repo. Earlier tinfoil versions shelled out to a generated scripts/update-homebrew.sh; this module replaces it so the whole release lifecycle stays in Elixir and is unit-testable.

Thin wrapper around the subset of git commands Tinfoil.Homebrew needs. Kept behind a behaviour so tests can swap in a stub module without touching the real filesystem or network.

Heuristic detection of dependencies that may not cross-compile cleanly under Burrito's Zig toolchain.

Build a structured plan describing what tinfoil would build and release from the current config.

Splice tinfoil + Burrito wiring into a mix.exs that was produced by mix new. The edits are intentionally string-based (not AST rewrites) so user formatting, comments, and layout are preserved.

Create a GitHub Release and upload archive assets to it.

Render a Scoop manifest from release artifacts and push it to a bucket repo. The Windows-package-manager counterpart to Tinfoil.Homebrew, same shape: mix task at CI time, token or deploy-key auth, dry-run preview.

The core target matrix — the most valuable knowledge tinfoil encodes.

Mix Tasks

Render the Homebrew formula from the release artifacts in the input directory and push the result to the configured tap repo.

Render the Scoop manifest from release artifacts and push it to the configured bucket repo. The Windows counterpart to mix tinfoil.homebrew.

Build a single tinfoil target end-to-end.

Regenerate the tinfoil-managed files from the current :tinfoil config in mix.exs.

Initialize tinfoil for the current mix project.

Print a plan of what tinfoil would build and release from the current :tinfoil config in mix.exs.

Create a GitHub Release for the current tag and upload every archive and checksum file found under the input directory.