run method
Runs the create command with the provided arguments.
Parses CLI arguments, validates input, optionally switches Flutter versions, and creates a new project from a given template.
Implementation
Future<void> run(List<String> arguments) async {
final parser = _buildParser();
final results = parser.parse(arguments);
if (results['help'] as bool) {
_printUsage(parser);
return;
}
if (results.rest.isEmpty) {
logger.err('Please provide a project name');
_printUsage(parser);
exit(1);
}
final projectName = results.rest.first;
final templatePath = results['template'] as String?;
final orgId = results['org'] as String;
final appName = results['app-name'] as String?;
final flutterVersion = results['flutter-version'] as String?;
await _validateInputs(templatePath, projectName);
await _handleFlutterVersion(flutterVersion);
await _createProject(projectName, templatePath!, orgId, appName);
}