DeployCommand constructor
DeployCommand(
- TerminalOutput _output, {
- DeploymentManager? manager,
- ReleaseRecoveryManager? recoveryManager,
Implementation
DeployCommand(
this._output, {
DeploymentManager? manager,
ReleaseRecoveryManager? recoveryManager,
}) : _manager = manager ?? DeploymentManager(),
_recoveryManager = recoveryManager,
_argParser = ArgParser() {
_argParser.addOption(
'path',
abbr: 'p',
help: 'Target Flutter project directory path.',
defaultsTo: '.',
);
_argParser.addOption(
'platform',
defaultsTo: 'android',
help: 'Target platform for store deployment (android, ios, all).',
allowed: ['android', 'ios', 'all'],
);
_argParser.addOption(
'artifact',
abbr: 'a',
help: 'Path to pre-built artifact file (.aab for Android, .ipa for iOS).',
);
_argParser.addOption(
'lane',
abbr: 'l',
help: 'Fastlane lane name to execute (e.g. internal, testflight, beta).',
);
_argParser.addOption(
'environment',
abbr: 'e',
help: 'Target environment (e.g. production, staging, development).',
);
_argParser.addOption(
'env',
help: 'Alias for --environment.',
);
_argParser.addOption(
'flavor',
help: 'Target build flavor (e.g. production).',
);
_argParser.addFlag(
'retry',
help:
'Safely retry a previously failed deployment using validated artifacts.',
negatable: false,
);
_argParser.addFlag(
'dry-run',
abbr: 'd',
help: 'Preview deployment execution plan without executing Fastlane.',
negatable: false,
);
}