VerifyCommand constructor

VerifyCommand()

Implementation

VerifyCommand() {
  argParser
    // Both default to what the project has, found from the repository root
    // rather than the working directory — a literal 'CHANGELOG.md' default
    // would resolve against wherever this was invoked from, which for every
    // consumer is the package that pins it rather than the repository.
    ..addOption(
      'changelog',
      valueHelp: 'path',
      help:
          'CHANGELOG.md to check every version section of. Defaults to the '
          "repository's, so plain `cux_ship verify` already checks it.",
    )
    ..addOption(
      'appstore',
      valueHelp: 'path',
      help:
          'One App Store metadata tree to validate, instead of the ones '
          'found. Defaults to store/appstore/<platform> when the tree is '
          'split per platform and store/appstore when it is flat — both '
          'trees are checked, so this is for a tree kept somewhere else.',
    )
    ..addOption(
      'platform',
      allowed: ascPlatforms,
      help:
          'Which App Store platform to check, and which platform --appstore '
          'names. Chooses among appstore.screenshots. Omit it to check every '
          'tree the repository has; required alongside --appstore when two '
          'platforms are declared, because one path cannot say which it is.',
    )
    ..addOption(
      'play',
      valueHelp: 'path',
      help:
          'Play metadata tree to validate. Defaults to store/play when '
          '.cux-ship.yaml declares a play: block.',
    )
    ..addOption(
      'data-safety',
      valueHelp: 'path',
      help:
          "Play's data safety CSV. Defaults to store/play/data-safety.csv. "
          'Checked for structure, never for whether the answers are true.',
    )
    ..addMultiOption(
      'require-screenshot-type',
      help:
          'A ScreenshotDisplayType the listing must carry, e.g. '
          'APP_IPAD_PRO_3GEN_129. Overrides what the Xcode project implies. '
          'Normally unnecessary: TARGETED_DEVICE_FAMILY says whether an iPad '
          'set is required, and Apple refuses the submission rather than the '
          'upload.',
    )
    ..addMultiOption(
      'require-locale',
      help:
          'A locale the listing must carry, e.g. en-US. Overrides '
          'appstore.locales and play.locales.',
    );
}