diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs index a30b16ee41..fa0cc26d11 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/ProjectCreationCommandBase.cs @@ -103,18 +103,6 @@ public abstract class ProjectCreationCommandBase Logger.LogInformation("UI Framework: " + uiFramework); } - var theme = uiFramework == UiFramework.None ? (Theme?)null : GetThemeByTemplateOrNull(commandLineArgs, template); - if (theme.HasValue) - { - Logger.LogInformation("Theme: " + theme); - } - - var themeStyle = theme.HasValue ? GetThemeStyleOrNull(commandLineArgs, theme.Value) : (ThemeStyle?)null; - if(themeStyle.HasValue) - { - Logger.LogInformation("Theme Style: " + themeStyle); - } - var publicWebSite = uiFramework != UiFramework.None && commandLineArgs.Options.ContainsKey(Options.PublicWebSite.Long); if (publicWebSite) { @@ -210,6 +198,9 @@ public abstract class ProjectCreationCommandBase } commandLineArgs.Options.Add(CliConsts.Command, commandLineArgs.Command); + + var theme = uiFramework == UiFramework.None ? (Theme?)null : GetThemeByTemplateOrNull(commandLineArgs, template); + var themeStyle = theme.HasValue ? GetThemeStyleOrNull(commandLineArgs, theme.Value) : (ThemeStyle?)null; return new ProjectBuildArgs( solutionName, diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateProjectBuilder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateProjectBuilder.cs index 126e9bdbf9..33c2237773 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateProjectBuilder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateProjectBuilder.cs @@ -71,6 +71,8 @@ public class TemplateProjectBuilder : IProjectBuilder, ITransientDependency args.ExtraProperties.ContainsKey(NewCommand.Options.Preview.Long) ); + ConfigureThemeOptions(args, templateFile.Version); + DeveloperApiKeyResult apiKeyResult = null; #if DEBUG @@ -207,4 +209,37 @@ public class TemplateProjectBuilder : IProjectBuilder, ITransientDependency return TemplateInfoProvider.Get(args.TemplateName); } } + + private bool IsThemeOptionEnabled(ProjectBuildArgs args, string templateVersion) + { + var version = string.IsNullOrWhiteSpace(args.Version) + ? templateVersion + : args.Version; + + if (!SemanticVersion.TryParse(version, out var semanticVersion)) + { + return false; + } + + return semanticVersion >= SemanticVersion.Parse("6.0.0-rc.1"); + } + + private void ConfigureThemeOptions(ProjectBuildArgs args, string templateVersion) + { + if (!IsThemeOptionEnabled(args, templateVersion)) + { + args.Theme = null; + args.ThemeStyle = null; + } + + if (args.Theme.HasValue) + { + Logger.LogInformation("Theme: " + args.Theme); + } + + if(args.ThemeStyle.HasValue) + { + Logger.LogInformation("Theme Style: " + args.ThemeStyle); + } + } }