Documentation
¶
Overview ¶
Package macsoftware prepares macOS installers and their selected application evidence.
Index ¶
- Constants
- Variables
- func Icon(ctx context.Context, installer plugin.Artifact, workspace string, ...) (icon.Subject, error)
- func IconFromSource(ctx context.Context, source *contents.Source, app plugin.Subject, ...) (icon.Subject, error)
- func Prepare(ctx context.Context, spec Spec, request Request) (map[string]plugin.Artifact, error)
- type Application
- type DiskImage
- type Package
- type Request
- type Spec
Constants ¶
const Version = "stemma.macsoftware/19"
Variables ¶
var ErrNoApplication = errors.New("installer has no selected application")
ErrNoApplication reports an installer whose preparation selected no application.
Functions ¶
func Icon ¶ added in v0.3.0
func Icon(ctx context.Context, installer plugin.Artifact, workspace string, presentation icon.Presentation) (icon.Subject, error)
Icon extracts artwork for Raw or stages a bundle for Glassy. Presentation must already be resolved. Installer bytes stay untouched.
func IconFromSource ¶ added in v0.9.1
func IconFromSource(ctx context.Context, source *contents.Source, app plugin.Subject, workspace string, presentation icon.Presentation) (icon.Subject, error)
IconFromSource reads a selected application from an already open input.
Types ¶
type Application ¶
type DiskImage ¶ added in v0.6.0
type DiskImage struct {
Compression diskimage.Compression `` /* 255-byte string literal not displayed */
}
DiskImage declares how preparation encodes the disk image it creates.
type Package ¶ added in v0.10.2
type Package struct {
Identifier string `` /* 250-byte string literal not displayed */
Compression pkgbuild.Compression `` /* 266-byte string literal not displayed */
}
Package declares the component package preparation creates for the selected application. Its version is the application's.
type Request ¶ added in v0.3.0
Request carries the leased input and workspace for one preparation. DeriveSignature verifies the published artifact against its observed signer instead of the configured one and reports it as evidence.
type Spec ¶
type Spec struct {
Source *plugin.Input `` /* 195-byte string literal not displayed */
Application *Application `` /* 393-byte string literal not displayed */
// PackagePath selects one installer package, or a disk image to open, by
// path or glob.
PackagePath string `` /* 253-byte string literal not displayed */
DiskImage *DiskImage `` /* 174-byte string literal not displayed */
// Package publishes the selected application in a new component package.
Package *Package `` /* 407-byte string literal not displayed */
Signatures []signature.Expectation `` /* 363-byte string literal not displayed */
// MinimumOS replaces the installer's and the selected application's macOS
// requirements for every destination.
MinimumOS string `` /* 302-byte string literal not displayed */
// Icon names the catalog asset icons/<name>.png that destinations publish.
Icon string `` /* 237-byte string literal not displayed */
Destinations map[string]map[string]any `` /* 190-byte string literal not displayed */
Subjects map[string]plugin.SubjectSelector `` /* 197-byte string literal not displayed */
}
Spec declares a macOS installer, how preparation selects from it and how destinations publish it.
func (Spec) Notices ¶ added in v0.10.1
Notices recommends a signing assertion for externally supplied software. Resource outputs own their input policies; built packages need no publisher assertion.
func (Spec) Preparation ¶
Preparation keeps the fields that shape the installer; publication settings and the icon asset change without invalidating prepared outputs.