CreateCommand constructor
CreateCommand({
- required Logger logger,
- @visibleForTesting MasonGeneratorFromBundle? generatorFromBundle,
- @visibleForTesting MasonGeneratorFromBrick? generatorFromBrick,
Implementation
CreateCommand({
required this.logger,
@visibleForTesting MasonGeneratorFromBundle? generatorFromBundle,
@visibleForTesting MasonGeneratorFromBrick? generatorFromBrick,
}) : _generatorFromBundle = generatorFromBundle ?? MasonGenerator.fromBundle,
_generatorFromBrick = generatorFromBrick ?? MasonGenerator.fromBrick {
argParser
..addOption(
'application-id',
help: 'The bundle identifier on iOS or application id on Android. '
'(defaults to <org-name>.<project-name>)',
)
..addOption(
'output-directory',
abbr: 'o',
help: 'The desired output directory when creating a new project.',
)
..addOption(
'description',
help: 'The description for this new project.',
aliases: ['desc'],
defaultsTo: _defaultDescription,
)
..addOption(
'org-name',
help: 'The organization for this new project.',
defaultsTo: _defaultOrgName,
aliases: ['org'],
)
..addOption(
'template',
abbr: 't',
help: 'Specify the type of project to create.',
allowed: ['mono', 'package', 'app', 'plugin'],
defaultsTo: 'mono',
allowedHelp: {
'mono':
'(default) Generate a Flutter mono-repo structure for a Melos-managed project.',
'package':
'Generate a shareable Flutter package for a Melos-managed mono-repo.',
'app':
'Generate a Flutter application for a Melos-managed mono-repo.',
'plugin': 'Generate a Flutter plugin for a Melos-managed mono-repo.',
},
);
}