From 91c9a049fb1b55f6c134d3cab7b6e6b421e33e15 Mon Sep 17 00:00:00 2001 From: Engincan VESKE Date: Thu, 4 Aug 2022 16:50:30 +0300 Subject: [PATCH 1/2] CLI: Don't allow theme selection for lower versions --- .../Commands/ProjectCreationCommandBase.cs | 15 ++------ .../ProjectBuilding/TemplateProjectBuilder.cs | 35 +++++++++++++++++++ 2 files changed, 38 insertions(+), 12 deletions(-) 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..ecee09622a 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 >= new SemanticVersion(6, 0, 0); + } + + 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); + } + } } From b928ed0a4c8c33c9277890dc4724ae3f4a99c28f Mon Sep 17 00:00:00 2001 From: Engincan VESKE Date: Thu, 4 Aug 2022 17:00:33 +0300 Subject: [PATCH 2/2] Update TemplateProjectBuilder.cs --- .../Volo/Abp/Cli/ProjectBuilding/TemplateProjectBuilder.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 ecee09622a..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 @@ -221,7 +221,7 @@ public class TemplateProjectBuilder : IProjectBuilder, ITransientDependency return false; } - return semanticVersion >= new SemanticVersion(6, 0, 0); + return semanticVersion >= SemanticVersion.Parse("6.0.0-rc.1"); } private void ConfigureThemeOptions(ProjectBuildArgs args, string templateVersion)