BinarySpec class

Constructors

BinarySpec({String? image, String? ldflags, String? main, String? name, String? out_, List<String> platforms = const [], String? run})
Returns a new BinarySpec instance.

Properties

hashCode → int
The hash code for this object.
no setteroverride
image ↔ String?
Image is the toolchain image the recipe runs in, a Go bookworm image by default. It is the one field the GitHub lane ignores: there the runner IS the toolchain, and a cluster has to be told what a runner already is.
getter/setter pair
ldflags ↔ String?
Ldflags are the Go linker flags, -s -w when the recipe names none, on one line. Go lane only.
getter/setter pair
main ↔ String?
Main is the Go package to build, repo-relative (. or ./cmd/x), and it selects the GO LANE. Defaults to . when neither lane is named; declaring it together with run is refused.
getter/setter pair
name ↔ String?
Name is the artifact's base name: the prefix of every file published for this entry, and the name a host later asks for. It must match ^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$, which is what makes it safe as both a filename and a URL path segment.
getter/setter pair
out_ ↔ String?
Out is the glob of files run produced, relative to the repo root; matching nothing FAILS the build rather than publishing an empty entry. It expands unquoted, so it is bounded to path and glob characters. The Go lane names its own files and ignores this.
getter/setter pair
platforms ↔ List<String>
Platforms are the <os>/<arch> pairs the Go lane cross-compiles, linux/amd64 by default. Each one publishes as <name>-<os>-<arch>, which is the shape a host resolves a binary BY — so the list is what a caller can ask for later.
getter/setter pair
run ↔ String?
Run is any other toolchain's build command, run by sh -c in this entry's image, and it selects the OTHER LANE. Arbitrary shell is the point — it is the same trust as a Dockerfile RUN — which is why it executes with no object-store credential and no service-account token. It requires out.
getter/setter pair
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() → Map<String, dynamic>
toString() → String
A string representation of this object.
override

Operators

operator ==(Object other) → bool
The equality operator.
override

Static Methods

fromJson(dynamic value) → BinarySpec?
Returns a new BinarySpec instance and imports its values from value if it's a Map, null otherwise.
listFromJson(dynamic json, {bool growable = false}) → List<BinarySpec>
mapFromJson(dynamic json) → Map<String, BinarySpec>
mapListFromJson(dynamic json, {bool growable = false}) → Map<String, List<BinarySpec>>

Constants

requiredKeys → const Set<String>
The list of required keys that must be present in a JSON.