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;
}
}