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