pub struct HomebrewConfig {Show 34 fields
pub repository: Option<RepositoryConfig>,
pub commit_author: Option<CommitAuthorConfig>,
pub directory: Option<String>,
pub name: Option<String>,
pub description: Option<String>,
pub license: Option<String>,
pub install: Option<String>,
pub extra_install: Option<String>,
pub post_install: Option<String>,
pub test: Option<String>,
pub homepage: Option<String>,
pub dependencies: Option<Vec<HomebrewDependency>>,
pub conflicts: Option<Vec<HomebrewConflict>>,
pub caveats: Option<String>,
pub skip_upload: Option<StringOrBool>,
pub commit_msg_template: Option<String>,
pub ids: Option<Vec<String>>,
pub url_template: Option<String>,
pub url_headers: Option<Vec<String>>,
pub download_strategy: Option<String>,
pub custom_require: Option<String>,
pub custom_block: Option<String>,
pub plist: Option<String>,
pub service: Option<String>,
pub manpages: Option<Vec<String>>,
pub completions: Option<HomebrewCaskCompletions>,
pub generate_completions_from_executable: Option<HomebrewCaskGeneratedCompletions>,
pub livecheck: Option<HomebrewLivecheck>,
pub cask: Option<HomebrewCaskConfig>,
pub amd64_variant: Option<Amd64Variant>,
pub arm_variant: Option<String>,
pub required: Option<bool>,
pub if_condition: Option<String>,
pub retain_on_rollback: Option<bool>,
}Fields§
§repository: Option<RepositoryConfig>Unified repository config with branch, token, PR, git SSH support.
(Replaces the legacy tap: TapConfig owner/name-only form.)
Commit author with optional signing.
directory: Option<String>Formula directory in the tap (e.g. “Formula”).
name: Option<String>Override the formula name (default: crate name).
description: Option<String>Short description of the formula (shown in brew info).
license: Option<String>SPDX license identifier (e.g., “MIT”, “Apache-2.0”).
install: Option<String>Ruby install block content for the formula.
extra_install: Option<String>Additional install commands appended after the main install block.
post_install: Option<String>Post-install commands (separate def post_install block in formula).
test: Option<String>Ruby test block content for the formula (run by brew test).
homepage: Option<String>Project homepage URL. Falls back to the GitHub release URL when unset.
dependencies: Option<Vec<HomebrewDependency>>Package dependencies (e.g. openssl, libgit2).
conflicts: Option<Vec<HomebrewConflict>>Conflicting formula names with optional reason.
caveats: Option<String>Post-install user-facing notes shown by brew info.
skip_upload: Option<StringOrBool>Skip publishing the formula. "true" always skips; "auto" skips
for prerelease versions. Accepts bool or template string.
commit_msg_template: Option<String>Custom commit message template. Rendered via Tera with the standard
release template variables (ProjectName, Tag, Version, etc.).
Default: "Brew formula update for {{ ProjectName }} version {{ Tag }}"
(set in crates/stage-publish/src/homebrew/commit_msg.rs).
ids: Option<Vec<String>>Build IDs filter: only include artifacts whose id is in this list.
url_template: Option<String>Custom URL template for download URLs (overrides release URL).
url_headers: Option<Vec<String>>HTTP headers to include in download requests (e.g. for private repos).
download_strategy: Option<String>Custom download strategy class name (e.g. :using => GitHubPrivateRepositoryReleaseDownloadStrategy).
custom_require: Option<String>Ruby require statement for custom download strategies.
custom_block: Option<String>Custom Ruby code block inserted into the formula class body.
plist: Option<String>Launchd plist content for brew services.
service: Option<String>Homebrew service block content (alternative to plist).
manpages: Option<Vec<String>>Manpage file paths to install into the formula’s man1 (e.g.
["mytool.1"]). Each entry renders a man1.install "<path>" line in
the install block, mirroring real Rust-CLI formulae (ripgrep, fd, bat).
A path ending in .N (where N is 1–8) routes to the matching manN
section; anything else defaults to man1.
completions: Option<HomebrewCaskCompletions>Prebuilt shell-completion file paths to install. When set, the formula
emits bash_completion.install "<path>" / zsh_completion.install /
fish_completion.install in its install block — the form used when the
archive ships ready-made completion files.
generate_completions_from_executable: Option<HomebrewCaskGeneratedCompletions>Generate completions by running the installed binary at install time.
Renders the modern homebrew-core idiom
generate_completions_from_executable(bin/"<exe>", ...) in the install
block. Preferred over completions when the binary can emit its
own completions; the two are independent and may both be set.
livecheck: Option<HomebrewLivecheck>livecheck stanza configuration for the formula. When unset, a binary
tap formula emits livecheck { skip "Auto-generated on release." } to
match the cask (the archive URL/sha are rewritten on every release, so
brew livecheck cannot meaningfully poll). Set strategy: /
regex:/url: to opt into active version detection instead.
cask: Option<HomebrewCaskConfig>Homebrew Cask configuration (macOS .app bundles).
amd64_variant: Option<Amd64Variant>amd64 microarchitecture variant filter (v1 / v2 / v3 / v4).
Only artifacts matching this variant are included. Default: v1.
Typed as Amd64Variant, so any value outside v1..v4 is
rejected when the config is parsed.
arm_variant: Option<String>ARM version filter (e.g. “6”, “7”). Only artifacts matching this variant are included.
required: Option<bool>Override whether this publisher failing should fail the overall release.
Default: false — a failure here is logged but does not abort the release.
Set to true to fail the release on any error.
if_condition: Option<String>Template-conditional gate: when the rendered result is falsy
("false" / "0" / "no" / empty), the Homebrew publisher is
skipped. Render failure hard-errors. Config key: brews[].if:.
retain_on_rollback: Option<bool>When true, a triggered rollback leaves this publisher’s work in
place rather than attempting to undo it. Default false.
Trait Implementations§
Source§impl Clone for HomebrewConfig
impl Clone for HomebrewConfig
Source§fn clone(&self) -> HomebrewConfig
fn clone(&self) -> HomebrewConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HomebrewConfig
impl Debug for HomebrewConfig
Source§impl Default for HomebrewConfig
impl Default for HomebrewConfig
Source§fn default() -> HomebrewConfig
fn default() -> HomebrewConfig
Source§impl<'de> Deserialize<'de> for HomebrewConfigwhere
HomebrewConfig: Default,
impl<'de> Deserialize<'de> for HomebrewConfigwhere
HomebrewConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for HomebrewConfig
impl JsonSchema for HomebrewConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PublisherGateOverrides for HomebrewConfig
impl PublisherGateOverrides for HomebrewConfig
Source§fn required_override(&self) -> Option<bool>
fn required_override(&self) -> Option<bool>
required: override. None keeps the publisher’s
built-in default; Some(true) anywhere escalates the release gate.Source§fn retain_on_rollback_override(&self) -> Option<bool>
fn retain_on_rollback_override(&self) -> Option<bool>
retain_on_rollback: override. Some(true) anywhere
opts the publisher’s successful work out of rollback.