run method
Runs this command.
The return value is wrapped in a Future
if necessary and returned by
CommandRunner.runCommand
.
Implementation
@override
void run() async {
final taskRunner = TaskRunner(taskDirectory: requireConfig.taskDir);
// collect environment variables
taskRunner.renderData.addAll(Platform.environment);
// collect task flags
taskRunner.renderData.addAll(args.taskFlags);
// collect variables from cli arguments
final variablesFromArgs = args.inputVariables;
final unpackedVariablesFromArgs = parsePairs(variablesFromArgs);
taskRunner.renderData.addAll(unpackedVariablesFromArgs);
// collect variables from files given by cli argument
final dataFilePathsArg = args.dataFilePaths;
final dataFromAllFiles = readDataFromFiles(dataFilePathsArg);
taskRunner.renderData.addAll(dataFromAllFiles);
// run the task
final mainTask = Task.fromFile(getTaskPath());
await taskRunner.run(mainTask);
}