ChangelogCommand constructor

ChangelogCommand(
  1. TerminalOutput _output, {
  2. ChangelogManager? manager,
  3. ReleaseNotesGenerator? notesGenerator,
  4. VersionManager? versionManager,
})

Implementation

ChangelogCommand(
  this._output, {
  ChangelogManager? manager,
  ReleaseNotesGenerator? notesGenerator,
  VersionManager? versionManager,
})  : _manager = manager ?? const ChangelogManager(),
      _notesGenerator = notesGenerator ?? const ReleaseNotesGenerator(),
      _versionManager = versionManager ?? const VersionManager(),
      _argParser = ArgParser() {
  _argParser.addOption(
    'path',
    abbr: 'p',
    help: 'Target Flutter project directory path.',
    defaultsTo: '.',
  );
  _argParser.addFlag(
    'init',
    help: 'Initialize a new CHANGELOG.md file if one does not exist.',
    negatable: false,
  );
  _argParser.addFlag(
    'overwrite',
    help: 'Allow overwriting existing version entry in CHANGELOG.md.',
    negatable: false,
  );
  _argParser.addOption(
    'version',
    help: 'Explicit version name to record in CHANGELOG.md.',
  );
  _argParser.addOption(
    'previous-tag',
    help: 'Previous tag reference to start commit range from.',
  );
  _argParser.addFlag(
    'dry-run',
    help: 'Preview changelog update without modifying CHANGELOG.md on disk.',
    negatable: false,
  );
}