diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs index 5b00d15c9e..3c6e891d84 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs @@ -15,6 +15,7 @@ using Volo.Abp.Cli.Commands.Services; using Volo.Abp.Cli.LIbs; using Volo.Abp.Cli.ProjectBuilding; using Volo.Abp.Cli.ProjectBuilding.Building; +using Volo.Abp.Cli.ProjectBuilding.Events; using Volo.Abp.Cli.ProjectBuilding.Templates.App; using Volo.Abp.Cli.ProjectModification; using Volo.Abp.Cli.Utils; @@ -133,7 +134,7 @@ public class NewCommand : ProjectCreationCommandBase, IConsoleCommand, ITransien private async Task CheckCreatedRequirements(ProjectBuildArgs projectArgs) { - var errors = new List(); + var requirementWarningMessages = new List(); if (projectArgs.ExtraProperties.ContainsKey("PreRequirements:Redis")) { @@ -151,15 +152,21 @@ public class NewCommand : ProjectCreationCommandBase, IConsoleCommand, ITransien { if (!isConnected) { - errors.Add("\t* Redis is not installed or not running on your computer."); + requirementWarningMessages.Add("\t* Redis is not installed or not running on your computer."); } } } - if (errors.Any()) + if (requirementWarningMessages.Any()) { - Logger.LogWarning("NOTICE: The following tools are required to run your solution."); - foreach (var error in errors) + requirementWarningMessages.AddFirst("NOTICE: The following tools are required to run your solution:"); + + await EventBus.PublishAsync(new ProjectPostRequirementsCheckedEvent + { + Message = requirementWarningMessages.JoinAsString(Environment.NewLine) + }, false); + + foreach (var error in requirementWarningMessages) { Logger.LogWarning(error); } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Events/ProjectPostRequirementsCheckedEvent.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Events/ProjectPostRequirementsCheckedEvent.cs new file mode 100644 index 0000000000..1e20e9a3c9 --- /dev/null +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Events/ProjectPostRequirementsCheckedEvent.cs @@ -0,0 +1,5 @@ +namespace Volo.Abp.Cli.ProjectBuilding.Events; +public class ProjectPostRequirementsCheckedEvent +{ + public string Message { get; set; } +}