From 5fea28a1aa6ea6e01db0c4242b1d9f14ee199d91 Mon Sep 17 00:00:00 2001 From: Halil ibrahim Kalkan Date: Sun, 12 May 2019 21:25:57 +0300 Subject: [PATCH] Refactored CLI command running. --- .../ProjectNpmPackageAdder.cs | 14 ++++++-------- .../ProjectNugetPackageAdder.cs | 5 ++--- .../Volo/Abp/Cli/Utils/CmdHelper.cs | 19 +++++++++++++++++++ framework/src/Volo.Abp.Core/Volo/Abp/Check.cs | 2 +- 4 files changed, 28 insertions(+), 12 deletions(-) create mode 100644 framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/CmdHelper.cs diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNpmPackageAdder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNpmPackageAdder.cs index cc77ab2554..63e0eb0393 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNpmPackageAdder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNpmPackageAdder.cs @@ -1,8 +1,8 @@ -using System.Diagnostics; -using System.IO; +using System.IO; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; +using Volo.Abp.Cli.Utils; using Volo.Abp.DependencyInjection; using Volo.Abp.IO; @@ -29,13 +29,11 @@ namespace Volo.Abp.Cli.ProjectModification using (DirectoryHelper.ChangeCurrentDirectory(directory)) { - Logger.LogInformation("yarn add " + npmPackage.Name + "... " + Directory.GetCurrentDirectory()); - var procStartInfo = new ProcessStartInfo("cmd.exe", "/C yarn add " + npmPackage.Name); - Process.Start(procStartInfo).WaitForExit(); + Logger.LogInformation("yarn add " + npmPackage.Name); + CmdHelper.RunCmd("yarn add " + npmPackage.Name); - Logger.LogInformation("gulp... " + Directory.GetCurrentDirectory()); - procStartInfo = new ProcessStartInfo("cmd.exe", "/C gulp"); - Process.Start(procStartInfo).WaitForExit(); + Logger.LogInformation("gulp"); + CmdHelper.RunCmd("gulp"); } return Task.CompletedTask; diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNugetPackageAdder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNugetPackageAdder.cs index 56cf89ca1c..a822bb0dba 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNugetPackageAdder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/ProjectNugetPackageAdder.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Diagnostics; using System.IO; using System.Linq; using System.Net; @@ -8,6 +7,7 @@ using System.Net.Http; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; +using Volo.Abp.Cli.Utils; using Volo.Abp.DependencyInjection; using Volo.Abp.IO; using Volo.Abp.Json; @@ -50,8 +50,7 @@ namespace Volo.Abp.Cli.ProjectModification { Logger.LogInformation($"Installing '{package.Name}' package to the project '{Path.GetFileNameWithoutExtension(projectFile)}'..."); - var procStartInfo = new ProcessStartInfo("dotnet", "add package " + package.Name); - Process.Start(procStartInfo).WaitForExit(); + CmdHelper.Run("dotnet", "add package " + package.Name); var moduleFiles = ModuleClassFinder.Find(projectFile); if (moduleFiles.Count == 0) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/CmdHelper.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/CmdHelper.cs new file mode 100644 index 0000000000..01a0f00af0 --- /dev/null +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/CmdHelper.cs @@ -0,0 +1,19 @@ +using System.Diagnostics; + +namespace Volo.Abp.Cli.Utils +{ + public static class CmdHelper + { + public static void Run(string file, string arguments) + { + var procStartInfo = new ProcessStartInfo(file, arguments); + Process.Start(procStartInfo).WaitForExit(); + } + + public static void RunCmd(string command) + { + var procStartInfo = new ProcessStartInfo("cmd.exe", "/C " + command); + Process.Start(procStartInfo).WaitForExit(); + } + } +} diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Check.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Check.cs index 6d314d0685..f942f44b0f 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Check.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Check.cs @@ -122,7 +122,7 @@ namespace Volo.Abp } public static string Length( - string value, + [CanBeNull] string value, [InvokerParameterName] [NotNull] string parameterName, int maxLength, int minLength = 0)