ReleaseNotesCommand constructor

ReleaseNotesCommand(
  1. TerminalOutput _output, {
  2. ReleaseNotesGenerator? generator,
  3. VersionManager? versionManager,
})

Implementation

ReleaseNotesCommand(
  this._output, {
  ReleaseNotesGenerator? generator,
  VersionManager? versionManager,
})  : _generator = generator ?? const ReleaseNotesGenerator(),
      _versionManager = versionManager ?? const VersionManager(),
      _argParser = ArgParser() {
  _argParser.addOption(
    'path',
    abbr: 'p',
    help: 'Target Flutter project directory path.',
    defaultsTo: '.',
  );
  _argParser.addOption(
    'format',
    abbr: 'f',
    help: 'Format for output (markdown, json, text).',
    defaultsTo: 'markdown',
    allowed: ['markdown', 'json', 'text'],
  );
  _argParser.addOption(
    'output',
    abbr: 'o',
    help: 'File path to write release notes to.',
  );
  _argParser.addOption(
    'version',
    help: 'Explicit version name to generate notes for.',
  );
  _argParser.addOption(
    'previous-tag',
    help: 'Previous release tag to start commit range from.',
  );
  _argParser.addFlag(
    'dry-run',
    help: 'Preview file writing operations without writing to disk.',
    negatable: false,
  );
}