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,
    );