Browse Source

Set `Environment.ExitCode` if there is a `CliUsaeException` or external error.

Resovle #20090
pull/20092/head
maliming 2 years ago
parent
commit
dc98548269
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 1
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliService.cs
  2. 10
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/CmdHelper.cs

1
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/CliService.cs

@ -83,6 +83,7 @@ public class CliService : ITransientDependency
catch (CliUsageException usageException) catch (CliUsageException usageException)
{ {
Logger.LogWarning(usageException.Message); Logger.LogWarning(usageException.Message);
Environment.ExitCode = 1;
} }
catch (Exception ex) catch (Exception ex)
{ {

10
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Utils/CmdHelper.cs

@ -12,12 +12,12 @@ public class CmdHelper : ICmdHelper, ITransientDependency
private const int SuccessfulExitCode = 0; private const int SuccessfulExitCode = 0;
protected AbpCliOptions CliOptions { get; } protected AbpCliOptions CliOptions { get; }
public CmdHelper(IOptionsSnapshot<AbpCliOptions> cliOptions) public CmdHelper(IOptionsSnapshot<AbpCliOptions> cliOptions)
{ {
CliOptions = cliOptions.Value; CliOptions = cliOptions.Value;
} }
public void Open(string pathOrUrl) public void Open(string pathOrUrl)
{ {
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
@ -43,7 +43,7 @@ public class CmdHelper : ICmdHelper, ITransientDependency
{ {
HideNewCommandWindow(procStartInfo); HideNewCommandWindow(procStartInfo);
} }
Process.Start(procStartInfo)?.WaitForExit(); Process.Start(procStartInfo)?.WaitForExit();
} }
@ -74,6 +74,7 @@ public class CmdHelper : ICmdHelper, ITransientDependency
process?.WaitForExit(); process?.WaitForExit();
exitCode = process.ExitCode; exitCode = process.ExitCode;
Environment.ExitCode = exitCode;
} }
} }
@ -144,6 +145,7 @@ public class CmdHelper : ICmdHelper, ITransientDependency
process.WaitForExit(); process.WaitForExit();
exitCode = process.ExitCode; exitCode = process.ExitCode;
Environment.ExitCode = exitCode;
} }
return output.Trim(); return output.Trim();
@ -160,7 +162,7 @@ public class CmdHelper : ICmdHelper, ITransientDependency
{ {
procStartInfo.WorkingDirectory = workingDirectory; procStartInfo.WorkingDirectory = workingDirectory;
} }
if (CliOptions.AlwaysHideExternalCommandOutput) if (CliOptions.AlwaysHideExternalCommandOutput)
{ {
HideNewCommandWindow(procStartInfo); HideNewCommandWindow(procStartInfo);

Loading…
Cancel
Save