void main()

in tool/dartdoc_compare.dart [18:64]


void main(List<String> arguments) {
  final parser = ArgParser()
    ..addSeparator('Usage: dartdoc-compare.dart [OPTIONS] <dart-package>')
    ..addOption(_dartdocDir, help: 'Directory of the dartdoc package')
    ..addOption(_markdownBefore, help: "Markdown package 'before' ref")
    ..addOption(_markdownAfter,
        defaultsTo: 'HEAD', help: "Markdown package 'after' ref (or 'local')")
    ..addFlag(_sdk,
        defaultsTo: false, negatable: false, help: 'Is the package the SDK?')
    ..addFlag(_help, abbr: 'h', hide: true);

  var options = parser.parse(arguments);
  if (options[_help] as bool) {
    print(parser.usage);
    exitCode = 0;
    return;
  }
  if (options[_dartdocDir] == null || options[_markdownBefore] == null) {
    print(
        'Invalid arguments: Options --$_dartdocDir and --$_markdownBefore must be specified');
    print(parser.usage);
    exitCode = 1;
    return;
  }
  var comparer = DartdocCompare(
      options[_dartdocDir] as String,
      options[_markdownBefore] as String,
      options[_markdownAfter] as String,
      absolute(options[_dartdocDir] as String, 'bin/dartdoc.dart'),
      absolute(options[_dartdocDir] as String, 'pubspec.yaml'),
      options[_sdk] as bool);

  String? path;
  if (comparer.sdk) {
    if (options.rest.isNotEmpty) {
      path = options.rest.single;
    }
  } else {
    path = options.rest.single;
  }

  if (comparer.compare(path)) {
    exitCode = 0;
  } else {
    exitCode = 1;
  }
}