pub struct HomebrewCaskConfig {Show 27 fields
pub name: Option<String>,
pub alternative_names: Option<Vec<String>>,
pub repository: Option<RepositoryConfig>,
pub commit_author: Option<CommitAuthorConfig>,
pub commit_msg_template: Option<String>,
pub directory: Option<String>,
pub ids: Option<Vec<String>>,
pub url_template: Option<String>,
pub url: Option<HomebrewCaskURL>,
pub app: Option<String>,
pub binaries: Option<Vec<HomebrewCaskBinary>>,
pub description: Option<String>,
pub homepage: Option<String>,
pub license: Option<String>,
pub caveats: Option<String>,
pub custom_block: Option<String>,
pub service: Option<String>,
pub manpages: Option<Vec<String>>,
pub completions: Option<HomebrewCaskCompletions>,
pub generate_completions_from_executable: Option<HomebrewCaskGeneratedCompletions>,
pub dependencies: Option<Vec<HomebrewCaskDependencyEntry>>,
pub conflicts: Option<Vec<HomebrewCaskConflictEntry>>,
pub hooks: Option<HomebrewCaskHooks>,
pub uninstall: Option<HomebrewCaskUninstall>,
pub zap: Option<HomebrewCaskUninstall>,
pub skip_upload: Option<StringOrBool>,
pub update_existing_pr: Option<StringOrBool>,
}Expand description
Unified Homebrew Cask configuration.
Used at both call-sites:
homebrew_casks:— top-level array; carriesrepository,commit_author,directory,ids,url, structureduninstall/zap, etc.crates[].publish.homebrew_cask:— per-crate override; same shape, withurl_templateas the simpler URL alternative.
Fields from both original types are present; any field may be None at either
call-site. The union avoids a two-type bifurcation while keeping both axes.
Fields§
§name: Option<String>Cask name (default: crate / project name).
alternative_names: Option<Vec<String>>Alternative cask names (aliases).
repository: Option<RepositoryConfig>Unified repository config for the Homebrew tap.
Commit author with optional signing.
commit_msg_template: Option<String>Custom commit message template. Default: “Brew cask update for {{ .ProjectName }} version {{ .Tag }}”
directory: Option<String>Subdirectory in the tap repo for cask placement (default: “Casks”).
ids: Option<Vec<String>>Build IDs filter: only include artifacts from builds whose id is in this list.
url_template: Option<String>Simple URL template for the .dmg/.zip download (per-crate shorthand).
Cannot be combined with url.template: — set one or the other.
If both are present, config validation rejects the config at parse time.
Use url: for the structured form (verified domain, custom headers, etc.)
or url_template: for a bare string shorthand — never both simultaneously.
url: Option<HomebrewCaskURL>Structured download URL configuration (top-level axis).
app: Option<String>macOS .app bundle name (e.g. “MyApp.app”).
binaries: Option<Vec<HomebrewCaskBinary>>Binary stubs to create in /usr/local/bin.
Each entry is either a bare string ("my-cli" → emits
binary "my-cli") or a structured { name, target } object
({ name: "my-cli", target: "mycli" } → emits
binary "my-cli", target: "mycli"). The target: form mirrors
the Homebrew Ruby cask DSL for binary renames — without it, a
wrapped binary installs at the wrong path.
Mirrors GoReleaser internal/pipe/brew/templates/cask.rb.tmpl.
description: Option<String>Cask description.
homepage: Option<String>Project homepage URL.
license: Option<String>License identifier (SPDX).
caveats: Option<String>Custom caveats shown after install.
custom_block: Option<String>Arbitrary Ruby code inserted into the cask block.
service: Option<String>Homebrew service definition.
manpages: Option<Vec<String>>Manual page references to install.
completions: Option<HomebrewCaskCompletions>Shell completion definitions.
generate_completions_from_executable: Option<HomebrewCaskGeneratedCompletions>Auto-generate shell completions from an executable.
dependencies: Option<Vec<HomebrewCaskDependencyEntry>>Cask dependencies (other casks or formulae).
conflicts: Option<Vec<HomebrewCaskConflictEntry>>Conflicting casks or formulae.
hooks: Option<HomebrewCaskHooks>Pre/post install/uninstall hooks.
uninstall: Option<HomebrewCaskUninstall>Structured uninstall stanza configuration.
zap: Option<HomebrewCaskUninstall>Deep uninstall (zap) stanza configuration.
skip_upload: Option<StringOrBool>Skip publishing the cask. "true" always skips; "auto" skips
for prerelease versions. Accepts bool or template string.
update_existing_pr: Option<StringOrBool>When true, force-push the updated cask file to the existing PR branch when a PR for the same head branch already exists. The PR content is updated in place rather than creating a duplicate. When false (default), the push is skipped and a warning is emitted so the operator sees that the publisher did not update the PR.
Trait Implementations§
Source§impl Clone for HomebrewCaskConfig
impl Clone for HomebrewCaskConfig
Source§fn clone(&self) -> HomebrewCaskConfig
fn clone(&self) -> HomebrewCaskConfig
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 HomebrewCaskConfig
impl Debug for HomebrewCaskConfig
Source§impl Default for HomebrewCaskConfig
impl Default for HomebrewCaskConfig
Source§fn default() -> HomebrewCaskConfig
fn default() -> HomebrewCaskConfig
Source§impl<'de> Deserialize<'de> for HomebrewCaskConfigwhere
HomebrewCaskConfig: Default,
impl<'de> Deserialize<'de> for HomebrewCaskConfigwhere
HomebrewCaskConfig: 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 HomebrewCaskConfig
impl JsonSchema for HomebrewCaskConfig
Source§fn schema_name() -> String
fn schema_name() -> String
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 is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read more