Arguments constructor
Arguments(
- 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.
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 variablesfilePath- Path to the APK/AAB file to uploadmetadataPath- Directory containing Fastlane metadatajsonKey- Google service account key file pathbinaryType- 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);