From 434c0b07e606a3a85dc164eaab39c29722cd12be Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 7 Oct 2022 11:03:15 +0300 Subject: [PATCH 1/2] Cli: Never convert project reference to NuGet reference if the project exist --- .../Building/Steps/ProjectReferenceReplaceStep.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ProjectReferenceReplaceStep.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ProjectReferenceReplaceStep.cs index 9db889d908..af3c37c14f 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ProjectReferenceReplaceStep.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/ProjectReferenceReplaceStep.cs @@ -117,12 +117,13 @@ public class ProjectReferenceReplaceStep : ProjectBuildPipelineStep var oldNodeIncludeValue = oldNode.Attributes["Include"].Value; // ReSharper disable once PossibleNullReferenceException : Can not be null because nodes are selected with include attribute filter in previous method - if (oldNodeIncludeValue.Contains(_projectName)) + if (oldNodeIncludeValue.Contains(_projectName) && _isMicroserviceServiceTemplate) { - if (_isMicroserviceServiceTemplate || _entries.Any(e => e.Name.EndsWith(GetProjectNameWithExtensionFromProjectReference(oldNodeIncludeValue)))) - { - continue; - } + continue; + } + if(_entries.Any(e => e.Name.EndsWith(GetProjectNameWithExtensionFromProjectReference(oldNodeIncludeValue)))) + { + continue; } XmlNode newNode = GetNewReferenceNode(doc, oldNodeIncludeValue); From 46ae3d65f9016f61d509e25d121802e4626cc0fb Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Fri, 7 Oct 2022 11:10:09 +0300 Subject: [PATCH 2/2] Cli: Dsable LeptonX module from add-module command --- .../Volo/Abp/Cli/AbpCliCoreModule.cs | 3 +++ .../Volo/Abp/Cli/AbpCliOptions.cs | 3 +++ .../Volo/Abp/Cli/Commands/AddModuleCommand.cs | 15 ++++++++++++++- 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs index 7aba9ae849..fefa8552b3 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs @@ -66,6 +66,9 @@ public class AbpCliCoreModule : AbpModule options.Commands[InstallLibsCommand.Name] = typeof(InstallLibsCommand); options.Commands[CleanCommand.Name] = typeof(CleanCommand); options.Commands[CliCommand.Name] = typeof(CliCommand); + + options.DisabledModulesToAddToSolution.Add("Volo.Abp.LeptonXTheme.Pro"); + options.DisabledModulesToAddToSolution.Add("Volo.Abp.LeptonXTheme.Lite"); }); Configure(options => diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliOptions.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliOptions.cs index 62a7e59d8e..cf84dd12d4 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliOptions.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliOptions.cs @@ -7,6 +7,8 @@ public class AbpCliOptions { public Dictionary Commands { get; } + public List DisabledModulesToAddToSolution { get; set; } + /// /// Default value: true. /// @@ -20,5 +22,6 @@ public class AbpCliOptions public AbpCliOptions() { Commands = new Dictionary(StringComparer.OrdinalIgnoreCase); + DisabledModulesToAddToSolution = new(); } } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs index df81fe4cb7..5a5589e7c5 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/AddModuleCommand.cs @@ -4,6 +4,7 @@ using System.Text; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using System.Threading.Tasks; +using Microsoft.Extensions.Options; using Volo.Abp.Cli.Args; using Volo.Abp.Cli.ProjectBuilding.Templates.MvcModule; using Volo.Abp.Cli.ProjectModification; @@ -14,6 +15,7 @@ namespace Volo.Abp.Cli.Commands; public class AddModuleCommand : IConsoleCommand, ITransientDependency { + private readonly AbpCliOptions _options; public const string Name = "add-module"; private AddModuleInfoOutput _lastAddedModuleInfo; @@ -33,8 +35,12 @@ public class AddModuleCommand : IConsoleCommand, ITransientDependency } } - public AddModuleCommand(SolutionModuleAdder solutionModuleAdder, SolutionPackageVersionFinder solutionPackageVersionFinder) + public AddModuleCommand( + SolutionModuleAdder solutionModuleAdder, + SolutionPackageVersionFinder solutionPackageVersionFinder, + IOptions options) { + _options = options.Value; SolutionModuleAdder = solutionModuleAdder; SolutionPackageVersionFinder = solutionPackageVersionFinder; Logger = NullLogger.Instance; @@ -50,6 +56,13 @@ public class AddModuleCommand : IConsoleCommand, ITransientDependency GetUsageInfo() ); } + + if (_options.DisabledModulesToAddToSolution.Contains(commandLineArgs.Target)) + { + throw new CliUsageException( + $"{commandLineArgs.Target} Module is not available for this command! You can check the module's documentation for more info." + ); + } var newTemplate = commandLineArgs.Options.ContainsKey(Options.NewTemplate.Long); var template = commandLineArgs.Options.GetOrNull(Options.Template.Short, Options.Template.Long);