run method
Runs this command.
The return value is wrapped in a Future if necessary and returned by
CommandRunner.runCommand.
Implementation
@override
Future<int> run() async {
var projectName = styleBold.wrap(argResults!['name']);
var progress = logger.progress("Creating project");
final brick = Brick.git(
const GitPath(
'https://github.com/helightdev/reedmace',
path: 'bricks/reedmace_project',
),
);
progress.update("Downloading brick");
final generator = await MasonGenerator.fromBrick(brick);
final target = DirectoryGeneratorTarget(Directory.current);
var vars = <String, dynamic>{'projectName': argResults!['name']};
progress.update("Generating project $projectName");
await generator.generate(target, vars: vars, logger: logger);
progress.update("Running post generation hooks");
await generator.hooks.postGen(vars: vars);
progress.complete("Project $projectName created!");
return ExitCode.success.code;
}