Skip to content

Commit

Permalink
(chocolatey#1760) config command - use exit code 2
Browse files Browse the repository at this point in the history
If enhanced exit codes are enabled, this sets the config command to
exit with 2 if there is nothing to do (i.e. if NOCHANGEMESSAGE is
output).
  • Loading branch information
TheCakeIsNaOH authored and gep13 committed Apr 23, 2024
1 parent 5008398 commit 810fa65
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -138,12 +138,17 @@ Exit codes that normally result from running this command.
Normal:
- 0: operation was successful, no issues detected
- -1 or 1: an error has occurred
- 2: nothing to do, config already set/unset (enhanced)
NOTE: Starting in v2.3.0, if you have the feature '{0}'
turned on, then choco will provide enhanced exit codes that allow
better integration and scripting.
If you find other exit codes that we have not yet documented, please
file a ticket so we can document it at
https://github.com/chocolatey/choco/issues/new/choose.
");
".FormatWith(ApplicationParameters.Features.UseEnhancedExitCodes));

"chocolatey".Log().Info(ChocolateyLoggers.Important, "See It In Action");
"chocolatey".Log().Info(@"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -492,6 +492,11 @@ public void SetConfig(ChocolateyConfiguration configuration)
if (configuration.ConfigCommand.ConfigValue.IsEqualTo(currentValue.ToStringSafe()))
{
this.Log().Warn(NoChangeMessage);

if (configuration.Features.UseEnhancedExitCodes && Environment.ExitCode == 0)
{
Environment.ExitCode = 2;
}
}
else
{
Expand All @@ -509,6 +514,11 @@ public void UnsetConfig(ChocolateyConfiguration configuration)
if (config == null || string.IsNullOrEmpty(config.Value))
{
this.Log().Warn(NoChangeMessage);

if (configuration.Features.UseEnhancedExitCodes && Environment.ExitCode == 0)
{
Environment.ExitCode = 2;
}
}
else
{
Expand Down

0 comments on commit 810fa65

Please sign in to comment.