StackRun class sealed

Something a DevStack runs: the probe, start, stop, a StackCommand.

Two kinds, because "which executable" is a question a config file cannot answer and does not have to. A StackRun.command names an executable and is right for one the machine is expected to have — docker, kubectl, sh. A StackRun.script names a Dart file in this project and lets flutterware supply the interpreter, which is the only way to be sure it is the SDK the project pins.

This is the same argument DefineSource.script makes, and it is here because the sibling API making it was not enough: both configs in this repository open by computing Platform.resolvedExecutable into a dart variable and prepending it to six commands, under ten lines of comment explaining why. A consumer reached for ['fvm', 'dart', 'run', …] instead — a committed file naming a version manager, which is worse in a way worth spelling out: fvm has to be found, and a GUI started from the Dock does not have the PATH your shell does.

Implementers

Constructors

StackRun.command(List<String> command)
An executable and its arguments, spawned directly — so $(…), pipes and && exist only if sh -c is part of what you declared.
const
factory
StackRun.script(String path, {List<String> args})
A Dart script in this project, run with the SDK flutterware is running under.
const
factory

Properties

hashCode → int
The hash code for this object.
no setterinherited
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, Object?>
toString() → String
A string representation of this object.
inherited

Operators

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

Static Methods

fromJson(Object? raw) → StackRun?
Reads back what toJson wrote, or null for a shape this build cannot read.