runGenerate method
Runs the generation process
Implementation
Future<int> runGenerate(MasonGenerator generator, Directory targetDir) async {
var vars = getTemplateVars();
if (!targetDir.existsSync()) {
targetDir.createSync(recursive: true);
}
final target = DirectoryGeneratorTarget(targetDir);
await generator.hooks.preGen(
vars: vars,
onVarsChanged: (v) => vars = v,
workingDirectory: target.dir.path,
logger: logger,
);
final _ = await generator.generate(target, vars: vars, logger: logger);
await generator.hooks.postGen(
vars: vars,
onVarsChanged: (v) => vars = v,
workingDirectory: target.dir.path,
logger: logger,
);
await template.onGenerateComplete(
logger,
target.dir,
);
return ExitCode.success.code;
}