Skip to main content

SnapcraftConfig

Struct SnapcraftConfig 

Source
pub struct SnapcraftConfig {
Show 24 fields pub id: Option<String>, pub ids: Option<Vec<String>>, pub name: Option<String>, pub title: Option<String>, pub summary: Option<String>, pub description: Option<String>, pub icon: Option<String>, pub base: Option<String>, pub grade: Option<String>, pub license: Option<String>, pub publish: Option<bool>, pub channel_templates: Option<Vec<String>>, pub confinement: Option<String>, pub plugs: Option<BTreeMap<String, Value>>, pub assumes: Option<Vec<String>>, pub apps: Option<BTreeMap<String, SnapcraftApp>>, pub layouts: Option<BTreeMap<String, SnapcraftLayout>>, pub extra_files: Option<Vec<SnapcraftExtraFileSpec>>, pub templated_extra_files: Option<Vec<TemplatedExtraFile>>, pub name_template: Option<String>, pub skip: Option<StringOrBool>, pub replace: Option<bool>, pub mod_timestamp: Option<String>, pub hooks: Option<BTreeMap<String, Value>>,
}

Fields§

§id: Option<String>

Unique identifier for this snapcraft config.

§ids: Option<Vec<String>>

Build IDs to include. Empty means all builds.

§name: Option<String>

Snap package name in the store.

§title: Option<String>

Canonical application title (user-facing in store).

§summary: Option<String>

Single-line elevator pitch (max 79 characters).

§description: Option<String>

Extended description (user-facing in store).

§icon: Option<String>

Path to the snap icon image (.png or .svg).

When set, anodizer copies the file to meta/gui/<name>.<ext> inside the staged prime directory before snapcraft pack runs. The icon is delivered to the Snap Store via snapcraft’s GUI metadata channel and never appears in snap.json, keeping uploads schema-clean. (The Snap Store rejects snap.json that contains an icon: key with “Additional properties are not allowed (‘icon’ was unexpected)”.)

The source path may be absolute or relative to the project root. Anodizer errors before staging if the file does not exist.

§base: Option<String>

Runtime base snap: core, core18, core20, core22, core24, bare.

§grade: Option<String>

Release stability level: stable, devel.

§license: Option<String>

License identifier (SPDX format).

§publish: Option<bool>

Whether to publish to the snapcraft store.

§channel_templates: Option<Vec<String>>

Distribution channels: edge, beta, candidate, stable.

§confinement: Option<String>

Security confinement level: strict, devmode, classic.

§plugs: Option<BTreeMap<String, Value>>

Top-level snap plug definitions (structured map). Keys are plug names, values are either null (simple plug) or an object with interface and optional attributes (e.g. { interface: "content", target: "$SNAP/shared" }). GoReleaser uses map[string]any for this field.

§assumes: Option<Vec<String>>

Required snapd features/versions.

§apps: Option<BTreeMap<String, SnapcraftApp>>

Application configurations defining daemons, commands, env vars.

§layouts: Option<BTreeMap<String, SnapcraftLayout>>

Directory mappings for sandbox accessibility.

§extra_files: Option<Vec<SnapcraftExtraFileSpec>>

Additional static files to bundle (string shorthand or structured form).

§templated_extra_files: Option<Vec<TemplatedExtraFile>>

Extra files whose contents are rendered through the template engine before bundling. Unlike extra_files which copy as-is, template variables like {{ .Tag }} are expanded. GoReleaser Pro feature.

§name_template: Option<String>

Template for the output snap filename.

§skip: Option<StringOrBool>

Skip this snapcraft config. Accepts bool or template string (e.g. "{{ if .IsSnapshot }}true{{ endif }}" for conditional skip). Accepts the legacy disable: spelling via serde alias for back-compat with imported GoReleaser configs (GR’s snapcraft config field is pkg/config/config.go:1033 Disable string).

§replace: Option<bool>

Remove source archives from artifacts, keeping only snap.

§mod_timestamp: Option<String>

Output timestamp for reproducible builds.

§hooks: Option<BTreeMap<String, Value>>

Snap hooks — maps hook name to arbitrary hook config.

Trait Implementations§

Source§

impl Clone for SnapcraftConfig

Source§

fn clone(&self) -> SnapcraftConfig

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SnapcraftConfig

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for SnapcraftConfig

Source§

fn default() -> SnapcraftConfig

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for SnapcraftConfig

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl JsonSchema for SnapcraftConfig

Source§

fn schema_name() -> String

The name of the generated JSON Schema. Read more
Source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
Source§

fn json_schema(generator: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
Source§

fn is_referenceable() -> bool

Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
Source§

impl Serialize for SnapcraftConfig

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,