buildArgParser static method

ArgParser buildArgParser()

Implementation

static ArgParser buildArgParser() {
  final parser = ArgParser();

  parser.addOption(
    'platform',
    abbr: 'p',
    defaultsTo: 'android',
    help: 'Target platform for compilation (android, ios, all).',
    allowed: ['android', 'ios', 'all'],
  );

  parser.addOption(
    'format',
    abbr: 'f',
    help:
        'Artifact format (appbundle/aab, apk, ipa). Defaults to appbundle for Android, ipa for iOS.',
    allowed: ['appbundle', 'aab', 'apk', 'ipa'],
  );

  parser.addOption(
    'path',
    defaultsTo: '.',
    help: 'Path to target Flutter project directory.',
  );

  parser.addOption(
    'version',
    help: 'Explicit version name override (e.g. 1.2.3).',
  );

  parser.addOption(
    'build-number',
    help: 'Explicit build number override (e.g. 42).',
  );

  parser.addOption(
    'flavor',
    help: 'Target build flavor (e.g. production).',
  );

  parser.addOption(
    'target',
    abbr: 't',
    help: 'Target entrypoint Dart file (e.g. lib/main.dart).',
  );

  parser.addOption(
    'environment',
    abbr: 'e',
    help: 'Target environment (e.g. production, staging, development).',
  );

  parser.addOption(
    'env',
    help: 'Alias for --environment.',
  );

  parser.addMultiOption(
    'dart-define',
    help: 'Additional key=value dart-defines to pass during compilation.',
  );

  parser.addFlag(
    'dry-run',
    negatable: false,
    help:
        'Preview build configuration and command without running compilation.',
  );

  parser.addFlag(
    'release',
    defaultsTo: true,
    help: 'Build in release mode.',
  );

  parser.addFlag(
    'debug',
    negatable: false,
    help: 'Build in debug mode.',
  );

  return parser;
}