From 1b8557d2ba9e1b4d22e08024c021dbf015521270 Mon Sep 17 00:00:00 2001 From: Engincan VESKE Date: Sun, 17 Jul 2022 12:30:39 +0300 Subject: [PATCH] Update ChangeThemeStep.cs --- .../Building/Steps/ChangeThemeStep.cs | 52 ++++++++++++------- 1 file changed, 32 insertions(+), 20 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 4f27e857ec..cfa41c65e1 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 @@ -265,42 +265,54 @@ public class ChangeThemeStep : ProjectBuildPipelineStep var projects = new Dictionary { {"Domain", "MyCompanyName.MyProjectName.Domain.csproj"}, - {"Domain", "MyCompanyName.MyProjectName.AdministrationService.Domain.csproj"}, {"Domain.Shared", "MyCompanyName.MyProjectName.Domain.Shared.csproj"}, - {"Domain.Shared", "MyCompanyName.MyProjectName.AdministrationService.Domain.Shared.csproj"}, {"Application", "MyCompanyName.MyProjectName.Application.csproj"}, - {"Application", "MyCompanyName.MyProjectName.AdministrationService.Application.csproj"}, {"Application.Contracts", "MyCompanyName.MyProjectName.Application.Contracts.csproj"}, - {"Application.Contracts", "MyCompanyName.MyProjectName.AdministrationService.Application.Contracts.csproj"}, {"Blazor.WebAssembly", "MyCompanyName.MyProjectName.Blazor.csproj"}, {"Blazor.Server", "MyCompanyName.MyProjectName.Blazor.Server.csproj"}, {"HttpApi", "MyCompanyName.MyProjectName.HttpApi.csproj"}, - {"HttpApi", "MyCompanyName.MyProjectName.AdministrationService.HttpApi.csproj"}, {"HttpApi.Client", "MyCompanyName.MyProjectName.HttpApi.Client.csproj"}, - {"HttpApi.Client", "MyCompanyName.MyProjectName.AdministrationService.HttpApi.Client.csproj"}, {"Web.Host", "MyCompanyName.MyProjectName.Web.Host.csproj"}, {"Web", "MyCompanyName.MyProjectName.Web.csproj"}, - {"Web", "MyCompanyName.MyProjectName.AdministrationService.Web.csproj"} }; foreach (var project in projects) { - var reference = $@"..\..\..\..\..\lepton-theme\src\Volo.Abp.LeptonTheme.Management.{project.Key}\Volo.Abp.LeptonTheme.Management.{project.Key}.csproj"; - var projectFile = context.Files.FirstOrDefault(f => !f.Name.Contains("Test") && f.Name.Contains(project.Value) && f.Name.Contains(".csproj")); - if (projectFile is null) - { - continue; - } - - projects[project.Key] = projectFile.Name; - - AddProjectReference(projectFile, reference); + AddLeptonThemeManagementReference(context, project); + } - AddModuleDependency(ConvertProjectFileToModuleFile(context, projectFile), - $"LeptonThemeManagement{ConvertProjectNameToModuleName(project.Key)}Module", - underManagementFolder: project.Key != "HttpApi"); + var microserviceServiceProjects = new Dictionary + { + {"Domain", "MyCompanyName.MyProjectName.AdministrationService.Domain.csproj"}, + {"Domain.Shared", "MyCompanyName.MyProjectName.AdministrationService.Domain.Shared.csproj"}, + {"Application", "MyCompanyName.MyProjectName.AdministrationService.Application.csproj"}, + {"Application.Contracts", "MyCompanyName.MyProjectName.AdministrationService.Application.Contracts.csproj"}, + {"HttpApi", "MyCompanyName.MyProjectName.AdministrationService.HttpApi.csproj"}, + {"HttpApi.Client", "MyCompanyName.MyProjectName.AdministrationService.HttpApi.Client.csproj"}, + {"Web", "MyCompanyName.MyProjectName.AdministrationService.Web.csproj"} + }; + + foreach (var microserviceServiceProject in microserviceServiceProjects) + { + AddLeptonThemeManagementReference(context, microserviceServiceProject); } } + + private void AddLeptonThemeManagementReference(ProjectBuildContext context, KeyValuePair projectInfo) + { + var reference = $@"..\..\..\..\..\lepton-theme\src\Volo.Abp.LeptonTheme.Management.{projectInfo.Key}\Volo.Abp.LeptonTheme.Management.{projectInfo.Key}.csproj"; + var projectFile = context.Files.FirstOrDefault(f => !f.Name.Contains("Test") && f.Name.Contains(projectInfo.Value) && f.Name.Contains(".csproj")); + if (projectFile is null) + { + return; + } + + AddProjectReference(projectFile, reference); + + AddModuleDependency(ConvertProjectFileToModuleFile(context, projectFile), + $"LeptonThemeManagement{ConvertProjectNameToModuleName(projectInfo.Key)}Module", + underManagementFolder: projectInfo.Key != "HttpApi"); + } private void AddModuleDependency(FileEntry moduleFile, string dependency, bool underManagementFolder = true) {