Arguments class

Comprehensive Fastlane publisher arguments for automated app distribution.

Extends PublisherArguments to provide Fastlane-specific configuration for deploying applications to Google Play Store and Apple App Store. Supports advanced features like release tracks, rollouts, metadata management, and debug symbol uploads.

Key capabilities:

  • Multi-track deployment (production, beta, alpha, internal)
  • Gradual rollout with percentage controls
  • Metadata and asset synchronization
  • Debug symbol and mapping file uploads
  • Validation and preview modes
  • Service account authentication

Example usage:

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.25, // 25% rollout
);
Inheritance

Constructors

Arguments.new(Variables variables, {required String filePath, required String metadataPath, required String jsonKey, required String binaryType, String? releaseStatus, String? versionName, int? versionCode, String track = "production", double? rollout, String? jsonKeyData, String? apk, List<String>? apkPaths, String? aab, List<String>? aabPaths, bool skipUploadApk = false, bool skipUploadAab = false, bool skipUploadMetadata = false, bool skipUploadChangelogs = false, bool skipUploadImages = false, bool skipUploadScreenshots = false, bool syncImageUpload = false, String? trackPromoteTo, String? trackPromoteReleaseStatus = "completed", bool validateOnly = false, String? mapping, List<String>? mappingPaths, String? rootUrl, int timeout = 300, List<int>? versionCodesToRetain, bool changesNotSentForReview = false, bool rescueChangesNotSentForReview = true, int? inAppUpdatePriority, int? obbMainReferencesVersion, int? obbMainFileSize, int? obbPatchReferencesVersion, int? obbPatchFileSize, bool? ackBundleInstallationWarning = false, bool uploadDebugSymbols = true})
Creates a new Fastlane publisher arguments instance.
Arguments.defaultConfigs(String packageName, ArgResults? globalResults)
Creates default Fastlane configuration for a package.
factory
Arguments.fromArgResults(ArgResults argResults, ArgResults? globalResults)
Creates Arguments instance from command-line arguments.
factory
Arguments.fromJson(Map<String, dynamic> json, {required Variables variables})
Creates Arguments instance from JSON configuration.
factory

Properties

aab String?
Path to a specific AAB (Android App Bundle) file to upload.
final
aabPaths List<String>?
Array of paths to multiple AAB files to upload.
final
ackBundleInstallationWarning bool?
Whether to acknowledge bundle installation warnings.
final
apk String?
Path to a specific APK file to upload.
final
apkPaths List<String>?
Array of paths to multiple APK files to upload.
final
argumentBuilder List<String>
Builds the Fastlane command arguments list.
getter/setter pairinherited-setteroverride-getter
arguments Future<List<String>>
Processes variables in arguments and returns the final command-line arguments.
no setterinherited
binaryType String
The type of application binary being published.
finalinherited
changesNotSentForReview bool
Whether changes require manual review approval.
final
filePath String
The file system path to the application binary to be published.
getter/setter pairinherited
hashCode int
The hash code for this object.
no setterinherited
inAppUpdatePriority int?
In-app update priority level for new APKs.
final
jsonKey String
Path to the Google Play service account JSON key file.
final
jsonKeyData String?
Raw service account JSON data as a string.
final
logger ColorizeLogger
Logger instance for outputting colored messages.
getter/setter pairinherited
mapping String?
Path to the ProGuard mapping file or debug symbols.
final
mappingPaths List<String>?
Array of paths to multiple mapping files or debug symbols.
final
metadataPath String
Path to the directory containing Fastlane metadata files.
final
obbMainFileSize int?
Size of the main expansion file in bytes.
final
obbMainReferencesVersion int?
References version for the main expansion file.
final
obbPatchFileSize int?
Size of the patch expansion file in bytes.
final
obbPatchReferencesVersion int?
References version for the patch expansion file.
final
parent PublisherJob
Reference to the parent publisher job that contains this publisher.
getter/setter pairinherited
publisher String
The name identifier of the publisher platform.
finalinherited
releaseStatus String?
Release status for the uploaded version.
final
rescueChangesNotSentForReview bool
Whether to automatically retry with recommended configuration.
final
rollout double?
Percentage of users to receive the rollout (0.0 to 1.0).
final
rootUrl String?
Custom root URL for Google Play API calls.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
skipUploadAab bool
Whether to skip uploading AAB (Android App Bundle) files during publishing.
final
skipUploadApk bool
Whether to skip uploading APK files during publishing.
final
skipUploadChangelogs bool
Whether to skip uploading changelog files during publishing.
final
skipUploadImages bool
Whether to skip uploading image assets during publishing.
final
skipUploadMetadata bool
Whether to skip uploading metadata files during publishing.
final
skipUploadScreenshots bool
Whether to skip uploading screenshot images during publishing.
final
syncImageUpload bool
Whether to use SHA256 comparison for intelligent image uploading.
final
timeout int
Network timeout duration for API operations in seconds.
final
track String
Distribution track for the application release.
final
trackPromoteReleaseStatus String?
Release status when promoting between tracks.
final
trackPromoteTo String?
Target track for promoting an existing release.
final
uploadDebugSymbols bool
Whether to upload debug symbols for crash reporting.
final
validateOnly bool
Whether to validate changes without actually publishing.
final
variables Variables
Variable processor for substituting placeholders in arguments.
finalinherited
versionCode int?
Application version code for the release.
final
versionCodesToRetain List<int>?
Array of version codes to retain during new APK publishing.
final
versionName String?
Application version name for the release.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
printJob() Future
Prints job configuration information to the console.
inherited
processFilesArgs() Future<void>
Processes and validates file arguments before publishing.
inherited
publish() Future<int>
Initiates the application publishing process.
inherited
toJson() Map<String, dynamic>
Serializes Arguments instance to JSON format.
override
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

parser ↔ ArgParser
Command-line argument parser for Fastlane publisher.
getter/setter pair