public async Task <ProjectBuildResult> BuildAsync(ProjectBuildArgs args) { var templateInfo = GetTemplateInfo(args); args.TemplateName = templateInfo.Name; if (args.DatabaseProvider == DatabaseProvider.NotSpecified) { if (templateInfo.DefaultDatabaseProvider != DatabaseProvider.NotSpecified) { args.DatabaseProvider = templateInfo.DefaultDatabaseProvider; } } var version = VersionHelper.Version; var templateFile = await TemplateStore.GetAsync(args.TemplateName, version); var context = new ProjectBuildContext( templateInfo, templateFile, args, version ); ProjectBuildPipelineBuilder.Build(context).Execute(context); return(new ProjectBuildResult(context.Result.ZipContent, args.SolutionName.ProjectName)); }
private TemplateInfo GetTemplateInfo(ProjectBuildArgs args) { if (args.TemplateName.IsNullOrWhiteSpace()) { return(TemplateInfoProvider.GetDefault()); } else { return(TemplateInfoProvider.Get(args.TemplateName)); } }