Arguments.fromArgResults constructor

Arguments.fromArgResults(
  1. ArgResults argResults,
  2. ArgResults? globalResults
)

Creates Arguments instance from command-line arguments.

Parses command-line arguments and optional global results to create a fully configured Fastlane Arguments instance. Handles type conversion and validation for all supported parameters.

Parameters:

  • argResults - Parsed command-line arguments
  • globalResults - Optional global command arguments

Returns configured Arguments instance with parsed values.

Throws Exception if required parameters are missing or invalid.

Implementation

factory Arguments.fromArgResults(
  ArgResults argResults,
  ArgResults? globalResults,
) => Arguments(
  Variables.fromSystem(globalResults),
  filePath: argResults['file-path'],
  binaryType: argResults['binary-type'],
  versionName: argResults['version-name'],
  versionCode: int.tryParse(argResults['version-code'].toString()),
  releaseStatus: argResults['release-status'],
  track: argResults['track'] ?? "production",
  rollout: double.tryParse(argResults['rollout'] ?? ''),
  metadataPath: argResults['metadata-path'],
  jsonKey: argResults['json-key'],
  jsonKeyData: argResults['json-key-data'],
  apk: argResults['apk'],
  apkPaths: argResults['apk-paths'],
  aab: argResults['aab'],
  aabPaths: argResults['aab-paths'],
  skipUploadApk: argResults['skip-upload-apk'] ?? false,
  skipUploadAab: argResults['skip-upload-aab'] ?? false,
  skipUploadMetadata: argResults['skip-upload-metadata'] ?? false,
  skipUploadChangelogs: argResults['skip-upload-changelogs'] ?? false,
  skipUploadImages: argResults['skip-upload-images'] ?? false,
  skipUploadScreenshots: argResults['skip-upload-screenshots'] ?? false,
  syncImageUpload: argResults['sync-image-upload'] ?? false,
  trackPromoteTo: argResults['track-promote-to'],
  trackPromoteReleaseStatus: argResults['track-promote-release-status'],
  validateOnly: argResults['validate-only'] ?? false,
  mapping: argResults['mapping'],
  mappingPaths: argResults['mapping-paths'],
  rootUrl: argResults['root-url'],
  timeout: int.parse(argResults['timeout']),
  versionCodesToRetain: (argResults['version-codes-to-retain'])?.cast<int>(),
  changesNotSentForReview:
      (argResults['changes-not-sent-for-review'] as bool?) ?? false,
  rescueChangesNotSentForReview:
      (argResults['rescue-changes-not-sent-for-review'] as bool?) ?? true,
  inAppUpdatePriority: int.tryParse(
    argResults['in-app-update-priority'].toString(),
  ),
  obbMainReferencesVersion: int.tryParse(
    argResults['obb-main-references-version'].toString(),
  ),
  obbMainFileSize: int.tryParse(argResults['obb-main-file-size'].toString()),
  obbPatchReferencesVersion: int.tryParse(
    argResults['obb-patch-references-version'].toString(),
  ),
  obbPatchFileSize: int.tryParse(
    argResults['obb-patch-file-size'].toString(),
  ),
  ackBundleInstallationWarning:
      (argResults['ack-bundle-installation-warning'] as bool?) ?? false,
  uploadDebugSymbols: argResults['upload-debug-symbols'] ?? true,
);