doRun method
Implementation
@override
Future<int> doRun() async {
// Collect argument values
final arguments = <String, dynamic>{};
for (final arg in _definition.arguments) {
final value = argResults![arg.name];
if (value != null) {
arguments[arg.name] = value;
}
}
printVerbose('Executing custom command: ${_definition.name}');
printVerbose('Arguments: $arguments');
printVerbose('Verbose mode: enabled');
try {
// Create executor with verbose logger if needed
final executor = isVerbose
? CustomCommandExecutor(logger: out)
: _executor;
final exitCode = await executor.execute(_definition, arguments);
return exitCode;
} catch (e, st) {
printError('Failed to execute custom command: $e');
printVerbose('Stack trace: $st');
return 1;
}
}