From 75bb0f14e3a667d760a54ac7660aec539a85934a Mon Sep 17 00:00:00 2001 From: Engincan VESKE <43685404+EngincanV@users.noreply.github.com> Date: Tue, 2 Apr 2024 14:40:42 +0300 Subject: [PATCH 1/2] CLI: Fix change theme step for basic theme. --- .../Building/Steps/ChangeThemeStep.cs | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) 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 4a88ada34a..40928eefb9 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 @@ -565,6 +565,31 @@ public class ChangeThemeStep : ProjectBuildPipelineStep file.SetLines(lines); } + private static void AddNamespaces(ProjectBuildContext context, string targetModuleFilePath, params string[] namespaces) + { + var file = context.Files.FirstOrDefault(x => x.Name.Contains(targetModuleFilePath)); + if (file == null) + { + return; + } + + file.NormalizeLineEndings(); + + var lines = file.GetLines(); + + foreach (var @namespace in namespaces.Select(x => x.EnsureEndsWith(';'))) + { + if (lines.Any(x => x.Contains(@namespace))) + { + continue; + } + + lines.AddFirst(@namespace); + } + + file.SetLines(lines); + } + private static void ChangeThemeToBasicForMvcProjects(ProjectBuildContext context, string defaultThemeName) { var projectNames = new[] @@ -601,6 +626,13 @@ public class ChangeThemeStep : ProjectBuildPipelineStep defaultThemeName, Basic ); + + AddNamespaces( + context, + moduleFile.Name, + "using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", + "using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling" + ); } } From 5fb780c4dcc7d9024f754c3f968efa3d5590f9d1 Mon Sep 17 00:00:00 2001 From: Engincan VESKE <43685404+EngincanV@users.noreply.github.com> Date: Tue, 2 Apr 2024 16:12:44 +0300 Subject: [PATCH 2/2] Update ChangeThemeStep.cs --- .../Building/Steps/ChangeThemeStep.cs | 15 +++++---------- 1 file changed, 5 insertions(+), 10 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 40928eefb9..7430f2a288 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 @@ -556,7 +556,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep { if (!lines[i].Contains(oldKeyword)) { - continue;; + continue; } lines[i] = lines[i].Replace(oldKeyword, newKeyword); @@ -575,15 +575,10 @@ public class ChangeThemeStep : ProjectBuildPipelineStep file.NormalizeLineEndings(); - var lines = file.GetLines(); + var lines = file.GetLines().ToList(); - foreach (var @namespace in namespaces.Select(x => x.EnsureEndsWith(';'))) + foreach (var @namespace in namespaces) { - if (lines.Any(x => x.Contains(@namespace))) - { - continue; - } - lines.AddFirst(@namespace); } @@ -630,8 +625,8 @@ public class ChangeThemeStep : ProjectBuildPipelineStep AddNamespaces( context, moduleFile.Name, - "using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", - "using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling" + "using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic;", + "using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling;" ); } }