Expand description
The ReleaseProvider trait, value types, error enum, and
factory-registration primitives.
Backends register a factory via linkme::distributed_slice, which
is resolved at link time — no runtime init() ceremony. Downstream
tools that want a custom backend declare their own
RegisteredProvider and link against this crate.
Structs§
- Registered
Provider - A single registered backend. Each built-in and downstream-custom
backend contributes one of these to
RELEASE_PROVIDERS. - Release
- A single release, as observed from a source.
- Release
Asset - A single downloadable artefact attached to a
Release.
Enums§
- Provider
Error - Every failure mode a
ReleaseProvidercan surface.
Statics§
- RELEASE_
PROVIDERS - Distributed slice of built-in and downstream-custom providers.
Traits§
- Provider
Registration - Trait implemented by each registered provider’s registration hook.
- Release
Provider - Read-only release-source abstraction.
Functions§
- lookup
- Return the
ProviderFactoryforsource_type, orNoneif no backend has registered for that discriminator. - registered_
types - Return a sorted, de-duplicated list of registered
source_typediscriminators. Used to generate user-facing diagnostics when the caller specified an unknown backend.
Type Aliases§
- Provider
Factory - Signature of a provider factory. Accepts a parsed
ReleaseSourceConfigplus an optional bearer token and returns anArc<dyn ReleaseProvider>(or a validation error).