Arguments class

Comprehensive Firebase App Distribution arguments for automated app testing.

Extends PublisherArguments to provide Firebase-specific configuration for distributing applications to testers and testing groups. Supports advanced features like release notes, tester management, and group-based distribution.

Key capabilities:

  • Firebase App Distribution integration
  • Individual and group tester management
  • Release notes and documentation
  • Email and file-based distribution lists
  • APK and AAB binary support
  • Automated testing workflows

Example usage:

final args = Arguments(
  variables,
  filePath: '/path/to/app.apk',
  appId: '1:123456789:android:abcdef',
  binaryType: 'apk',
  releaseNotes: 'New features and bug fixes',
  groups: 'internal-qa,external-beta',
);
Inheritance

Constructors

Arguments(Variables variables, {required String filePath, required String appId, required String binaryType, String? releaseNotes, String? releaseNotesFile, String? testers, String? testersFile, String? groups, String? groupsFile})
Creates a new Firebase App Distribution arguments instance.
Arguments.defaultConfigs(String appId, ArgResults? globalResults)
Creates default Firebase configuration for an app.
factory
Arguments.fromArgResults(ArgResults results, 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

appId String
Firebase application identifier for the target app.
final
argumentBuilder List<String>
Builds the Firebase CLI 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
filePath String
The file system path to the application binary to be published.
getter/setter pairinherited
groups String?
Comma-separated list of tester group aliases.
final
groupsFile String?
Path to a file containing tester group aliases.
final
hashCode int
The hash code for this object.
no setterinherited
logger ColorizeLogger
Logger instance for outputting colored messages.
getter/setter pairinherited
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
releaseNotes String?
Release notes text to include with the distribution.
final
releaseNotesFile String?
Path to a file containing release notes content.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
testers String?
Comma-separated list of tester email addresses.
final
testersFile String?
Path to a file containing tester email addresses.
final
variables Variables
Variable processor for substituting placeholders in arguments.
finalinherited

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 Firebase App Distribution.
getter/setter pair