Help us shape the future of Go! Take the 2026 Go Developer Survey

macsoftware

package
v0.11.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 22, 2026 License: Apache-2.0, MIT Imports: 27 Imported by: 0

Documentation

Overview

Package macsoftware prepares macOS installers and their selected application evidence.

Index

Constants

View Source
const Version = "stemma.macsoftware/19"

Variables

View Source
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.

func Prepare

func Prepare(ctx context.Context, spec Spec, request Request) (map[string]plugin.Artifact, error)

Prepare retains vendor installer bytes, places a selected archive application in a disk image, or places the selected application in a declared component package. It never executes applications or hooks.

Types

type Application

type Application struct {
	Path          string `` /* 139-byte string literal not displayed */
	InstalledPath string `` /* 168-byte string literal not displayed */
	BundleID      string `` /* 159-byte string literal not displayed */
	VersionKey    string `` /* 257-byte string literal not displayed */
}

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

type Request struct {
	Input           plugin.Artifact
	Workspace       string
	DeriveSignature bool
}

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

func (s Spec) Notices(identity plugin.ResourceReference, derive string) []plugin.Notice

Notices recommends a signing assertion for externally supplied software. Resource outputs own their input policies; built packages need no publisher assertion.

func (Spec) Preparation

func (s Spec) Preparation() Spec

Preparation keeps the fields that shape the installer; publication settings and the icon asset change without invalidating prepared outputs.

func (Spec) Validate

func (s Spec) Validate() error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL