Arguments constructor

Arguments(
  1. Variables variables, {
  2. required String filePath,
  3. required String metadataPath,
  4. required String jsonKey,
  5. required String binaryType,
  6. String? releaseStatus,
  7. String? versionName,
  8. int? versionCode,
  9. String track = "production",
  10. double? rollout,
  11. String? jsonKeyData,
  12. String? apk,
  13. List<String>? apkPaths,
  14. String? aab,
  15. List<String>? aabPaths,
  16. bool skipUploadApk = false,
  17. bool skipUploadAab = false,
  18. bool skipUploadMetadata = false,
  19. bool skipUploadChangelogs = false,
  20. bool skipUploadImages = false,
  21. bool skipUploadScreenshots = false,
  22. bool syncImageUpload = false,
  23. String? trackPromoteTo,
  24. String? trackPromoteReleaseStatus = "completed",
  25. bool validateOnly = false,
  26. String? mapping,
  27. List<String>? mappingPaths,
  28. String? rootUrl,
  29. int timeout = 300,
  30. List<int>? versionCodesToRetain,
  31. bool changesNotSentForReview = false,
  32. bool rescueChangesNotSentForReview = true,
  33. int? inAppUpdatePriority,
  34. int? obbMainReferencesVersion,
  35. int? obbMainFileSize,
  36. int? obbPatchReferencesVersion,
  37. int? obbPatchFileSize,
  38. bool? ackBundleInstallationWarning = false,
  39. bool uploadDebugSymbols = true,
})

Creates a new Fastlane publisher arguments instance.

Initializes Fastlane-specific configuration for automated app distribution to Google Play Store and Apple App Store. Requires core publishing parameters and platform-specific authentication.

Required parameters:

  • variables - System and environment variables
  • filePath - Path to the APK/AAB file to upload
  • metadataPath - Directory containing Fastlane metadata
  • jsonKey - Google service account key file path
  • binaryType - Type of binary file (apk/aab)

Example:

final args = Arguments(
  variables,
  filePath: '/path/to/app.aab',
  binaryType: 'aab',
  metadataPath: '/path/to/fastlane/metadata',
  jsonKey: '/path/to/service-account.json',
  track: 'beta',
  rollout: 0.5, // 50% rollout
);

Implementation

Arguments(
  Variables variables, {
  required super.filePath,
  required this.metadataPath,
  required this.jsonKey,
  required super.binaryType,
  this.releaseStatus,
  this.versionName,
  this.versionCode,
  this.track = "production",
  this.rollout,
  this.jsonKeyData,
  this.apk,
  this.apkPaths,
  this.aab,
  this.aabPaths,
  this.skipUploadApk = false,
  this.skipUploadAab = false,
  this.skipUploadMetadata = false,
  this.skipUploadChangelogs = false,
  this.skipUploadImages = false,
  this.skipUploadScreenshots = false,
  this.syncImageUpload = false,
  this.trackPromoteTo,
  this.trackPromoteReleaseStatus = "completed",
  this.validateOnly = false,
  this.mapping,
  this.mappingPaths,
  this.rootUrl,
  this.timeout = 300,
  this.versionCodesToRetain,
  this.changesNotSentForReview = false,
  this.rescueChangesNotSentForReview = true,
  this.inAppUpdatePriority,
  this.obbMainReferencesVersion,
  this.obbMainFileSize,
  this.obbPatchReferencesVersion,
  this.obbPatchFileSize,
  this.ackBundleInstallationWarning = false,
  this.uploadDebugSymbols = true,
}) : super("fastlane", variables);