From ea792dc1fbc76fb52388524f4f8af4aa47305d84 Mon Sep 17 00:00:00 2001 From: Engincan VESKE <43685404+EngincanV@users.noreply.github.com> Date: Wed, 21 Jun 2023 10:39:15 +0300 Subject: [PATCH] CLI: Fix ChangeThemeStep.cs for basic theme --- .../Building/Steps/ChangeThemeStep.cs | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangeThemeStep.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangeThemeStep.cs index c303c1196a..73e33211e3 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangeThemeStep.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangeThemeStep.cs @@ -566,28 +566,37 @@ public class ChangeThemeStep : ProjectBuildPipelineStep private static void ChangeThemeToBasicForMvcProjects(ProjectBuildContext context, string defaultThemeName) { - var projects = new Dictionary - { - {".Web", "MyProjectNameWebModule"}, - {".HttpApi.Host", "MyProjectNameHttpApiHostModule"}, - {".AuthServer", "MyProjectNameAuthServerModule"}, - {".Web.Public", "MyProjectNameWebPublicModule"}, - {".Web.Public.Host", "MyProjectNameWebPublicModule"}, - {"", "MyProjectNameWebModule"} + var projectNames = new[] +{ + ".Web", ".HttpApi.Host", ".AuthServer", ".Web.Public", ".Web.Public.Host", + "" //for app-nolayers-mvc }; - foreach (var project in projects) + foreach (var projectName in projectNames) { + var projectPath = $"/MyCompanyName.MyProjectName{projectName}/MyCompanyName.MyProjectName{projectName}.csproj"; + var projectFile = context.Files.FirstOrDefault(x => x.Name.Contains(projectPath)); + if (projectFile == null) + { + continue; + } + + var moduleFile = ConvertProjectFileToModuleFile(context, projectFile); + if (moduleFile == null) + { + continue; + } + ReplacePackageReferenceWithProjectReference( context, - $"/MyCompanyName.MyProjectName{project.Key}/MyCompanyName.MyProjectName{project.Key}.csproj", + projectFile.Name, $"Volo.Abp.AspNetCore.Mvc.UI.Theme.{defaultThemeName}", @"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj" ); - + ReplaceAllKeywords( context, - $"/MyCompanyName.MyProjectName{project.Key}/{project.Value}.cs", + moduleFile.Name, defaultThemeName, Basic );