Browse Source

Fixed minor problems in the CLI.

pull/18876/head
maliming 3 years ago
parent
commit
090183ede5
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 18
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs
  2. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangePublicAuthPortStep.cs
  3. 3
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangeThemeStep.cs
  4. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateProjectBuildPipelineBuilder.cs
  5. 1
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/UiFrameworkExtensions.cs
  6. 1
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppNoLayersTemplateBase.cs
  7. 44
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs
  8. 1
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Maui/MauiChangePortStep.cs
  9. 2
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Microservice/MicroserviceTemplateBase.cs
  10. 2
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/_Imports.razor
  11. 2
      templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/_Imports.razor
  12. 2
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/appsettings.json
  13. 6
      templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/Pages/Index.razor.cs
  14. 1
      templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/Pages/Index.razor.css
  15. 1
      templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/Program.cs

18
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs

@ -433,7 +433,6 @@ public abstract class ProjectCreationCommandBase
var isModuleTemplate = ModuleTemplateBase.IsModuleTemplate(projectArgs.TemplateName); var isModuleTemplate = ModuleTemplateBase.IsModuleTemplate(projectArgs.TemplateName);
var isWebassembly = projectArgs.UiFramework == UiFramework.Blazor; var isWebassembly = projectArgs.UiFramework == UiFramework.Blazor;
var message = isWebassembly || isModuleTemplate var message = isWebassembly || isModuleTemplate
? "Generating bundles for Blazor Wasm" ? "Generating bundles for Blazor Wasm"
: "Generating bundles for MAUI Blazor"; : "Generating bundles for MAUI Blazor";
@ -451,6 +450,10 @@ public abstract class ProjectCreationCommandBase
var searchPattern = isWebassembly ? "*.Blazor.csproj" : "*.MauiBlazor.csproj"; var searchPattern = isWebassembly ? "*.Blazor.csproj" : "*.MauiBlazor.csproj";
var path = projectArgs.OutputFolder; var path = projectArgs.OutputFolder;
if (isWebassembly && Directory.GetFiles(path, "*.Blazor.Client.csproj", SearchOption.AllDirectories).Any())
{
searchPattern = "*.Blazor.Client.csproj";
}
if (isModuleTemplate) if (isModuleTemplate)
{ {
@ -666,6 +669,8 @@ public abstract class ProjectCreationCommandBase
return UiFramework.Blazor; return UiFramework.Blazor;
case "blazor-server": case "blazor-server":
return UiFramework.BlazorServer; return UiFramework.BlazorServer;
case "blazor-webapp":
return UiFramework.BlazorWebApp;
case "maui-blazor" when template == AppProTemplate.TemplateName: case "maui-blazor" when template == AppProTemplate.TemplateName:
return UiFramework.MauiBlazor; return UiFramework.MauiBlazor;
default: default:
@ -761,6 +766,11 @@ public abstract class ProjectCreationCommandBase
ThemePackageAdder.AddNpmPackage(projectArgs.OutputFolder, "@abp/aspnetcore.components.server.basictheme", projectArgs.Version); ThemePackageAdder.AddNpmPackage(projectArgs.OutputFolder, "@abp/aspnetcore.components.server.basictheme", projectArgs.Version);
} }
if (projectArgs.UiFramework is UiFramework.BlazorWebApp)
{
ThemePackageAdder.AddNpmPackage(projectArgs.OutputFolder, "@abp/aspnetcore.components.server.basictheme", projectArgs.Version);
}
if (projectArgs.UiFramework is UiFramework.Angular) if (projectArgs.UiFramework is UiFramework.Angular)
{ {
ThemePackageAdder.AddAngularPackage(projectArgs.OutputFolder, "@abp/ng.theme.basic", projectArgs.Version); ThemePackageAdder.AddAngularPackage(projectArgs.OutputFolder, "@abp/ng.theme.basic", projectArgs.Version);
@ -780,6 +790,12 @@ public abstract class ProjectCreationCommandBase
ThemePackageAdder.AddNpmPackage(projectArgs.OutputFolder, "@volo/abp.aspnetcore.mvc.ui.theme.lepton", projectArgs.Version); ThemePackageAdder.AddNpmPackage(projectArgs.OutputFolder, "@volo/abp.aspnetcore.mvc.ui.theme.lepton", projectArgs.Version);
} }
if (projectArgs.UiFramework is UiFramework.BlazorWebApp)
{
ThemePackageAdder.AddNpmPackage(projectArgs.OutputFolder, "@volo/abp.aspnetcore.components.server.leptontheme", projectArgs.Version);
ThemePackageAdder.AddNpmPackage(projectArgs.OutputFolder, "@volo/abp.aspnetcore.mvc.ui.theme.lepton", projectArgs.Version);
}
if (projectArgs.UiFramework is UiFramework.Angular) if (projectArgs.UiFramework is UiFramework.Angular)
{ {
ThemePackageAdder.AddAngularPackage(projectArgs.OutputFolder, "@volo/abp.ng.theme.lepton", projectArgs.Version); ThemePackageAdder.AddAngularPackage(projectArgs.OutputFolder, "@volo/abp.ng.theme.lepton", projectArgs.Version);

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangePublicAuthPortStep.cs

@ -9,7 +9,7 @@ public class ChangePublicAuthPortStep : ProjectBuildPipelineStep
var publicAppSettings = context.Files var publicAppSettings = context.Files
.FirstOrDefault(f => f.Name.Contains("MyCompanyName.MyProjectName.Web.Public") && f.Name.EndsWith("appsettings.json")); .FirstOrDefault(f => f.Name.Contains("MyCompanyName.MyProjectName.Web.Public") && f.Name.EndsWith("appsettings.json"));
if (context.BuildArgs.UiFramework == UiFramework.BlazorServer) if (context.BuildArgs.UiFramework == UiFramework.BlazorServer || context.BuildArgs.UiFramework == UiFramework.BlazorWebApp)
{ {
publicAppSettings?.SetContent(publicAppSettings.Content.Replace("localhost:44303", "localhost:44313")); publicAppSettings?.SetContent(publicAppSettings.Content.Replace("localhost:44303", "localhost:44313"));
} }

3
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangeThemeStep.cs

@ -310,6 +310,9 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
case UiFramework.BlazorServer: case UiFramework.BlazorServer:
projects["Blazor.Server"] = "MyCompanyName.MyProjectName.Blazor.csproj"; projects["Blazor.Server"] = "MyCompanyName.MyProjectName.Blazor.csproj";
break; break;
case UiFramework.BlazorWebApp:
projects["Blazor.WebApp"] = "MyCompanyName.MyProjectName.Blazor.csproj";
break;
} }
} }

2
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/TemplateProjectBuildPipelineBuilder.cs

@ -50,7 +50,7 @@ public static class TemplateProjectBuildPipelineBuilder
pipeline.Steps.Add(new AppModuleDatabaseManagementSystemChangeStep()); // todo: move to custom steps? pipeline.Steps.Add(new AppModuleDatabaseManagementSystemChangeStep()); // todo: move to custom steps?
} }
if ((context.BuildArgs.UiFramework == UiFramework.Mvc || context.BuildArgs.UiFramework == UiFramework.Blazor || context.BuildArgs.UiFramework == UiFramework.BlazorServer) if ((context.BuildArgs.UiFramework == UiFramework.Mvc || context.BuildArgs.UiFramework == UiFramework.Blazor || context.BuildArgs.UiFramework == UiFramework.BlazorServer || context.BuildArgs.UiFramework == UiFramework.BlazorWebApp)
&& context.BuildArgs.MobileApp == MobileApp.None && context.Template.Name != MicroserviceProTemplate.TemplateName && context.BuildArgs.MobileApp == MobileApp.None && context.Template.Name != MicroserviceProTemplate.TemplateName
&& context.Template.Name != MicroserviceServiceProTemplate.TemplateName) && context.Template.Name != MicroserviceServiceProTemplate.TemplateName)
{ {

1
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/UiFrameworkExtensions.cs

@ -11,6 +11,7 @@ public static class UiFrameworkExtensions
case UiFramework.Angular: return "angular"; case UiFramework.Angular: return "angular";
case UiFramework.Blazor: return "blazor"; case UiFramework.Blazor: return "blazor";
case UiFramework.BlazorServer: return "blazor-server"; case UiFramework.BlazorServer: return "blazor-server";
case UiFramework.BlazorWebApp: return "blazor-webapp";
case UiFramework.NotSpecified: return "NotSpecified"; case UiFramework.NotSpecified: return "NotSpecified";
default: return "NotSpecified"; default: return "NotSpecified";
} }

1
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppNoLayersTemplateBase.cs

@ -89,6 +89,7 @@ public abstract class AppNoLayersTemplateBase : TemplateInfo
break; break;
case UiFramework.Blazor: case UiFramework.Blazor:
case UiFramework.BlazorWebApp:
context.Symbols.Add("ui:blazor"); context.Symbols.Add("ui:blazor");
steps.Add(new RemoveFolderStep("/angular")); steps.Add(new RemoveFolderStep("/angular"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Mvc")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Mvc"));

44
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs

@ -115,6 +115,26 @@ public abstract class AppTemplateBase : TemplateInfo
protected void DeleteUnrelatedProjects(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps) protected void DeleteUnrelatedProjects(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{ {
if (context.BuildArgs.UiFramework != UiFramework.Blazor)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Client"));
}
if (context.BuildArgs.UiFramework != UiFramework.BlazorServer)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server.Tiered"));
}
if (context.BuildArgs.UiFramework != UiFramework.BlazorWebApp)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp.Client"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp.Tiered"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client"));
}
switch (context.BuildArgs.UiFramework) switch (context.BuildArgs.UiFramework)
{ {
case UiFramework.None: case UiFramework.None:
@ -147,26 +167,6 @@ public abstract class AppTemplateBase : TemplateInfo
break; break;
} }
if (context.BuildArgs.UiFramework != UiFramework.Blazor)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Client"));
}
if (context.BuildArgs.UiFramework != UiFramework.BlazorServer)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.Server.Tiered"));
}
if (context.BuildArgs.UiFramework != UiFramework.BlazorWebApp)
{
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp.Client"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp.Tiered"));
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client"));
}
if (context.BuildArgs.UiFramework != UiFramework.MauiBlazor) if (context.BuildArgs.UiFramework != UiFramework.MauiBlazor)
{ {
steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.MauiBlazor")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.MauiBlazor"));
@ -321,7 +321,7 @@ public abstract class AppTemplateBase : TemplateInfo
steps.Add(new RemoveDependencyFromPackageJsonFileStep(packageJsonFilePath, mvcUiPackageName)); steps.Add(new RemoveDependencyFromPackageJsonFileStep(packageJsonFilePath, mvcUiPackageName));
} }
if (uiFramework == UiFramework.BlazorServer) if (uiFramework == UiFramework.BlazorServer || uiFramework == UiFramework.BlazorWebApp)
{ {
var blazorServerUiPackageName = isProTemplate ? "@volo/aspnetcore.components.server.leptonxtheme" : "@abp/aspnetcore.components.server.leptonxlitetheme"; var blazorServerUiPackageName = isProTemplate ? "@volo/aspnetcore.components.server.leptonxtheme" : "@abp/aspnetcore.components.server.leptonxlitetheme";
var blazorServerPackageJsonFilePaths = new List<string> var blazorServerPackageJsonFilePaths = new List<string>
@ -735,6 +735,7 @@ public abstract class AppTemplateBase : TemplateInfo
if ((context.BuildArgs.UiFramework == UiFramework.Mvc if ((context.BuildArgs.UiFramework == UiFramework.Mvc
|| context.BuildArgs.UiFramework == UiFramework.Blazor || context.BuildArgs.UiFramework == UiFramework.Blazor
|| context.BuildArgs.UiFramework == UiFramework.BlazorServer || context.BuildArgs.UiFramework == UiFramework.BlazorServer
|| context.BuildArgs.UiFramework == UiFramework.BlazorWebApp
|| context.BuildArgs.UiFramework == UiFramework.MauiBlazor) && || context.BuildArgs.UiFramework == UiFramework.MauiBlazor) &&
context.BuildArgs.MobileApp == MobileApp.None) context.BuildArgs.MobileApp == MobileApp.None)
{ {
@ -769,6 +770,7 @@ public abstract class AppTemplateBase : TemplateInfo
steps.Add(new MoveFileStep("/aspnet-core/etc/docker/docker-compose.Blazor.yml", "/aspnet-core/etc/docker/docker-compose.yml")); steps.Add(new MoveFileStep("/aspnet-core/etc/docker/docker-compose.Blazor.yml", "/aspnet-core/etc/docker/docker-compose.yml"));
break; break;
case UiFramework.BlazorServer: case UiFramework.BlazorServer:
case UiFramework.BlazorWebApp:
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Angular.yml")); steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Angular.yml"));
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Mvc.yml")); steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Mvc.yml"));
steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Blazor.yml")); steps.Add(new RemoveFileStep("/aspnet-core/etc/docker/docker-compose.Blazor.yml"));

1
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Maui/MauiChangePortStep.cs

@ -57,6 +57,7 @@ public class MauiChangePortStep : ProjectBuildPipelineStep
authServerPort = "44305"; authServerPort = "44305";
apiHostPort = "44305"; apiHostPort = "44305";
break; break;
case UiFramework.BlazorWebApp:
case UiFramework.BlazorServer: case UiFramework.BlazorServer:
authServerPort = "44308"; authServerPort = "44308";
apiHostPort = "44308"; apiHostPort = "44308";

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

@ -68,7 +68,7 @@ public abstract class MicroserviceTemplateBase : TemplateInfo
steps.Add(new RemoveDependencyFromPackageJsonFileStep(packageJsonFilePath, mvcUiPackageName)); steps.Add(new RemoveDependencyFromPackageJsonFileStep(packageJsonFilePath, mvcUiPackageName));
} }
if (uiFramework == UiFramework.BlazorServer) if (uiFramework == UiFramework.BlazorServer || uiFramework == UiFramework.BlazorWebApp)
{ {
var blazorServerUiPackageName = "@volo/aspnetcore.components.server.leptonxtheme"; var blazorServerUiPackageName = "@volo/aspnetcore.components.server.leptonxtheme";
var blazorServerPackageJsonFilePaths = new List<string> var blazorServerPackageJsonFilePaths = new List<string>

2
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/_Imports.razor

@ -7,7 +7,7 @@
@using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.AspNetCore.Components.Web.Virtualization
@using static Microsoft.AspNetCore.Components.Web.RenderMode @using static Microsoft.AspNetCore.Components.Web.RenderMode
@using Microsoft.JSInterop @using Microsoft.JSInterop
@using MyCompanyName.MyProjectName.Blazor.Server @using MyCompanyName.MyProjectName
@using Blazorise @using Blazorise
@using Blazorise.DataGrid @using Blazorise.DataGrid
@using Volo.Abp.BlazoriseUI @using Volo.Abp.BlazoriseUI

2
templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/_Imports.razor

@ -7,7 +7,7 @@
@using Microsoft.AspNetCore.Components.Web.Virtualization @using Microsoft.AspNetCore.Components.Web.Virtualization
@using static Microsoft.AspNetCore.Components.Web.RenderMode @using static Microsoft.AspNetCore.Components.Web.RenderMode
@using Microsoft.JSInterop @using Microsoft.JSInterop
@using MyCompanyName.MyProjectName.Blazor.Server @using MyCompanyName.MyProjectName
@using Blazorise @using Blazorise
@using Blazorise.DataGrid @using Blazorise.DataGrid
@using Volo.Abp.BlazoriseUI @using Volo.Abp.BlazoriseUI

2
templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/appsettings.json

@ -13,7 +13,7 @@
"AuthServer": { "AuthServer": {
"Authority": "https://localhost:44301", "Authority": "https://localhost:44301",
"RequireHttpsMetadata": true, "RequireHttpsMetadata": true,
"ClientId": "MyProjectName_BlazorServerTiered", "ClientId": "MyProjectName_BlazorWebAppTiered",
"ClientSecret": "1q2w3e*", "ClientSecret": "1q2w3e*",
"IsContainerized": false "IsContainerized": false
}, },

6
templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/Pages/Index.razor.cs

@ -0,0 +1,6 @@
namespace MyCompanyName.MyProjectName.Blazor.Host.Client.Pages;
public partial class Index
{
}

1
templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/Pages/Index.razor.css

@ -0,0 +1 @@
/* Write here your styles for the Index page */

1
templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host/Program.cs

@ -8,6 +8,7 @@ using Volo.Abp.AspNetCore.Components.WebAssembly.WebApp;
var builder = WebApplication.CreateBuilder(args); var builder = WebApplication.CreateBuilder(args);
//https://github.com/dotnet/aspnetcore/issues/52530
builder.Services.Configure<RouteOptions>(options => builder.Services.Configure<RouteOptions>(options =>
{ {
options.SuppressCheckForUnhandledSecurityMetadata = true; options.SuppressCheckForUnhandledSecurityMetadata = true;

Loading…
Cancel
Save