generate method

Future<List<GeneratedFile>> generate(
  1. Directory dir, {
  2. required AtTemplateVars vars,
  3. bool pub = true,
  4. bool overwrite = false,
})

Implementation

Future<List<GeneratedFile>> generate(Directory dir,
    {required AtTemplateVars vars, bool pub = true, bool overwrite = false}) async {
  List<Future<List<GeneratedFile>>> generatedFiles = [];

  for (String key in vars.bundles) {
    AtTemplateBundle bundle = this[key];

    generatedFiles.add(bundle.generate(DirectoryGeneratorTarget(dir), vars, overwrite: overwrite));
  }

  List<GeneratedFile> fileCount = (await Future.wait(generatedFiles)).reduce((p, c) => [...p, ...c]);

  if (pub && await FlutterCli.isInstalled()) {
    await FlutterCli.pubGet(directory: dir);
  }

  return fileCount;
}