pub struct Defaults {Show 27 fields
pub builds: Option<BuildConfig>,
pub archives: Option<ArchiveConfig>,
pub source: Option<SourceConfig>,
pub upx: Option<UpxConfig>,
pub nfpms: Option<NfpmConfig>,
pub snapcrafts: Option<SnapcraftConfig>,
pub flatpaks: Option<FlatpakConfig>,
pub app_bundles: Option<AppBundleConfig>,
pub dmgs: Option<DmgConfig>,
pub pkgs: Option<PkgConfig>,
pub msis: Option<MsiConfig>,
pub nsis: Option<NsisConfig>,
pub makeselves: Option<MakeselfConfig>,
pub srpms: Option<SrpmConfig>,
pub docker_v2: Option<DockerV2Config>,
pub publish: Option<PublishDefaults>,
pub sign: Option<SignConfig>,
pub binary_signs: Option<SignConfig>,
pub docker_signs: Option<DockerSignConfig>,
pub notarize: Option<NotarizeConfig>,
pub sbom: Option<SbomConfig>,
pub targets: Option<Vec<String>>,
pub env: Option<Vec<String>>,
pub cross: Option<CrossStrategy>,
pub checksum: Option<ChecksumConfig>,
pub crates: Option<DefaultsCrateBlock>,
pub workspaces: Option<DefaultsWorkspaceBlock>,
}Expand description
Workspace-level defaults that path-mirror the CrateConfig (and select
top-level Config) shape. Each field here is folded into every resolved
crate by defaults_merge::apply_defaults according to the deep-merge /
merge-by-identity semantics documented in defaults_merge.
Multi-publisher fields are single-struct on both sides today: defaults
supplies one struct per publisher, and per-crate publish.* fields are
also single-struct. A future change may introduce list-or-scalar via
OneOrMany<T> on the per-crate side so a crate can declare multiple
homebrew taps / scoop buckets / etc.; the defaults side would stay
single-struct and merge into the first per-crate entry by identity.
Fields§
§builds: Option<BuildConfig>Default build settings applied to every crate’s builds (deep-merged
into each CrateConfig.builds[] entry by identity on id/binary).
archives: Option<ArchiveConfig>Default archive settings applied to all crates.
source: Option<SourceConfig>Default source-archive settings applied to all crates.
upx: Option<UpxConfig>Default UPX compression settings applied to all crates.
nfpms: Option<NfpmConfig>Default nfpm (deb/rpm/apk) settings applied to all crates.
snapcrafts: Option<SnapcraftConfig>Default snapcraft settings applied to all crates.
flatpaks: Option<FlatpakConfig>Default flatpak settings applied to all crates.
app_bundles: Option<AppBundleConfig>Default app-bundle settings applied to all crates.
dmgs: Option<DmgConfig>Default DMG settings applied to all crates.
pkgs: Option<PkgConfig>Default macOS PKG settings applied to all crates.
msis: Option<MsiConfig>Default MSI settings applied to all crates.
nsis: Option<NsisConfig>Default NSIS settings applied to all crates.
makeselves: Option<MakeselfConfig>Default makeself settings applied to all crates.
srpms: Option<SrpmConfig>Default SRPM settings applied to all crates.
docker_v2: Option<DockerV2Config>Default Docker (V2 API) image settings applied to all crates.
publish: Option<PublishDefaults>Default publisher configurations (single-struct per publisher).
Per-crate publish.* entries are merged into these by identity.
sign: Option<SignConfig>Default artifact signing settings.
binary_signs: Option<SignConfig>Default binary-signing settings.
docker_signs: Option<DockerSignConfig>Default Docker image signing settings.
notarize: Option<NotarizeConfig>Default macOS notarization settings.
sbom: Option<SbomConfig>Default SBOM generation settings.
targets: Option<Vec<String>>Default build targets (e.g., [“x86_64-unknown-linux-gnu”, “aarch64-apple-darwin”]).
env: Option<Vec<String>>Default environment variables (KEY=VALUE strings) hoisted across crates.
cross: Option<CrossStrategy>Default cross-compilation strategy: auto, zigbuild, cross, or cargo.
Mirrors CrateConfig.cross so the strategy can be hoisted to defaults.
checksum: Option<ChecksumConfig>Default checksum settings applied to all crates.
Mirrors CrateConfig.checksum so checksum config can be hoisted to defaults.
crates: Option<DefaultsCrateBlock>Crate-axis defaults marker. Only valid when top-level crates: is set.
Reserved for per-crate overrides keyed by crate id (future waves).
workspaces: Option<DefaultsWorkspaceBlock>Workspace-axis defaults marker. Only valid when top-level workspaces: is set.
Reserved for per-workspace overrides keyed by workspace name (future waves).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Defaults
impl<'de> Deserialize<'de> for Defaults
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 Defaults
impl JsonSchema for Defaults
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