run method

  1. @override
FutureOr? run()
override

Runs this command.

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

Implementation

@override
FutureOr<dynamic>? run() async {
  final repo = RepoOption.repo(argResults, usageException);
  final num = NumOption.num(argResults, usageException);
  final base = BaseOption.base(argResults, usageException);
  final head = HeadOption.head(argResults, usageException);
  final dir = DirOption.dir(argResults, usageException);

  final indicates = await _getIndicates(
    dir: dir,
    base: base,
    head: head,
  );
  if (indicates.isEmpty) {
    return;
  }

  final filteredIndicates = await _filterIndicates(
    repo: repo,
    num: num,
    indicates: indicates,
  );
  if (filteredIndicates.isEmpty) {
    log.i('In this Pull Request ( #$num ), no issues found!');
    return;
  }

  final reviewComments = await _commentIndicates(
    repo: repo,
    num: num,
    indicates: filteredIndicates,
  );
  log.i(_encoder.convert(reviewComments));
}