run method

  1. @override
void run()
override

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);
}