run method

  1. @override
Future<bool> run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

@override
Future<bool> run() async {
  bool result = true;
  final closer = logger.header("Dependencies");

  logger.printFixed('   🔎 Finding lambdas');
  final String lambdasPath = path.join(rootDir, 'lambdas');
  final lambdaRoots = Directory(lambdasPath)
      .listSync(recursive: false, followLinks: false)
      .whereType<Directory>()
      .map((e) => e.path)
      .toList(growable: false)
      .sorted();
  logger.printDone('found ${lambdaRoots.length}');

  final ind = '   ';
  final subInd = ind + ind;
  for (var lambdaDir in lambdaRoots) {
    var lambdaName = path.basename(lambdaDir);
    final blockLogger = logger.collapsibleBlock(
      "👇  Resetting $lambdaName",
      ind,
    );

    useSequence([PubGetTask(this, blockLogger)]);
    result = await runSequence({
      PubGetTask.taskName: {'target': lambdaDir, 'indent': subInd},
    });

    result = blockLogger.close(result);
  }

  return closer(result);
}