Line data Source code
1 : import 'package:very_good_cli/src/commands/create/commands/create_subcommand.dart'; 2 : import 'package:very_good_cli/src/commands/create/templates/templates.dart'; 3 : 4 : /// {@template very_good_create_flutter_app_command} 5 : /// A [CreateSubCommand] for creating Flutter apps. 6 : /// {@endtemplate} 7 : class CreateFlutterApp extends CreateSubCommand with OrgName, MultiTemplates { 8 : /// {@macro very_good_create_flutter_app_command} 9 1 : CreateFlutterApp({ 10 : required super.logger, 11 : required super.generatorFromBundle, 12 : required super.generatorFromBrick, 13 : }) { 14 2 : argParser.addOption( 15 : 'application-id', 16 : help: 'The bundle identifier on iOS or application id on Android. ' 17 : '(defaults to <org-name>.<project-name>)', 18 : ); 19 : } 20 : 21 1 : @override 22 : String get name => 'flutter_app'; 23 : 24 1 : @override 25 : String get description => 'Generate a Very Good Flutter application.'; 26 : 27 1 : @override 28 : Map<String, dynamic> getTemplateVars() { 29 1 : final vars = super.getTemplateVars(); 30 : 31 2 : final applicationId = argResults['application-id'] as String?; 32 : if (applicationId != null) { 33 1 : vars['application_id'] = applicationId; 34 : } 35 : 36 : return vars; 37 : } 38 : 39 : @override 40 : final List<Template> templates = [ 41 : VeryGoodCoreTemplate(), 42 : VeryGoodWearAppTemplate(), 43 : ]; 44 : }