From 2162246cb1a4ba631e2293bd4a15b2dff85a7177 Mon Sep 17 00:00:00 2001 From: Yunus Emre Kalkan Date: Mon, 17 Jun 2019 09:41:26 +0300 Subject: [PATCH] refactor --- .../Volo/Abp/Cli/CliService.cs | 31 +------------- .../LatestNpmPackageVersionFinder.cs | 41 ------------------- .../ProjectModification/NpmPackagesUpdater.cs | 8 ++-- .../Volo/Abp/Cli/Utils/CmdHelper.cs | 29 +++++++++++++ 4 files changed, 33 insertions(+), 76 deletions(-) delete mode 100644 framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/LatestNpmPackageVersionFinder.cs diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliService.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliService.cs index 3c2a88094f..707550e11b 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliService.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliService.cs @@ -71,7 +71,7 @@ namespace Volo.Abp.Cli private void CheckDependencies() { - var installedNpmPackages = GetInstalledNpmPackages(); + var installedNpmPackages = CmdHelper.RunCmdAndGetOutput("npm list -g --depth 0"); if (!installedNpmPackages.Contains(" yarn@")) { @@ -83,35 +83,6 @@ namespace Volo.Abp.Cli } } - private string GetInstalledNpmPackages() - { - var output = ""; - - using (var process = new Process()) - { - process.StartInfo = new ProcessStartInfo(CmdHelper.GetFileName()) - { - Arguments = CmdHelper.GetArguments("npm list -g --depth 0"), - UseShellExecute = false, - CreateNoWindow = true, - RedirectStandardOutput = true, - RedirectStandardError = true - }; - process.Start(); - - using (var stdOut = process.StandardOutput) - { - using (var stdErr = process.StandardError) - { - output = stdOut.ReadToEnd(); - output += stdErr.ReadToEnd(); - } - } - } - - return output; - } - private void InstallYarn() { Logger.LogInformation("Installing yarn..."); diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/LatestNpmPackageVersionFinder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/LatestNpmPackageVersionFinder.cs deleted file mode 100644 index 5f7887170a..0000000000 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/LatestNpmPackageVersionFinder.cs +++ /dev/null @@ -1,41 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.Text; -using Volo.Abp.Cli.Utils; -using Volo.Abp.DependencyInjection; - -namespace Volo.Abp.Cli.ProjectModification -{ - public class LatestNpmPackageVersionFinder : ITransientDependency - { - public string Find(string packageName) - { - var output = ""; - - using (var process = new Process()) - { - process.StartInfo = new ProcessStartInfo(CmdHelper.GetFileName()) - { - Arguments = CmdHelper.GetArguments($"npm show {packageName} version"), - UseShellExecute = false, - CreateNoWindow = true, - RedirectStandardOutput = true, - RedirectStandardError = true - }; - process.Start(); - - using (var stdOut = process.StandardOutput) - { - using (var stdErr = process.StandardError) - { - output = stdOut.ReadToEnd(); - output += stdErr.ReadToEnd(); - } - } - } - - return output.Trim(); - } - } -} diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs index ecab9c2c94..a4769d027b 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectModification/NpmPackagesUpdater.cs @@ -8,7 +8,6 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Newtonsoft.Json; using Newtonsoft.Json.Linq; -using Volo.Abp.Cli.Commands; using Volo.Abp.Cli.Utils; using Volo.Abp.DependencyInjection; @@ -18,14 +17,12 @@ namespace Volo.Abp.Cli.ProjectModification { public ILogger Logger { get; set; } - private readonly LatestNpmPackageVersionFinder _latestNpmPackageVersionFinder; private readonly PackageJsonFileFinder _packageJsonFileFinder; private readonly Dictionary _fileVersionStorage = new Dictionary(); - public NpmPackagesUpdater(LatestNpmPackageVersionFinder latestNpmPackageVersionFinder, PackageJsonFileFinder packageJsonFileFinder) + public NpmPackagesUpdater(PackageJsonFileFinder packageJsonFileFinder) { - _latestNpmPackageVersionFinder = latestNpmPackageVersionFinder; _packageJsonFileFinder = packageJsonFileFinder; Logger = NullLogger.Instance; @@ -87,7 +84,8 @@ namespace Volo.Abp.Cli.ProjectModification return _fileVersionStorage[package.Name]; } - var version = _latestNpmPackageVersionFinder.Find(package.Name); + var version = CmdHelper.RunCmdAndGetOutput($"npm show {package.Name} version"); + _fileVersionStorage[package.Name] = version; return version; 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 index c9225b62f0..2e7a0da442 100644 --- 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 @@ -17,6 +17,35 @@ namespace Volo.Abp.Cli.Utils Process.Start(procStartInfo).WaitForExit(); } + public static string RunCmdAndGetOutput(string command) + { + var output = ""; + + using (var process = new Process()) + { + process.StartInfo = new ProcessStartInfo(CmdHelper.GetFileName()) + { + Arguments = CmdHelper.GetArguments(command), + UseShellExecute = false, + CreateNoWindow = true, + RedirectStandardOutput = true, + RedirectStandardError = true + }; + process.Start(); + + using (var stdOut = process.StandardOutput) + { + using (var stdErr = process.StandardError) + { + output = stdOut.ReadToEnd(); + output += stdErr.ReadToEnd(); + } + } + } + + return output.Trim(); + } + public static string GetArguments(string command) { if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) || RuntimeInformation.IsOSPlatform(OSPlatform.Linux))