Browse Source

Merge pull request #20188 from abpframework/liangshiwei/cli

Support Blazor Full-Stack Web App for Microservice template
pull/20195/head
Engincan VESKE 2 years ago
committed by GitHub
parent
commit
f52c5474a9
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 191
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Microservice/MicroserviceTemplateBase.cs

191
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Microservice/MicroserviceTemplateBase.cs

@ -147,114 +147,65 @@ public abstract class MicroserviceTemplateBase : TemplateInfo
switch (context.BuildArgs.UiFramework)
{
case UiFramework.None:
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Web", null,
"/apps/web/src/MyCompanyName.MyProjectName.Web"));
steps.Add(new RemoveFolderStep("/apps/web"));
steps.Add(new RemoveProjectFromTyeStep("web"));
steps.Add(new RemoveProjectFromPrometheusStep("web"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor", null,
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.ProductService.Blazor",
"/services/product/MyCompanyName.MyProjectName.ProductService.sln",
"/services/product/src/MyCompanyName.MyProjectName.ProductService.Blazor"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server", null,
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Server"));
DeleteWebProjects(steps);
DeleteBlazorWebAssemblyProjects(steps);
DeleteProductServiceBlazorProjects(steps);
DeleteBlazorServerProjects(steps);
DeleteBlazorWebAppProjects(steps);
DeleteAngularProjects(steps);
steps.Add(new RemoveFolderStep("/apps/blazor"));
steps.Add(new RemoveProjectFromTyeStep("blazor"));
steps.Add(new RemoveProjectFromTyeStep("blazor-server"));
steps.Add(new RemoveFolderStep("/apps/angular"));
break;
case UiFramework.Angular:
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Web", null,
"/apps/web/src/MyCompanyName.MyProjectName.Web"));
steps.Add(new RemoveFolderStep("/apps/web"));
steps.Add(new RemoveProjectFromTyeStep("web"));
steps.Add(new RemoveProjectFromPrometheusStep("web"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor", null,
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Client", null,
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Client"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.ProductService.Blazor",
"/services/product/MyCompanyName.MyProjectName.ProductService.sln",
"/services/product/src/MyCompanyName.MyProjectName.ProductService.Blazor"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server", null,
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Server"));
DeleteWebProjects(steps);
DeleteBlazorWebAssemblyProjects(steps);
DeleteProductServiceBlazorProjects(steps);
DeleteBlazorServerProjects(steps);
DeleteBlazorWebAppProjects(steps);
steps.Add(new RemoveFolderStep("/apps/blazor"));
steps.Add(new RemoveProjectFromTyeStep("blazor"));
steps.Add(new RemoveProjectFromTyeStep("blazor-server"));
context.Symbols.Add("ui:angular");
break;
case UiFramework.Blazor:
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Web", null,
"/apps/web/src/MyCompanyName.MyProjectName.Web"));
steps.Add(new RemoveFolderStep("/apps/web"));
steps.Add(new RemoveFolderStep("/apps/angular"));
steps.Add(new RemoveProjectFromTyeStep("web"));
steps.Add(new RemoveProjectFromPrometheusStep("web"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server",
"/apps/blazor/MyCompanyName.MyProjectName.Blazor.sln",
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Server"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server",
null,
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Server"));
steps.Add(new RemoveProjectFromTyeStep("blazor-server"));
DeleteWebProjects(steps);
DeleteAngularProjects(steps);
DeleteBlazorServerProjects(steps);
DeleteBlazorWebAppProjects(steps);
context.Symbols.Add("ui:blazor");
break;
case UiFramework.BlazorServer:
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Web", null,
"/apps/web/src/MyCompanyName.MyProjectName.Web"));
steps.Add(new RemoveFolderStep("/apps/web"));
steps.Add(new RemoveFolderStep("/apps/angular"));
steps.Add(new RemoveProjectFromTyeStep("web"));
steps.Add(new RemoveProjectFromPrometheusStep("web"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor",
"/apps/blazor/MyCompanyName.MyProjectName.Blazor.sln",
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor",
null,
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Client",
"/apps/blazor/MyCompanyName.MyProjectName.Blazor.sln",
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Client"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Client",
null,
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Client"));
steps.Add(new RemoveProjectFromTyeStep("blazor"));
DeleteWebProjects(steps);
DeleteAngularProjects(steps);
DeleteBlazorWebAssemblyProjects(steps);
DeleteBlazorWebAppProjects(steps);
steps.Add(new TemplateProjectRenameStep("MyCompanyName.MyProjectName.Blazor.Server",
"MyCompanyName.MyProjectName.Blazor"));
steps.Add(new RenameProjectInTyeStep("blazor-server", "blazor"));
context.Symbols.Add("ui:blazor-server");
break;
case UiFramework.BlazorWebApp:
DeleteWebProjects(steps);
DeleteAngularProjects(steps);
DeleteBlazorWebAssemblyProjects(steps);
DeleteBlazorServerProjects(steps);
steps.Add(new TemplateProjectRenameStep("MyCompanyName.MyProjectName.Blazor.WebApp",
"MyCompanyName.MyProjectName.Blazor"));
steps.Add(new RenameProjectInTyeStep("blazor-webapp", "blazor"));
context.Symbols.Add("ui:blazor-webapp");
break;
case UiFramework.Mvc:
case UiFramework.NotSpecified:
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor", null,
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Client", null,
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Client"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server", null,
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Server"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.ProductService.Blazor",
"/services/product/MyCompanyName.MyProjectName.ProductService.sln",
"/services/product/src/MyCompanyName.MyProjectName.ProductService.Blazor"));
steps.Add(new RemoveFolderStep("/apps/blazor"));
steps.Add(new RemoveProjectFromTyeStep("blazor"));
steps.Add(new RemoveProjectFromTyeStep("blazor-server"));
steps.Add(new RemoveFolderStep("/apps/angular"));
DeleteAngularProjects(steps);
DeleteBlazorWebAssemblyProjects(steps);
DeleteBlazorServerProjects(steps);
DeleteBlazorWebAppProjects(steps);
DeleteProductServiceBlazorProjects(steps);
context.Symbols.Add("ui:mvc");
break;
@ -282,4 +233,72 @@ public abstract class MicroserviceTemplateBase : TemplateInfo
{
steps.Add(new UpdateDockerImagesStep("/etc/docker/docker-compose.infrastructure.yml"));
}
private static void DeleteWebProjects(List<ProjectBuildPipelineStep> steps)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Web", null, "/apps/web/src/MyCompanyName.MyProjectName.Web"));
steps.Add(new RemoveFolderStep("/apps/web"));
steps.Add(new RemoveProjectFromTyeStep("web"));
steps.Add(new RemoveProjectFromPrometheusStep("web"));
}
private static void DeleteAngularProjects(List<ProjectBuildPipelineStep> steps)
{
steps.Add(new RemoveFolderStep("/apps/angular"));
}
private static void DeleteBlazorWebAssemblyProjects(List<ProjectBuildPipelineStep> steps)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor",
"/apps/blazor/MyCompanyName.MyProjectName.Blazor.sln",
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor",
null,
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Client",
"/apps/blazor/MyCompanyName.MyProjectName.Blazor.sln",
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Client"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Client",
null,
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Client"));
steps.Add(new RemoveProjectFromTyeStep("blazor"));
}
private static void DeleteBlazorServerProjects(List<ProjectBuildPipelineStep> steps)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server",
"/apps/blazor/MyCompanyName.MyProjectName.Blazor.sln",
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Server"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server",
null,
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Server"));
steps.Add(new RemoveProjectFromTyeStep("blazor-server"));
}
private static void DeleteBlazorWebAppProjects(List<ProjectBuildPipelineStep> steps)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp",
"/apps/blazor/MyCompanyName.MyProjectName.Blazor.sln",
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.WebApp"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp",
null,
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.WebApp"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp.Client",
"/apps/blazor/MyCompanyName.MyProjectName.Blazor.sln",
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp.Client",
null,
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client"));
steps.Add(new RemoveProjectFromTyeStep("blazor-webapp"));
}
private static void DeleteProductServiceBlazorProjects(List<ProjectBuildPipelineStep> steps)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.ProductService.Blazor",
"/services/product/MyCompanyName.MyProjectName.ProductService.sln",
"/services/product/src/MyCompanyName.MyProjectName.ProductService.Blazor"));
}
}

Loading…
Cancel
Save