Skip to content

Commit c17db45

Browse files
Merge branch 'main' into feat/bump-template-bundles
2 parents a49fd62 + 1f4e75f commit c17db45

19 files changed

Lines changed: 68 additions & 139 deletions

lib/src/commands/create/commands/app_ui_package.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ class CreateAppUiPackage extends CreateSubCommand with Publishable {
99
CreateAppUiPackage({
1010
required super.logger,
1111
required super.generatorFromBundle,
12-
required super.generatorFromBrick,
1312
});
1413

1514
@override

lib/src/commands/create/commands/create_subcommand.dart

Lines changed: 16 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,15 @@ import 'package:very_good_cli/src/commands/create/templates/templates.dart';
1212
// A valid Dart identifier that can be used for a package, i.e. no
1313
// capital letters.
1414
// https://dart.dev/guides/language/language-tour#important-concepts
15-
final RegExp _identifierRegExp = RegExp('[a-z_][a-z0-9_]*');
16-
final RegExp _orgNameRegExp = RegExp(r'^[a-zA-Z][\w-]*(\.[a-zA-Z][\w-]*)+$');
15+
final _identifierRegExp = RegExp('[a-z_][a-z0-9_]*');
16+
final _orgNameRegExp = RegExp(r'^[a-zA-Z][\w-]*(\.[a-zA-Z][\w-]*)+$');
1717

1818
const _defaultOrgName = 'com.example.verygoodcore';
1919
const _defaultDescription = 'A Very Good Project created by Very Good CLI.';
2020

2121
/// A method which returns a [Future<MasonGenerator>] given a [MasonBundle].
2222
typedef MasonGeneratorFromBundle = Future<MasonGenerator> Function(MasonBundle);
2323

24-
/// A method which returns a [Future<MasonGenerator>] given a [Brick].
25-
typedef MasonGeneratorFromBrick = Future<MasonGenerator> Function(Brick);
26-
2724
/// {@template create_subcommand}
2825
/// Generic class for sub commands of [CreateCommand].
2926
/// {@endtemplate}
@@ -50,9 +47,7 @@ abstract class CreateSubCommand extends Command<int> {
5047
CreateSubCommand({
5148
required this.logger,
5249
@visibleForTesting required MasonGeneratorFromBundle? generatorFromBundle,
53-
@visibleForTesting required MasonGeneratorFromBrick? generatorFromBrick,
54-
}) : _generatorFromBundle = generatorFromBundle ?? MasonGenerator.fromBundle,
55-
_generatorFromBrick = generatorFromBrick ?? MasonGenerator.fromBrick {
50+
}) : _generatorFromBundle = generatorFromBundle ?? MasonGenerator.fromBundle {
5651
argParser
5752
..addOption(
5853
'output-directory',
@@ -69,20 +64,20 @@ abstract class CreateSubCommand extends Command<int> {
6964
// Add the templates arg if the command has multiple templates.
7065
if (this is MultiTemplates) {
7166
final multiTemplates = this as MultiTemplates;
72-
final defaultTemplateName = multiTemplates.defaultTemplateName;
7367
final templates = multiTemplates.templates;
68+
final defaultTemplateName = multiTemplates.defaultTemplateName;
7469

7570
argParser.addOption(
7671
'template',
7772
abbr: 't',
7873
help: 'The template used to generate this new project.',
7974
defaultsTo: defaultTemplateName,
80-
allowed: templates.map((element) => element.name).toList(),
75+
allowed: templates.map((template) => template.name).toList(),
8176
allowedHelp: templates.fold<Map<String, String>>(
8277
{},
83-
(previousValue, element) => {
84-
...previousValue,
85-
element.name: element.help,
78+
(previousTemplate, template) => {
79+
...previousTemplate,
80+
template.name: template.help,
8681
},
8782
),
8883
);
@@ -109,7 +104,6 @@ abstract class CreateSubCommand extends Command<int> {
109104
/// The logger user to notify the user of the command's progress.
110105
final Logger logger;
111106
final MasonGeneratorFromBundle _generatorFromBundle;
112-
final MasonGeneratorFromBrick _generatorFromBrick;
113107

114108
/// [ArgResults] which can be overridden for testing.
115109
@visibleForTesting
@@ -185,31 +179,17 @@ abstract class CreateSubCommand extends Command<int> {
185179
return match != null && match.end == name.length;
186180
}
187181

188-
Future<MasonGenerator> _getGeneratorForTemplate() async {
189-
try {
190-
final brick = Brick.version(
191-
name: template.bundle.name,
192-
version: '^${template.bundle.version}',
193-
);
194-
logger.detail(
195-
'''Building generator from brick: ${brick.name} ${brick.location.version}''',
196-
);
197-
return await _generatorFromBrick(brick);
198-
} on Exception catch (error) {
199-
logger.detail('Building generator from brick failed: $error');
200-
}
201-
logger.detail(
202-
'''Building generator from bundle ${template.bundle.name} ${template.bundle.version}''',
203-
);
204-
return _generatorFromBundle(template.bundle);
205-
}
206-
207182
@override
208183
Future<int> run() async {
209184
final template = this.template;
210-
final generator = await _getGeneratorForTemplate();
211-
final result = await runCreate(generator, template);
185+
final bundle = template.bundle;
212186

187+
logger.detail(
188+
'Building generator from bundle ${bundle.name} ${bundle.version}',
189+
);
190+
191+
final generator = await _generatorFromBundle(bundle);
192+
final result = await runCreate(generator, template);
213193
return result;
214194
}
215195

@@ -325,7 +305,7 @@ mixin MultiTemplates on CreateSubCommand {
325305
final templateName =
326306
argResults['template'] as String? ?? defaultTemplateName;
327307

328-
return templates.firstWhere((element) => element.name == templateName);
308+
return templates.firstWhere((template) => template.name == templateName);
329309
}
330310
}
331311

lib/src/commands/create/commands/dart_cli.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ class CreateDartCLI extends CreateSubCommand with Publishable {
99
CreateDartCLI({
1010
required super.logger,
1111
required super.generatorFromBundle,
12-
required super.generatorFromBrick,
1312
}) {
1413
argParser.addOption(
1514
'executable-name',

lib/src/commands/create/commands/dart_package.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ class CreateDartPackage extends CreateSubCommand with Publishable {
99
CreateDartPackage({
1010
required super.logger,
1111
required super.generatorFromBundle,
12-
required super.generatorFromBrick,
1312
});
1413

1514
@override

lib/src/commands/create/commands/docs_site.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ class CreateDocsSite extends CreateSubCommand {
99
CreateDocsSite({
1010
required super.logger,
1111
required super.generatorFromBundle,
12-
required super.generatorFromBrick,
1312
}) {
1413
argParser.addOption(
1514
'org-name',

lib/src/commands/create/commands/flame_game.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ class CreateFlameGame extends CreateSubCommand with OrgName {
99
CreateFlameGame({
1010
required super.logger,
1111
required super.generatorFromBundle,
12-
required super.generatorFromBrick,
1312
}) {
1413
argParser.addMultiOption(
1514
'platforms',

lib/src/commands/create/commands/flutter_app.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ class CreateFlutterApp extends CreateSubCommand
1010
CreateFlutterApp({
1111
required super.logger,
1212
required super.generatorFromBundle,
13-
required super.generatorFromBrick,
1413
}) {
1514
argParser
1615
..addOption(

lib/src/commands/create/commands/flutter_package.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ class CreateFlutterPackage extends CreateSubCommand with Publishable {
99
CreateFlutterPackage({
1010
required super.logger,
1111
required super.generatorFromBundle,
12-
required super.generatorFromBrick,
1312
});
1413

1514
@override

lib/src/commands/create/commands/flutter_plugin.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ class CreateFlutterPlugin extends CreateSubCommand with Publishable, OrgName {
99
CreateFlutterPlugin({
1010
required super.logger,
1111
required super.generatorFromBundle,
12-
required super.generatorFromBrick,
1312
}) {
1413
argParser.addMultiOption(
1514
'platforms',

lib/src/commands/create/create.dart

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,12 @@ class CreateCommand extends Command<int> {
1414
CreateCommand({
1515
required Logger logger,
1616
@visibleForTesting MasonGeneratorFromBundle? generatorFromBundle,
17-
@visibleForTesting MasonGeneratorFromBrick? generatorFromBrick,
1817
}) {
1918
// very_good create app_ui_package <args>
2019
addSubcommand(
2120
CreateAppUiPackage(
2221
logger: logger,
2322
generatorFromBundle: generatorFromBundle,
24-
generatorFromBrick: generatorFromBrick,
2523
),
2624
);
2725

@@ -30,7 +28,6 @@ class CreateCommand extends Command<int> {
3028
CreateFlutterApp(
3129
logger: logger,
3230
generatorFromBundle: generatorFromBundle,
33-
generatorFromBrick: generatorFromBrick,
3431
),
3532
);
3633

@@ -39,7 +36,6 @@ class CreateCommand extends Command<int> {
3936
CreateDartPackage(
4037
logger: logger,
4138
generatorFromBundle: generatorFromBundle,
42-
generatorFromBrick: generatorFromBrick,
4339
),
4440
);
4541

@@ -48,7 +44,6 @@ class CreateCommand extends Command<int> {
4844
CreateDartCLI(
4945
logger: logger,
5046
generatorFromBundle: generatorFromBundle,
51-
generatorFromBrick: generatorFromBrick,
5247
),
5348
);
5449

@@ -57,7 +52,6 @@ class CreateCommand extends Command<int> {
5752
CreateDocsSite(
5853
logger: logger,
5954
generatorFromBundle: generatorFromBundle,
60-
generatorFromBrick: generatorFromBrick,
6155
),
6256
);
6357

@@ -66,7 +60,6 @@ class CreateCommand extends Command<int> {
6660
CreateFlutterPackage(
6761
logger: logger,
6862
generatorFromBundle: generatorFromBundle,
69-
generatorFromBrick: generatorFromBrick,
7063
),
7164
);
7265

@@ -75,7 +68,6 @@ class CreateCommand extends Command<int> {
7568
CreateFlutterPlugin(
7669
logger: logger,
7770
generatorFromBundle: generatorFromBundle,
78-
generatorFromBrick: generatorFromBrick,
7971
),
8072
);
8173

@@ -84,7 +76,6 @@ class CreateCommand extends Command<int> {
8476
CreateFlameGame(
8577
logger: logger,
8678
generatorFromBundle: generatorFromBundle,
87-
generatorFromBrick: generatorFromBrick,
8879
),
8980
);
9081
}

0 commit comments

Comments
 (0)