|
|
|
@ -1,9 +1,11 @@ |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Linq; |
|
|
|
using NuGet.Versioning; |
|
|
|
using Volo.Abp.Cli.Commands; |
|
|
|
using Volo.Abp.Cli.ProjectBuilding.Building; |
|
|
|
using Volo.Abp.Cli.ProjectBuilding.Building.Steps; |
|
|
|
using Volo.Abp.Cli.ProjectBuilding.Templates.Microservice; |
|
|
|
|
|
|
|
namespace Volo.Abp.Cli.ProjectBuilding.Templates.App; |
|
|
|
|
|
|
|
@ -179,19 +181,27 @@ public abstract class AppTemplateBase : TemplateInfo |
|
|
|
|
|
|
|
protected void ConfigureTheme(ProjectBuildContext context, List<ProjectBuildPipelineStep> steps) |
|
|
|
{ |
|
|
|
if (!context.BuildArgs.Theme.HasValue) |
|
|
|
if (!context.BuildArgs.Theme.HasValue || IsDefaultThemeForTemplate(context.BuildArgs.Theme.Value)) |
|
|
|
{ |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
if (context.BuildArgs.Theme is not AppTemplate.DefaultTheme or AppProTemplate.DefaultTheme) |
|
|
|
{ |
|
|
|
steps.Add(new ChangeThemeStep()); |
|
|
|
steps.Add(new ChangeThemeStyleStep()); |
|
|
|
RemoveLeptonXThemePackagesFromPackageJsonFiles(steps, IsPro()); |
|
|
|
} |
|
|
|
|
|
|
|
steps.Add(new ChangeThemeStep()); |
|
|
|
steps.Add(new ChangeThemeStyleStep()); |
|
|
|
RemoveLeptonXThemePackagesFromPackageJsonFiles(steps, isProTemplate: IsPro()); |
|
|
|
} |
|
|
|
|
|
|
|
private static bool IsDefaultThemeForTemplate(Theme theme) |
|
|
|
{ |
|
|
|
var defaultThemesForTemplates = new[] |
|
|
|
{ |
|
|
|
AppTemplate.DefaultTheme, AppProTemplate.DefaultTheme, AppNoLayersTemplate.DefaultTheme, |
|
|
|
AppNoLayersProTemplate.DefaultTheme, MicroserviceProTemplate.DefaultTheme |
|
|
|
}; |
|
|
|
|
|
|
|
return defaultThemesForTemplates.Contains(theme); |
|
|
|
} |
|
|
|
|
|
|
|
private static void RemoveLeptonXThemePackagesFromPackageJsonFiles(List<ProjectBuildPipelineStep> steps, bool isProTemplate) |
|
|
|
{ |
|
|
|
var packageJsonFilePaths = new List<string>() |
|
|
|
|