Browse Source

CLI: Refactor ChangeThemeStep.cs

pull/13306/head
Engincan VESKE 4 years ago
parent
commit
fe61bc5096
  1. 122
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangeThemeStep.cs
  2. 25
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangeThemeStyleStep.cs
  3. 21
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs
  4. 59
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/Microservice/MicroserviceTemplateBase.cs

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

@ -8,7 +8,6 @@ using Volo.Abp.Cli.Utils;
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps; namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps;
//TODO: refactor!!!
public class ChangeThemeStep : ProjectBuildPipelineStep public class ChangeThemeStep : ProjectBuildPipelineStep
{ {
public override void Execute(ProjectBuildContext context) public override void Execute(ProjectBuildContext context)
@ -45,14 +44,14 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ReplacePackageReferenceWithProjectReference( ReplacePackageReferenceWithProjectReference(
context, context,
"/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj", "/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj",
$"Volo.Abp.AspNetCore.Components.WebAssembly.{defaultThemeName}Theme", $"Volo.Abp.AspNetCore.Components.WebAssembly.{defaultThemeName}Theme",
@"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme\Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme.csproj" @"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme\Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme.csproj"
); );
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
"/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs", "/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs",
$"Volo.Abp.AspNetCore.Components.WebAssembly.{defaultThemeName}Theme", $"Volo.Abp.AspNetCore.Components.WebAssembly.{defaultThemeName}Theme",
"Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme", "Volo.Abp.AspNetCore.Components.WebAssembly.BasicTheme",
$"AbpAspNetCoreComponentsWebAssembly{defaultThemeName}ThemeModule", $"AbpAspNetCoreComponentsWebAssembly{defaultThemeName}ThemeModule",
@ -61,7 +60,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespace( ChangeNamespace(
context, context,
"/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs", "/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs",
$"Volo.Abp.AspNetCore.Components.Web.{defaultThemeName}Theme.Themes.{defaultThemeName}", $"Volo.Abp.AspNetCore.Components.Web.{defaultThemeName}Theme.Themes.{defaultThemeName}",
"Volo.Abp.AspNetCore.Components.Web.BasicTheme.Themes.Basic" "Volo.Abp.AspNetCore.Components.Web.BasicTheme.Themes.Basic"
); );
@ -128,14 +127,14 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ReplacePackageReferenceWithProjectReference( ReplacePackageReferenceWithProjectReference(
context, context,
"/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj", "/MyCompanyName.MyProjectName.Blazor/MyCompanyName.MyProjectName.Blazor.csproj",
"Volo.Abp.AspNetCore.Components.WebAssembly.LeptonXTheme", "Volo.Abp.AspNetCore.Components.WebAssembly.LeptonXTheme",
@"..\..\..\..\..\lepton-theme\src\Volo.Abp.AspNetCore.Components.WebAssembly.LeptonTheme\Volo.Abp.AspNetCore.Components.WebAssembly.LeptonTheme.csproj" @"..\..\..\..\..\lepton-theme\src\Volo.Abp.AspNetCore.Components.WebAssembly.LeptonTheme\Volo.Abp.AspNetCore.Components.WebAssembly.LeptonTheme.csproj"
); );
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
"/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs", "/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs",
"Volo.Abp.AspNetCore.Components.Web.LeptonXTheme.Components", "Volo.Abp.AspNetCore.Components.Web.LeptonXTheme.Components",
"Volo.Abp.AspNetCore.Components.Web.LeptonTheme.Components", "Volo.Abp.AspNetCore.Components.Web.LeptonTheme.Components",
"AbpAspNetCoreComponentsWebAssemblyLeptonXThemeModule", "AbpAspNetCoreComponentsWebAssemblyLeptonXThemeModule",
@ -180,12 +179,11 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
#endregion #endregion
// Single-Layers
#region MyCompanyName.MyProjectName.Web.Mvc && MyCompanyName.MyProjectName.Web.Mvc.Mongo #region MyCompanyName.MyProjectName.Web.Mvc && MyCompanyName.MyProjectName.Web.Mvc.Mongo
var projectNames = new[] {"Web", "HttpApi", "Application"}; var projectNames = new[] {"Web", "HttpApi", "Application"};
ConfigureLeptonManagementPackagesForNoLayersMvc(context, @"/aspnet-core/src/MyCompanyName.MyProjectName.Web.Mvc/MyCompanyName.MyProjectName.Web.Mvc.csproj", projectNames); ConfigureLeptonManagementPackagesForNoLayersMvc(context, @"/MyCompanyName.MyProjectName.Web.Mvc/MyCompanyName.MyProjectName.Web.Mvc.csproj", projectNames);
ConfigureLeptonManagementPackagesForNoLayersMvc(context, @"/aspnet-core/src/MyCompanyName.MyProjectName.Web.Mvc/MyCompanyName.MyProjectName.Web.Mvc.Mongo.csproj", projectNames); ConfigureLeptonManagementPackagesForNoLayersMvc(context, @"/MyCompanyName.MyProjectName.Web.Mvc/MyCompanyName.MyProjectName.Web.Mvc.Mongo.csproj", projectNames);
#endregion #endregion
@ -194,9 +192,6 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeThemeToLeptonForNoLayersBlazorServerProjects(context); ChangeThemeToLeptonForNoLayersBlazorServerProjects(context);
#endregion #endregion
// Microservices
//TODO: add for microservices!!!
} }
private void ConfigureLeptonManagementPackagesForNoLayersMvc(ProjectBuildContext context, string targetProjectPath, string[] projectNames) private void ConfigureLeptonManagementPackagesForNoLayersMvc(ProjectBuildContext context, string targetProjectPath, string[] projectNames)
@ -216,17 +211,18 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
private void ChangeThemeToLeptonForMvcProjects(ProjectBuildContext context) private void ChangeThemeToLeptonForMvcProjects(ProjectBuildContext context)
{ {
var projectNames = new[] { var projectNames = new[]
"Web", "HttpApi.Host", "AuthServer", //app {
"Web.Mvc", "Web.Mvc.Mongo" //app-nolayers "Web", "HttpApi.Host", "AuthServer", "Web.Mvc", "Web.Mvc.Mongo"
}; };
foreach (var projectName in projectNames) foreach (var projectName in projectNames)
{ {
var projectPath = $"/MyCompanyName.MyProjectName.{projectName}/MyCompanyName.MyProjectName.{projectName}.csproj"; var projectPath = $"/MyCompanyName.MyProjectName.{projectName}/MyCompanyName.MyProjectName.{projectName}.csproj";
var projectFile = context.Files.FirstOrDefault(x => x.Name.Contains(projectPath)); var projectFile = context.Files.FirstOrDefault(x => x.Name.Contains(projectPath));
if (projectFile == null) if (projectFile == null)
{ {
return; continue;
} }
var moduleFile = ConvertProjectFileToModuleFile(context, projectFile); var moduleFile = ConvertProjectFileToModuleFile(context, projectFile);
@ -269,15 +265,22 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
var projects = new Dictionary<string, string> var projects = new Dictionary<string, string>
{ {
{"Domain", "MyCompanyName.MyProjectName.Domain.csproj"}, {"Domain", "MyCompanyName.MyProjectName.Domain.csproj"},
{"Domain", "MyCompanyName.MyProjectName.AdministrationService.Domain.csproj"},
{"Domain.Shared", "MyCompanyName.MyProjectName.Domain.Shared.csproj"}, {"Domain.Shared", "MyCompanyName.MyProjectName.Domain.Shared.csproj"},
{"Domain.Shared", "MyCompanyName.MyProjectName.AdministrationService.Domain.Shared.csproj"},
{"Application", "MyCompanyName.MyProjectName.Application.csproj"}, {"Application", "MyCompanyName.MyProjectName.Application.csproj"},
{"Application", "MyCompanyName.MyProjectName.AdministrationService.Application.csproj"},
{"Application.Contracts", "MyCompanyName.MyProjectName.Application.Contracts.csproj"}, {"Application.Contracts", "MyCompanyName.MyProjectName.Application.Contracts.csproj"},
{"Application.Contracts", "MyCompanyName.MyProjectName.AdministrationService.Application.Contracts.csproj"},
{"Blazor.WebAssembly", "MyCompanyName.MyProjectName.Blazor.csproj"}, {"Blazor.WebAssembly", "MyCompanyName.MyProjectName.Blazor.csproj"},
{"Blazor.Server", "MyCompanyName.MyProjectName.Blazor.Server"}, {"Blazor.Server", "MyCompanyName.MyProjectName.Blazor.Server.csproj"},
{"HttpApi", "MyCompanyName.MyProjectName.HttpApi.csproj"}, {"HttpApi", "MyCompanyName.MyProjectName.HttpApi.csproj"},
{"HttpApi", "MyCompanyName.MyProjectName.AdministrationService.HttpApi.csproj"},
{"HttpApi.Client", "MyCompanyName.MyProjectName.HttpApi.Client.csproj"}, {"HttpApi.Client", "MyCompanyName.MyProjectName.HttpApi.Client.csproj"},
{"HttpApi.Client", "MyCompanyName.MyProjectName.AdministrationService.HttpApi.Client.csproj"},
{"Web.Host", "MyCompanyName.MyProjectName.Web.Host.csproj"}, {"Web.Host", "MyCompanyName.MyProjectName.Web.Host.csproj"},
{"Web", "MyCompanyName.MyProjectName.Web.csproj"} {"Web", "MyCompanyName.MyProjectName.Web.csproj"},
{"Web", "MyCompanyName.MyProjectName.AdministrationService.Web.csproj"}
}; };
foreach (var project in projects) foreach (var project in projects)
@ -325,7 +328,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
string packageReference, string packageReference,
string projectReference) string projectReference)
{ {
var file = context.FindFile(targetProjectFilePath); var file = context.Files.FirstOrDefault(x => x.Name.Contains(targetProjectFilePath));
if (file == null) if (file == null)
{ {
return; return;
@ -352,8 +355,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
string oldKeyword, string oldKeyword,
string newKeyword) string newKeyword)
{ {
var file = context.FindFile(targetModuleFilePath); var file = context.Files.FirstOrDefault(x => x.Name.Contains(targetModuleFilePath));
if (file == null) if (file == null)
{ {
return; return;
@ -367,7 +369,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
{ {
if (lines[i].Contains($"using {oldNamespace}")) if (lines[i].Contains($"using {oldNamespace}"))
{ {
lines[i] = $"using {newNamespace};"; lines[i] = lines[i].Replace($"using {oldNamespace}", $"using {newNamespace}");
} }
else if (lines[i].Contains(oldKeyword)) else if (lines[i].Contains(oldKeyword))
{ {
@ -384,8 +386,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
string oldNamespace, string oldNamespace,
string newNamespace) string newNamespace)
{ {
var file = context.FindFile(targetModuleFilePath); var file = context.Files.FirstOrDefault(x => x.Name.Contains(targetModuleFilePath));
if (file == null) if (file == null)
{ {
return; return;
@ -396,9 +397,9 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
var lines = file.GetLines(); var lines = file.GetLines();
for (var i = 0; i < lines.Length; i++) for (var i = 0; i < lines.Length; i++)
{ {
if (lines[i].Contains($"using {oldNamespace};")) if (lines[i].Contains($"using {oldNamespace}"))
{ {
lines[i] = $"using {newNamespace};"; lines[i] = lines[i].Replace($"using {oldNamespace}", $"using {newNamespace}");
} }
} }
@ -411,8 +412,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
string oldImportPackage, string oldImportPackage,
string newImportPackage) string newImportPackage)
{ {
var file = context.FindFile(filePath); var file = context.Files.FirstOrDefault(x => x.Name.Contains(filePath));
if (file == null) if (file == null)
{ {
return; return;
@ -435,8 +435,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
string filePath, string filePath,
string statement) string statement)
{ {
var file = context.FindFile(filePath); var file = context.Files.FirstOrDefault(x => x.Name.Contains(filePath));
if (file == null) if (file == null)
{ {
return; return;
@ -462,8 +461,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
string oldMethodName, string oldMethodName,
string newMethodName) string newMethodName)
{ {
var file = context.FindFile(filePath); var file = context.Files.FirstOrDefault(x => x.Name.Contains(filePath));
if (file == null) if (file == null)
{ {
return; return;
@ -561,9 +559,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
private static string ConvertProjectNameToModuleName(string moduleName) private static string ConvertProjectNameToModuleName(string moduleName)
{ {
moduleName = moduleName.Replace(".", ""); return moduleName.Replace(".", "");
return moduleName;
} }
private static void RenameLeptonXFolders(ProjectBuildContext context, string folderName) private static void RenameLeptonXFolders(ProjectBuildContext context, string folderName)
@ -590,14 +586,14 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
{ {
ReplacePackageReferenceWithProjectReference( ReplacePackageReferenceWithProjectReference(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{project.Key}/MyCompanyName.MyProjectName.{project.Key}.csproj", $"/MyCompanyName.MyProjectName.{project.Key}/MyCompanyName.MyProjectName.{project.Key}.csproj",
$"Volo.Abp.AspNetCore.Mvc.UI.Theme.{defaultThemeName}", $"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" @"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj"
); );
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{project.Key}/{project.Value}.cs", $"/MyCompanyName.MyProjectName.{project.Key}/{project.Value}.cs",
$"Volo.Abp.AspNetCore.Mvc.UI.Theme.{defaultThemeName}", $"Volo.Abp.AspNetCore.Mvc.UI.Theme.{defaultThemeName}",
"Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic",
$"AbpAspNetCoreMvcUi{defaultThemeName}ThemeModule", $"AbpAspNetCoreMvcUi{defaultThemeName}ThemeModule",
@ -606,7 +602,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{project.Key}/{project.Value}.cs", $"/MyCompanyName.MyProjectName.{project.Key}/{project.Value}.cs",
$"Volo.Abp.AspNetCore.Mvc.UI.Theme.{defaultThemeName}.Bundling", $"Volo.Abp.AspNetCore.Mvc.UI.Theme.{defaultThemeName}.Bundling",
"Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling",
$"{defaultThemeName}ThemeBundles.Styles.Global", $"{defaultThemeName}ThemeBundles.Styles.Global",
@ -629,21 +625,21 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
{ {
ReplacePackageReferenceWithProjectReference( ReplacePackageReferenceWithProjectReference(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{project.Key}/MyCompanyName.MyProjectName.{project.Key}.csproj", $"/MyCompanyName.MyProjectName.{project.Key}/MyCompanyName.MyProjectName.{project.Key}.csproj",
$"Volo.Abp.AspNetCore.Components.Server.{defaultThemeName}Theme", $"Volo.Abp.AspNetCore.Components.Server.{defaultThemeName}Theme",
@"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj" @"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic\Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.csproj"
); );
ReplacePackageReferenceWithProjectReference( ReplacePackageReferenceWithProjectReference(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{project.Key}/MyCompanyName.MyProjectName.{project.Key}.csproj", $"/MyCompanyName.MyProjectName.{project.Key}/MyCompanyName.MyProjectName.{project.Key}.csproj",
$"Volo.Abp.AspNetCore.Mvc.UI.Theme.{defaultThemeName}", $"Volo.Abp.AspNetCore.Mvc.UI.Theme.{defaultThemeName}",
@"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Components.Server.BasicTheme\Volo.Abp.AspNetCore.Components.Server.BasicTheme.csproj" @"..\..\..\..\..\modules\basic-theme\src\Volo.Abp.AspNetCore.Components.Server.BasicTheme\Volo.Abp.AspNetCore.Components.Server.BasicTheme.csproj"
); );
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{project.Key}/{project.Value}.cs", $"/MyCompanyName.MyProjectName.{project.Key}/{project.Value}.cs",
$"Volo.Abp.AspNetCore.Components.Server.{defaultThemeName}Theme", $"Volo.Abp.AspNetCore.Components.Server.{defaultThemeName}Theme",
"Volo.Abp.AspNetCore.Components.Server.BasicTheme", "Volo.Abp.AspNetCore.Components.Server.BasicTheme",
$"AbpAspNetCoreComponentsServer{defaultThemeName}ThemeModule", $"AbpAspNetCoreComponentsServer{defaultThemeName}ThemeModule",
@ -652,7 +648,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{project.Key}/{project.Value}.cs", $"/MyCompanyName.MyProjectName.{project.Key}/{project.Value}.cs",
$"Volo.Abp.AspNetCore.Mvc.UI.Theme.{defaultThemeName}", $"Volo.Abp.AspNetCore.Mvc.UI.Theme.{defaultThemeName}",
"Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic",
$"AbpAspNetCoreMvcUi{defaultThemeName}ThemeModule", $"AbpAspNetCoreMvcUi{defaultThemeName}ThemeModule",
@ -661,7 +657,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{project.Key}/{project.Value}.cs", $"/MyCompanyName.MyProjectName.{project.Key}/{project.Value}.cs",
$"Volo.Abp.AspNetCore.Components.Server.{defaultThemeName}Theme.Bundling", $"Volo.Abp.AspNetCore.Components.Server.{defaultThemeName}Theme.Bundling",
"Volo.Abp.AspNetCore.Components.Server.BasicTheme.Bundling", "Volo.Abp.AspNetCore.Components.Server.BasicTheme.Bundling",
$"{defaultThemeName}ThemeBundles.Styles.Global", $"{defaultThemeName}ThemeBundles.Styles.Global",
@ -670,7 +666,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{project.Key}/{project.Value}.cs", $"/MyCompanyName.MyProjectName.{project.Key}/{project.Value}.cs",
$"Volo.Abp.AspNetCore.Mvc.UI.Theme.{defaultThemeName}.Bundling", $"Volo.Abp.AspNetCore.Mvc.UI.Theme.{defaultThemeName}.Bundling",
"Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling",
$"Blazor{defaultThemeName}ThemeBundles.Styles.Global", $"Blazor{defaultThemeName}ThemeBundles.Styles.Global",
@ -679,7 +675,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{project.Key}/Pages/_Host.cshtml", $"/MyCompanyName.MyProjectName.{project.Key}/Pages/_Host.cshtml",
$"Volo.Abp.AspNetCore.Components.Web.{defaultThemeName}Theme.Themes.{defaultThemeName}", $"Volo.Abp.AspNetCore.Components.Web.{defaultThemeName}Theme.Themes.{defaultThemeName}",
"Volo.Abp.AspNetCore.Components.Web.BasicTheme.Themes.Basic", "Volo.Abp.AspNetCore.Components.Web.BasicTheme.Themes.Basic",
$"Blazor{defaultThemeName}ThemeBundles.Styles.Global", $"Blazor{defaultThemeName}ThemeBundles.Styles.Global",
@ -688,7 +684,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{project.Key}/Pages/_Host.cshtml", $"/MyCompanyName.MyProjectName.{project.Key}/Pages/_Host.cshtml",
$"Volo.Abp.AspNetCore.Components.Server.{defaultThemeName}Theme.Bundling", $"Volo.Abp.AspNetCore.Components.Server.{defaultThemeName}Theme.Bundling",
"Volo.Abp.AspNetCore.Components.Server.BasicTheme.Bundling", "Volo.Abp.AspNetCore.Components.Server.BasicTheme.Bundling",
$"Blazor{defaultThemeName}ThemeBundles.Scripts.Global", $"Blazor{defaultThemeName}ThemeBundles.Scripts.Global",
@ -704,21 +700,21 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
{ {
ReplacePackageReferenceWithProjectReference( ReplacePackageReferenceWithProjectReference(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/MyCompanyName.MyProjectName.{projectName}.csproj", $"/MyCompanyName.MyProjectName.{projectName}/MyCompanyName.MyProjectName.{projectName}.csproj",
"Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX",
@"..\..\..\..\..\lepton-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton.csproj" @"..\..\..\..\..\lepton-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton.csproj"
); );
ReplacePackageReferenceWithProjectReference( ReplacePackageReferenceWithProjectReference(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/MyCompanyName.MyProjectName.{projectName}.csproj", $"/MyCompanyName.MyProjectName.{projectName}/MyCompanyName.MyProjectName.{projectName}.csproj",
"Volo.Abp.AspNetCore.Components.Server.LeptonXTheme", "Volo.Abp.AspNetCore.Components.Server.LeptonXTheme",
@"..\..\..\..\..\lepton-theme\src\Volo.Abp.AspNetCore.Components.Server.LeptonTheme\Volo.Abp.AspNetCore.Components.Server.LeptonTheme.csproj" @"..\..\..\..\..\lepton-theme\src\Volo.Abp.AspNetCore.Components.Server.LeptonTheme\Volo.Abp.AspNetCore.Components.Server.LeptonTheme.csproj"
); );
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/MyProjectNameBlazorModule.cs", $"/MyCompanyName.MyProjectName.{projectName}/MyProjectNameBlazorModule.cs",
"Volo.Abp.AspNetCore.Components.Server.LeptonXTheme", "Volo.Abp.AspNetCore.Components.Server.LeptonXTheme",
"Volo.Abp.AspNetCore.Components.Server.LeptonTheme", "Volo.Abp.AspNetCore.Components.Server.LeptonTheme",
"AbpAspNetCoreComponentsServerLeptonXThemeModule", "AbpAspNetCoreComponentsServerLeptonXThemeModule",
@ -727,7 +723,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/MyProjectNameBlazorModule.cs", $"/MyCompanyName.MyProjectName.{projectName}/MyProjectNameBlazorModule.cs",
"Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX",
"Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton",
"AbpAspNetCoreMvcUiLeptonXThemeModule", "AbpAspNetCoreMvcUiLeptonXThemeModule",
@ -736,7 +732,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/MyProjectNameBlazorModule.cs", $"/MyCompanyName.MyProjectName.{projectName}/MyProjectNameBlazorModule.cs",
"Volo.Abp.AspNetCore.Components.Server.LeptonXTheme.Bundling", "Volo.Abp.AspNetCore.Components.Server.LeptonXTheme.Bundling",
"Volo.Abp.AspNetCore.Components.Server.LeptonTheme.Bundling", "Volo.Abp.AspNetCore.Components.Server.LeptonTheme.Bundling",
"LeptonXThemeBundles.Styles.Global", "LeptonXThemeBundles.Styles.Global",
@ -745,7 +741,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/MyProjectNameBlazorModule.cs", $"/MyCompanyName.MyProjectName.{projectName}/MyProjectNameBlazorModule.cs",
"Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX.Bundling", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX.Bundling",
"Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton.Bundling", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton.Bundling",
"BlazorLeptonXThemeBundles.Styles.Global", "BlazorLeptonXThemeBundles.Styles.Global",
@ -754,7 +750,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/Pages/_Host.cshtml", $"/MyCompanyName.MyProjectName.{projectName}/Pages/_Host.cshtml",
"Volo.Abp.AspNetCore.Components.Web.LeptonXTheme.Components", "Volo.Abp.AspNetCore.Components.Web.LeptonXTheme.Components",
"Volo.Abp.AspNetCore.Components.Web.LeptonTheme.Components", "Volo.Abp.AspNetCore.Components.Web.LeptonTheme.Components",
"BlazorLeptonXThemeBundles.Styles.Global", "BlazorLeptonXThemeBundles.Styles.Global",
@ -763,7 +759,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/Pages/_Host.cshtml", $"/MyCompanyName.MyProjectName.{projectName}/Pages/_Host.cshtml",
"Volo.Abp.AspNetCore.Components.Server.LeptonXTheme.Bundling", "Volo.Abp.AspNetCore.Components.Server.LeptonXTheme.Bundling",
"Volo.Abp.AspNetCore.Components.Server.LeptonTheme.Bundling", "Volo.Abp.AspNetCore.Components.Server.LeptonTheme.Bundling",
"BlazorLeptonXThemeBundles.Scripts.Global", "BlazorLeptonXThemeBundles.Scripts.Global",
@ -781,25 +777,25 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
{ {
ReplacePackageReferenceWithProjectReference( ReplacePackageReferenceWithProjectReference(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/MyCompanyName.MyProjectName.{projectName}.csproj", $"/MyCompanyName.MyProjectName.{projectName}/MyCompanyName.MyProjectName.{projectName}.csproj",
"Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX",
@"..\..\..\..\lepton-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton.csproj" @"..\..\..\..\lepton-theme\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton\Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton.csproj"
); );
ReplacePackageReferenceWithProjectReference( ReplacePackageReferenceWithProjectReference(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/MyCompanyName.MyProjectName.{projectName}.csproj", $"/MyCompanyName.MyProjectName.{projectName}/MyCompanyName.MyProjectName.{projectName}.csproj",
"Volo.Abp.AspNetCore.Components.Server.LeptonXTheme", "Volo.Abp.AspNetCore.Components.Server.LeptonXTheme",
@"..\..\..\..\lepton-theme\src\Volo.Abp.AspNetCore.Components.Server.LeptonTheme\Volo.Abp.AspNetCore.Components.Server.LeptonTheme.csproj" @"..\..\..\..\lepton-theme\src\Volo.Abp.AspNetCore.Components.Server.LeptonTheme\Volo.Abp.AspNetCore.Components.Server.LeptonTheme.csproj"
); );
ConfigureLeptonManagementPackagesForNoLayersMvc(context, ConfigureLeptonManagementPackagesForNoLayersMvc(context,
$@"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/MyCompanyName.MyProjectName.{projectName}.csproj", $@"/MyCompanyName.MyProjectName.{projectName}/MyCompanyName.MyProjectName.{projectName}.csproj",
blazorServerProjects); blazorServerProjects);
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/MyProjectNameModule.cs", $"/MyCompanyName.MyProjectName.{projectName}/MyProjectNameModule.cs",
"Volo.Abp.AspNetCore.Components.Server.LeptonXTheme", "Volo.Abp.AspNetCore.Components.Server.LeptonXTheme",
"Volo.Abp.AspNetCore.Components.Server.LeptonTheme", "Volo.Abp.AspNetCore.Components.Server.LeptonTheme",
"AbpAspNetCoreComponentsServerLeptonXThemeModule", "AbpAspNetCoreComponentsServerLeptonXThemeModule",
@ -808,7 +804,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/MyProjectNameModule.cs", $"/MyCompanyName.MyProjectName.{projectName}/MyProjectNameModule.cs",
"Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX",
"Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton",
"AbpAspNetCoreMvcUiLeptonXThemeModule", "AbpAspNetCoreMvcUiLeptonXThemeModule",
@ -817,7 +813,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/MyProjectNameModule.cs", $"/MyCompanyName.MyProjectName.{projectName}/MyProjectNameModule.cs",
"Volo.Abp.AspNetCore.Components.Server.LeptonXTheme.Bundling", "Volo.Abp.AspNetCore.Components.Server.LeptonXTheme.Bundling",
"Volo.Abp.AspNetCore.Components.Server.LeptonTheme.Bundling", "Volo.Abp.AspNetCore.Components.Server.LeptonTheme.Bundling",
"LeptonXThemeBundles.Styles.Global", "LeptonXThemeBundles.Styles.Global",
@ -826,7 +822,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/MyProjectNameModule.cs", $"/MyCompanyName.MyProjectName.{projectName}/MyProjectNameModule.cs",
"Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX.Bundling", "Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonX.Bundling",
"Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton.Bundling", "Volo.Abp.AspNetCore.Mvc.UI.Theme.Lepton.Bundling",
"BlazorLeptonXThemeBundles.Styles.Global", "BlazorLeptonXThemeBundles.Styles.Global",
@ -835,7 +831,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/Pages/_Host.cshtml", $"/MyCompanyName.MyProjectName.{projectName}/Pages/_Host.cshtml",
"Volo.Abp.AspNetCore.Components.Web.LeptonXTheme.Components", "Volo.Abp.AspNetCore.Components.Web.LeptonXTheme.Components",
"Volo.Abp.AspNetCore.Components.Web.LeptonTheme.Components", "Volo.Abp.AspNetCore.Components.Web.LeptonTheme.Components",
"BlazorLeptonXThemeBundles.Styles.Global", "BlazorLeptonXThemeBundles.Styles.Global",
@ -844,7 +840,7 @@ public class ChangeThemeStep : ProjectBuildPipelineStep
ChangeNamespaceAndKeyword( ChangeNamespaceAndKeyword(
context, context,
$"/aspnet-core/src/MyCompanyName.MyProjectName.{projectName}/Pages/_Host.cshtml", $"/MyCompanyName.MyProjectName.{projectName}/Pages/_Host.cshtml",
"Volo.Abp.AspNetCore.Components.Server.LeptonXTheme.Bundling", "Volo.Abp.AspNetCore.Components.Server.LeptonXTheme.Bundling",
"Volo.Abp.AspNetCore.Components.Server.LeptonTheme.Bundling", "Volo.Abp.AspNetCore.Components.Server.LeptonTheme.Bundling",
"BlazorLeptonXThemeBundles.Scripts.Global", "BlazorLeptonXThemeBundles.Scripts.Global",

25
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ChangeThemeStyleStep.cs

@ -1,4 +1,5 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps; namespace Volo.Abp.Cli.ProjectBuilding.Building.Steps;
@ -6,7 +7,7 @@ public class ChangeThemeStyleStep : ProjectBuildPipelineStep
{ {
public override void Execute(ProjectBuildContext context) public override void Execute(ProjectBuildContext context)
{ {
if (!context.BuildArgs.Theme.HasValue || context.BuildArgs.Theme != Theme.LeptonX) if (context.BuildArgs.Theme != Theme.LeptonX)
{ {
return; return;
} }
@ -29,12 +30,20 @@ public class ChangeThemeStyleStep : ProjectBuildPipelineStep
var filePaths = new List<string> var filePaths = new List<string>
{ {
"/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs", "/MyCompanyName.MyProjectName.Web/MyProjectNameWebModule.cs",
"/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs", "/MyCompanyName.MyProjectName.Web.Host/MyProjectNameWebModule.cs",
"/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs", "/MyCompanyName.MyProjectName.HttpApi.Host/MyProjectNameHttpApiHostModule.cs",
"/aspnet-core/src/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs", "/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyProjectNameHttpApiHostModule.cs",
"/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs", "/MyCompanyName.MyProjectName.Blazor/MyProjectNameBlazorModule.cs",
"/aspnet-core/src/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs" "/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameBlazorModule.cs",
"/MyCompanyName.MyProjectName.Blazor.Server/MyProjectNameModule.cs",
"/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyProjectNameModule.cs",
"/MyCompanyName.MyProjectName.Host/MyProjectNameModule.cs",
"/MyCompanyName.MyProjectName.Host.Mongo/MyProjectNameModule.cs",
"/MyCompanyName.MyProjectName.Mvc/MyProjectNameModule.cs",
"/MyCompanyName.MyProjectName.Mvc.Mongo/MyProjectNameModule.cs",
"/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyProjectNameBlazorModule.cs",
"/MyCompanyName.MyProjectName.AuthServer/MyProjectNameAuthServerModule.cs",
}; };
foreach(var filePath in filePaths) foreach(var filePath in filePaths)
@ -45,7 +54,7 @@ public class ChangeThemeStyleStep : ProjectBuildPipelineStep
protected void ChangeThemeStyleName(ProjectBuildContext context, string filePath, string oldThemeStyleName, string newThemeStyleName) protected void ChangeThemeStyleName(ProjectBuildContext context, string filePath, string oldThemeStyleName, string newThemeStyleName)
{ {
var file = context.FindFile(filePath); var file = context.Files.FirstOrDefault(x => x.Name.Contains(filePath));
if (file == null) if (file == null)
{ {
return; return;

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

@ -181,7 +181,7 @@ public abstract class AppTemplateBase : TemplateInfo
protected void ConfigureTheme(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps) protected void ConfigureTheme(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{ {
if (!context.BuildArgs.Theme.HasValue || IsDefaultThemeForTemplate(context.BuildArgs.Theme.Value)) if (!context.BuildArgs.Theme.HasValue)
{ {
return; return;
} }
@ -189,10 +189,15 @@ public abstract class AppTemplateBase : TemplateInfo
if (context.BuildArgs.Theme == Theme.LeptonX) if (context.BuildArgs.Theme == Theme.LeptonX)
{ {
context.Symbols.Add("LEPTONX"); context.Symbols.Add("LEPTONX");
steps.Add(new ChangeThemeStyleStep());
}
if (IsDefaultThemeForTemplate(context.BuildArgs.Theme.Value))
{
return;
} }
steps.Add(new ChangeThemeStep()); steps.Add(new ChangeThemeStep());
steps.Add(new ChangeThemeStyleStep());
RemoveLeptonXThemePackagesFromPackageJsonFiles(steps, isProTemplate: IsPro()); RemoveLeptonXThemePackagesFromPackageJsonFiles(steps, isProTemplate: IsPro());
} }
@ -200,8 +205,8 @@ public abstract class AppTemplateBase : TemplateInfo
{ {
var defaultThemesForTemplates = new[] var defaultThemesForTemplates = new[]
{ {
AppTemplate.DefaultTheme, AppProTemplate.DefaultTheme, AppNoLayersTemplate.DefaultTheme, AppTemplate.DefaultTheme, AppProTemplate.DefaultTheme,
AppNoLayersProTemplate.DefaultTheme, MicroserviceProTemplate.DefaultTheme AppNoLayersTemplate.DefaultTheme, AppNoLayersProTemplate.DefaultTheme
}; };
return defaultThemesForTemplates.Contains(theme); return defaultThemesForTemplates.Contains(theme);
@ -209,7 +214,7 @@ public abstract class AppTemplateBase : TemplateInfo
private static void RemoveLeptonXThemePackagesFromPackageJsonFiles(List<ProjectBuildPipelineStep> steps, bool isProTemplate) private static void RemoveLeptonXThemePackagesFromPackageJsonFiles(List<ProjectBuildPipelineStep> steps, bool isProTemplate)
{ {
var packageJsonFilePaths = new List<string>() var packageJsonFilePaths = new List<string>
{ {
"/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json", "/aspnet-core/src/MyCompanyName.MyProjectName.Web/package.json",
"/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json", "/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/package.json",
@ -218,10 +223,10 @@ public abstract class AppTemplateBase : TemplateInfo
"/aspnet-core/MyCompanyName.MyProjectName.Mvc/package.json", "/aspnet-core/MyCompanyName.MyProjectName.Mvc/package.json",
"/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/package.json", "/aspnet-core/MyCompanyName.MyProjectName.Mvc.Mongo/package.json",
"/aspnet-core/MyCompanyName.MyProjectName.Host/package.json", "/aspnet-core/MyCompanyName.MyProjectName.Host/package.json",
"/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/package.json", "/aspnet-core/MyCompanyName.MyProjectName.Host.Mongo/package.json"
}; };
var blazorServerPackageJsonFilePaths = new List<string>() var blazorServerPackageJsonFilePaths = new List<string>
{ {
"/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/package.json", "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/package.json",
"/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/package.json", "/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/package.json",
@ -229,7 +234,7 @@ public abstract class AppTemplateBase : TemplateInfo
"/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/package.json" "/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/package.json"
}; };
var angularPackageJsonFilePaths = new List<string>() var angularPackageJsonFilePaths = new List<string>
{ {
"/angular/package.json" "/angular/package.json"
}; };

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

@ -24,9 +24,68 @@ public abstract class MicroserviceTemplateBase : TemplateInfo
DeleteUnrelatedProjects(context, steps); DeleteUnrelatedProjects(context, steps);
RandomizeStringEncryption(context, steps); RandomizeStringEncryption(context, steps);
UpdateNuGetConfig(context, steps); UpdateNuGetConfig(context, steps);
ConfigureTheme(context, steps);
return steps; return steps;
} }
protected void ConfigureTheme(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{
if (!context.BuildArgs.Theme.HasValue)
{
return;
}
if (context.BuildArgs.Theme == Theme.LeptonX)
{
context.Symbols.Add("LEPTONX");
steps.Add(new ChangeThemeStyleStep());
return;
}
steps.Add(new ChangeThemeStep());
RemoveLeptonXThemePackagesFromPackageJsonFiles(steps);
}
private static void RemoveLeptonXThemePackagesFromPackageJsonFiles(List<ProjectBuildPipelineStep> steps)
{
var packageJsonFilePaths = new List<string>
{
"/apps/auth-server/src/MyCompanyName.MyProjectName.AuthServer/package.json",
"/apps/web/src/MyCompanyName.MyProjectName.Web/package.json"
};
var blazorServerPackageJsonFilePaths = new List<string>
{
"/apps/blazor/src/MyCompanyName.MyProjectName.Blazor.Server/package.json"
};
var angularPackageJsonFilePaths = new List<string>
{
"/apps/angular/package.json"
};
var mvcUiPackageName = "@volo/abp.aspnetcore.mvc.ui.theme.leptonx";
var blazorServerUiPackageName = "@volo/aspnetcore.components.server.leptonxtheme";
var ngUiPackageName = "@volosoft/abp.ng.theme.lepton-x";
foreach (var packageJsonFilePath in packageJsonFilePaths)
{
steps.Add(new RemoveDependencyFromPackageJsonFileStep(packageJsonFilePath, mvcUiPackageName));
}
foreach (var blazorServerPackageJsonFilePath in blazorServerPackageJsonFilePaths)
{
steps.Add(new RemoveDependencyFromPackageJsonFileStep(blazorServerPackageJsonFilePath, mvcUiPackageName));
steps.Add(new RemoveDependencyFromPackageJsonFileStep(blazorServerPackageJsonFilePath, blazorServerUiPackageName));
}
foreach (var angularPackageJsonFilePath in angularPackageJsonFilePaths)
{
steps.Add(new RemoveDependencyFromPackageJsonFileStep(angularPackageJsonFilePath, ngUiPackageName));
steps.Add(new RemoveDependencyFromPackageJsonFileStep(angularPackageJsonFilePath, "bootstrap-icons"));
}
}
private static void DeleteUnrelatedProjects(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps) private static void DeleteUnrelatedProjects(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps)
{ {

Loading…
Cancel
Save