Beispiel #1
0
        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));
        }
Beispiel #2
0
 private TemplateInfo GetTemplateInfo(ProjectBuildArgs args)
 {
     if (args.TemplateName.IsNullOrWhiteSpace())
     {
         return(TemplateInfoProvider.GetDefault());
     }
     else
     {
         return(TemplateInfoProvider.Get(args.TemplateName));
     }
 }