|
|
|
@ -265,42 +265,54 @@ public class ChangeThemeStep : ProjectBuildPipelineStep |
|
|
|
var projects = new Dictionary<string, string> |
|
|
|
{ |
|
|
|
{"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<string, string> |
|
|
|
{ |
|
|
|
{"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<string, string> 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) |
|
|
|
{ |
|
|
|
|