From f3a606b141382641001ad7481fa6547f12a620c4 Mon Sep 17 00:00:00 2001 From: Berkan Sasmaz Date: Mon, 22 Nov 2021 14:19:37 +0300 Subject: [PATCH 1/2] Microservice template: `/graphBuild` after new service creation --- .../Volo/Abp/Cli/Commands/NewCommand.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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 d347e84418..5fb9edde1c 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 @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; @@ -12,6 +13,7 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Volo.Abp.Cli.Args; using Volo.Abp.Cli.Auth; +using Volo.Abp.Cli.Build; using Volo.Abp.Cli.Commands.Services; using Volo.Abp.Cli.Http; using Volo.Abp.Cli.ProjectBuilding; @@ -29,6 +31,7 @@ namespace Volo.Abp.Cli.Commands public class NewCommand : ProjectCreationCommandBase, IConsoleCommand, ITransientDependency { public ILogger Logger { get; set; } + public IDotNetProjectBuilder DotNetProjectBuilder { get; set; } protected TemplateProjectBuilder TemplateProjectBuilder { get; } public ITemplateInfoProvider TemplateInfoProvider { get; } @@ -83,6 +86,16 @@ namespace Volo.Abp.Cli.Commands ExtractProjectZip(result, projectArgs.OutputFolder); Logger.LogInformation($"'{projectName}' has been successfully created to '{projectArgs.OutputFolder}'"); + + if (MicroserviceServiceTemplateBase.IsMicroserviceServiceTemplate(template)) + { + var projects = new List + { + new DotNetProjectInfo(string.Empty, projectArgs.OutputFolder, true) + }; + + DotNetProjectBuilder.BuildProjects(projects, "/graphBuild"); + } OpenRelatedWebPage(projectArgs, template, isTiered, commandLineArgs); } From 127d85756c0c42bafc3f9b1ac0cc59aa2da90a1b Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Mon, 29 Nov 2021 10:17:47 +0300 Subject: [PATCH 2/2] Refactor --- .../Volo/Abp/Cli/Commands/NewCommand.cs | 24 +------------------ .../Commands/ProjectCreationCommandBase.cs | 8 +++++++ 2 files changed, 9 insertions(+), 23 deletions(-) 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 5fb9edde1c..0e17683eee 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 @@ -5,33 +5,20 @@ using System.IO; using System.Linq; using System.Runtime.InteropServices; using System.Text; -using System.Text.Json; using System.Threading.Tasks; -using ICSharpCode.SharpZipLib.Core; -using ICSharpCode.SharpZipLib.Zip; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Volo.Abp.Cli.Args; -using Volo.Abp.Cli.Auth; -using Volo.Abp.Cli.Build; using Volo.Abp.Cli.Commands.Services; -using Volo.Abp.Cli.Http; using Volo.Abp.Cli.ProjectBuilding; -using Volo.Abp.Cli.ProjectBuilding.Building; -using Volo.Abp.Cli.ProjectBuilding.Templates.App; -using Volo.Abp.Cli.ProjectBuilding.Templates.Console; -using Volo.Abp.Cli.ProjectBuilding.Templates.Microservice; -using Volo.Abp.Cli.ProjectModification; using Volo.Abp.Cli.Utils; using Volo.Abp.DependencyInjection; -using Volo.Abp.Threading; namespace Volo.Abp.Cli.Commands { public class NewCommand : ProjectCreationCommandBase, IConsoleCommand, ITransientDependency { public ILogger Logger { get; set; } - public IDotNetProjectBuilder DotNetProjectBuilder { get; set; } protected TemplateProjectBuilder TemplateProjectBuilder { get; } public ITemplateInfoProvider TemplateInfoProvider { get; } @@ -86,17 +73,8 @@ namespace Volo.Abp.Cli.Commands ExtractProjectZip(result, projectArgs.OutputFolder); Logger.LogInformation($"'{projectName}' has been successfully created to '{projectArgs.OutputFolder}'"); - - if (MicroserviceServiceTemplateBase.IsMicroserviceServiceTemplate(template)) - { - var projects = new List - { - new DotNetProjectInfo(string.Empty, projectArgs.OutputFolder, true) - }; - - DotNetProjectBuilder.BuildProjects(projects, "/graphBuild"); - } + RunGraphBuildForMicroserviceServiceTemplate(projectArgs); OpenRelatedWebPage(projectArgs, template, isTiered, commandLineArgs); } 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 6aa528a7b7..fa13e077df 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 @@ -296,6 +296,14 @@ namespace Volo.Abp.Cli.Commands } } + protected virtual void RunGraphBuildForMicroserviceServiceTemplate(ProjectBuildArgs projectArgs) + { + if (MicroserviceServiceTemplateBase.IsMicroserviceServiceTemplate(projectArgs.TemplateName)) + { + CmdHelper.RunCmd("dotnet build /graphbuild", projectArgs.OutputFolder); + } + } + protected virtual DatabaseManagementSystem GetDatabaseManagementSystem(CommandLineArgs commandLineArgs) { var optionValue = commandLineArgs.Options.GetOrNull(Options.DatabaseManagementSystem.Short, Options.DatabaseManagementSystem.Long);