checkCommandsResults static method

void checkCommandsResults(
  1. Map<ReleasePackerCommand, ReleasePackerCommandStatus> results, {
  2. String? context,
})

Throws a ReleasePackerError if any command in results has failed.

Implementation

static void checkCommandsResults(
  Map<ReleasePackerCommand, ReleasePackerCommandStatus> results, {
  String? context,
}) {
  var failedCommands = results.entries
      .where((e) => e.value.isError)
      .map((e) => e.key)
      .toList();

  if (failedCommands.isEmpty) return;

  var at = context != null && context.isNotEmpty ? ' at `$context`' : '';

  for (var c in failedCommands) {
    print('  ▒▒  FAILED COMMAND$at: $c');
  }
  print('');

  throw ReleasePackerError(
    'Command error$at: ${failedCommands.join(' ; ')}',
    failedCommands: failedCommands,
  );
}