Skip to content

Commit

Permalink
(GH-867) NuGet.Core Errors Exit Code 1
Browse files Browse the repository at this point in the history
Sometimes a package action errors in NuGet core when requested, and
choco continues without an error. Instead choco should set the exit
code appropriately for that package.
  • Loading branch information
ferventcoder committed Jul 13, 2016
1 parent 401335b commit 377e82d
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/chocolatey/infrastructure.app/services/NugetService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,7 @@ public ConcurrentDictionary<string, PackageResult> install_run(ChocolateyConfigu
this.Log().Error(ChocolateyLoggers.Important, logMessage);
var errorResult = packageInstalls.GetOrAdd(packageName, new PackageResult(packageName, version.to_string(), null));
errorResult.Messages.Add(new ResultMessage(ResultType.Error, logMessage));
if (errorResult.ExitCode == 0) errorResult.ExitCode = 1;
if (continueAction != null) continueAction.Invoke(errorResult);
}
}
Expand Down Expand Up @@ -744,6 +745,7 @@ public ConcurrentDictionary<string, PackageResult> upgrade_run(ChocolateyConfigu
var logMessage = "{0} not upgraded. An error occurred during installation:{1} {2}".format_with(packageName, Environment.NewLine, ex.Message);
this.Log().Error(ChocolateyLoggers.Important, logMessage);
packageResult.Messages.Add(new ResultMessage(ResultType.Error, logMessage));
if (packageResult.ExitCode == 0) packageResult.ExitCode = 1;
if (continueAction != null) continueAction.Invoke(packageResult);
}
}
Expand Down Expand Up @@ -1176,6 +1178,7 @@ public ConcurrentDictionary<string, PackageResult> uninstall_run(ChocolateyConfi
this.Log().Error(ChocolateyLoggers.Important, logMessage);
var result = packageUninstalls.GetOrAdd(packageVersion.Id.to_lower() + "." + packageVersion.Version.to_string(), new PackageResult(packageVersion, _fileSystem.combine_paths(ApplicationParameters.PackagesLocation, packageVersion.Id)));
result.Messages.Add(new ResultMessage(ResultType.Error, logMessage));
if (result.ExitCode == 0) result.ExitCode = 1;
// do not call continueAction - will result in multiple passes
}
}
Expand Down

0 comments on commit 377e82d

Please sign in to comment.