Skip to content

Commit 4a8c9a2

Browse files
committed
(#3811) Centralize pinned-package message logic
Refactor handling of pinned packages by extracting a single helper GetPinnedMessage and using it upgrade, outdated, and other flows. Adjust logging and result message order so that: - a consolidated message is built once and augmented depending on IgnorePinned setting. - Warn and Inconclusive ResultMessages are added consistently. - RegularOutput logging is preserved. - Control flow continues only when pinned packages are skipped. - Allows overridden services to provide their own pinned message. This reduces duplicated string formatting, clarifies when pinned packages are skipped vs upgraded.
1 parent 97bc0d4 commit 4a8c9a2

File tree

1 file changed

+25
-20
lines changed

1 file changed

+25
-20
lines changed

src/chocolatey/infrastructure.app/services/NugetService.cs

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1388,30 +1388,30 @@ public virtual ConcurrentDictionary<string, PackageResult> Upgrade(ChocolateyCon
13881388

13891389
if (isPinned)
13901390
{
1391-
if (!config.UpgradeCommand.IgnorePinned)
1392-
{
1393-
var logMessage = "{0} is pinned. Skipping pinned package.".FormatWith(packageName);
1394-
packageResult.Messages.Add(new ResultMessage(ResultType.Warn, logMessage));
1395-
packageResult.Messages.Add(new ResultMessage(ResultType.Inconclusive, logMessage));
1396-
1397-
if (config.RegularOutput)
1398-
{
1399-
this.Log().Warn(ChocolateyLoggers.Important, logMessage);
1400-
}
1391+
var logMessage = GetPinnedPackageMessage(config, installedPackage);
14011392

1402-
continue;
1393+
if (config.UpgradeCommand.IgnorePinned)
1394+
{
1395+
logMessage += " Upgrading pinned package anyway as ignore pin is specified.";
1396+
config.PinPackage = true;
14031397
}
14041398
else
14051399
{
1406-
var logMessage = "{0} is pinned. Upgrading pinned package anyway as ignore pin is specified".FormatWith(packageName);
1407-
packageResult.Messages.Add(new ResultMessage(ResultType.Warn, logMessage));
1400+
logMessage += " Skipping pinned package.";
1401+
}
14081402

1409-
if (config.RegularOutput)
1410-
{
1411-
this.Log().Warn(ChocolateyLoggers.Important, logMessage);
1412-
}
1403+
packageResult.Messages.Add(new ResultMessage(ResultType.Warn, logMessage));
14131404

1414-
config.PinPackage = true;
1405+
if (config.RegularOutput)
1406+
{
1407+
this.Log().Warn(ChocolateyLoggers.Important, logMessage);
1408+
}
1409+
1410+
if (!config.UpgradeCommand.IgnorePinned)
1411+
{
1412+
packageResult.Messages.Add(new ResultMessage(ResultType.Inconclusive, logMessage));
1413+
1414+
continue;
14151415
}
14161416
}
14171417

@@ -1940,7 +1940,7 @@ public virtual ConcurrentDictionary<string, PackageResult> GetOutdated(Chocolate
19401940
// move on quickly
19411941
if (isPinned && config.OutdatedCommand.IgnorePinned)
19421942
{
1943-
var pinnedLogMessage = "{0} is pinned. Skipping pinned package.".FormatWith(packageName);
1943+
var pinnedLogMessage = GetPinnedPackageMessage(config, installedPackage) + " Skipping pinned package.";
19441944
var pinnedPackageResult = outdatedPackages.GetOrAdd(packageName, new PackageResult(installedPackage.PackageMetadata, pathResolver.GetInstallPath(installedPackage.PackageMetadata.Id)));
19451945
pinnedPackageResult.Messages.Add(new ResultMessage(ResultType.Debug, pinnedLogMessage));
19461946
pinnedPackageResult.Messages.Add(new ResultMessage(ResultType.Inconclusive, pinnedLogMessage));
@@ -2668,7 +2668,7 @@ public virtual ConcurrentDictionary<string, PackageResult> Uninstall(ChocolateyC
26682668
var pkgInfo = _packageInfoService.Get(installedPackage.PackageMetadata);
26692669
if (pkgInfo != null && pkgInfo.IsPinned)
26702670
{
2671-
var logMessage = "{0} is pinned. Skipping pinned package.".FormatWith(installedPackage.Name);
2671+
var logMessage = GetPinnedPackageMessage(config, installedPackage) + " Skipping pinned package.";
26722672
var pinnedResult = packageResultsToReturn.GetOrAdd(installedPackage.Name, new PackageResult(installedPackage.Name, null, null));
26732673
pinnedResult.Messages.Add(new ResultMessage(ResultType.Warn, logMessage));
26742674
pinnedResult.Messages.Add(new ResultMessage(ResultType.Inconclusive, logMessage));
@@ -3145,6 +3145,11 @@ public IEnumerable<PackageResult> GetInstalledPackages(ChocolateyConfiguration c
31453145
return installedPackages;
31463146
}
31473147

3148+
protected virtual string GetPinnedPackageMessage(ChocolateyConfiguration config, PackageResult package)
3149+
{
3150+
return "{0} is pinned.".FormatWith(package.Identity.Id);
3151+
}
3152+
31483153
private IEnumerable<PackageResult> SetLocalPackageNamesIfAllSpecified(ChocolateyConfiguration config, Action customAction)
31493154
{
31503155
var allPackages = GetInstalledPackages(config);

0 commit comments

Comments
 (0)