create static method
CloudCliCommandRunner
create({
- required CommandLogger logger,
- Version? version,
- CloudCliServiceProvider? serviceProvider,
- OnAnalyticsEvent? onAnalyticsEvent,
- OnRunContextResolved? onRunContextResolved,
- OnErrorReport? onErrorReport,
- bool enableAnalyticsForAllEnvs = false,
- bool? adminUserMode,
- CliUpdater? cliUpdater,
- Version? attemptedUpdateVersion,
- String? baseCommand,
Implementation
static CloudCliCommandRunner create({
required final CommandLogger logger,
final Version? version,
final CloudCliServiceProvider? serviceProvider,
final OnAnalyticsEvent? onAnalyticsEvent,
final OnRunContextResolved? onRunContextResolved,
final OnErrorReport? onErrorReport,
final bool enableAnalyticsForAllEnvs = false,
bool? adminUserMode,
final CliUpdater? cliUpdater,
final Version? attemptedUpdateVersion,
String? baseCommand,
}) {
adminUserMode ??=
bool.tryParse(
Platform.environment['SERVERPOD_CLOUD_ADMIN_USER_MODE'] ?? 'false',
caseSensitive: false,
) ??
false;
baseCommand ??= Platform.environment[baseCommandEnvName];
final resolvedBaseCommand = baseCommand == null || baseCommand.isEmpty
? defaultBaseCommand
: baseCommand;
final runner = CloudCliCommandRunner._(
logger: logger,
version: version ?? cliVersion,
baseCommand: resolvedBaseCommand,
serviceProvider: serviceProvider ?? CloudCliServiceProvider(),
enableAnalyticsForAllEnvs: enableAnalyticsForAllEnvs,
adminUserMode: adminUserMode,
cliUpdater: cliUpdater ?? const DartCliUpdater(),
attemptedUpdateVersion:
attemptedUpdateVersion ?? attemptedCliUpdateVersion(),
onRunContextResolved: onRunContextResolved,
onErrorReport: onErrorReport,
onAnalyticsEvent: onAnalyticsEvent,
setLogLevel:
({
final String? commandName,
required final CommandRunnerLogLevel parsedLogLevel,
}) => _configureLogLevel(
logger: logger,
parsedLogLevel: parsedLogLevel,
commandName: commandName,
),
);
// Add commands (which may in turn have their own options and subcommands)
runner.addCommands([
runner._versionCommand,
CloudAuthCommand(logger: logger),
CloudMeCommand(logger: logger),
CloudProjectCommand(logger: logger),
CloudContextCommand(logger: logger),
CloudDeployCommand(logger: logger),
CloudVariableCommand(logger: logger),
CloudCustomDomainCommand(logger: logger),
CloudLogCommand(logger: logger),
CloudStatusCommand(logger: logger),
CloudDeploymentsCommand(logger: logger),
CloudPasswordCommand(logger: logger),
CloudDbCommand(logger: logger),
CloudLaunchCommand(logger: logger),
CliUserSettingsCommand(logger: logger),
if (adminUserMode) CloudAdminCommand(logger: logger, hidden: false),
]);
return runner;
}