run method
Runs this tool and returns (either synchronously or asynchronously) an int which will be treated as the exit code (i.e. non-zero means failure).
context
is optional. If calling this directly from a dart script, you
will most likely want to omit this. DevTools that are converted to a
DevToolCommand via toCommand for use in a command-line application
will provide a fully-populated DevToolExecutionContext here.
This is the one API member that subclasses need to implement.
Implementation
@override
FutureOr<int?> run([DevToolExecutionContext? context]) async {
context ??= DevToolExecutionContext();
final execution = buildExecution(context,
configuredBuildArgs: buildArgs, configuredTestArgs: testArgs);
return execution.exitCode ??
await runProcessAndEnsureExit(execution.process!, log: _log);
}