parseAdkCliArgs function
Parses CLI args into a typed ParsedAdkCommand.
Throws a CliUsageError when the command is missing or unknown.
Implementation
ParsedAdkCommand parseAdkCliArgs(List<String> args) {
if (args.isEmpty) {
throw CliUsageError('Missing command.');
}
final String command = args.first;
final List<String> commandArgs = args.skip(1).toList(growable: false);
switch (command) {
case 'create':
return _parseCreateCommand(commandArgs);
case 'run':
return _parseRunCommand(commandArgs);
case 'web':
return _parseWebCommand(commandArgs, enableWebUi: true);
case 'api_server':
return _parseWebCommand(commandArgs, enableWebUi: false);
default:
throw CliUsageError('Unknown command: $command');
}
}