@joebigelow / wix / commits / e8709120

Improve CacheId collision error messages.

Sean Hall committed Apr 19, 2021 at 23:29 UTC e87091209c6155c0d326c29bafe8a35356d8031a
2 files changed +6 -6
src/WixToolset.Core.Burn/Bind/BindBundleCommand.cs
+2 -2
@@ -594,8 +594,8 @@ namespace WixToolset.Core.Burn
594 {
595 if (duplicateCacheIdDetector.TryGetValue(facade.PackageSymbol.CacheId, out var collisionPackage))
596 {
597 - this.Messaging.Write(BurnBackendErrors.DuplicateCacheIds(collisionPackage.SourceLineNumbers, facade.PackageSymbol.CacheId));
598 - this.Messaging.Write(BurnBackendErrors.DuplicateCacheIds2(facade.PackageSymbol.SourceLineNumbers, facade.PackageSymbol.CacheId));
597 + this.Messaging.Write(BurnBackendErrors.DuplicateCacheIds(facade.PackageSymbol.SourceLineNumbers, facade.PackageSymbol.CacheId, facade.PackageId));
598 + this.Messaging.Write(BurnBackendErrors.DuplicateCacheIds2(collisionPackage.SourceLineNumbers));
599 }
600 else
601 {
src/WixToolset.Core.Burn/BurnBackendErrors.cs
+4 -4
@@ -6,14 +6,14 @@ namespace WixToolset.Core.Burn
6
7 internal static class BurnBackendErrors
8 {
9 - public static Message DuplicateCacheIds(SourceLineNumber originalLineNumber, string cacheId)
9 + public static Message DuplicateCacheIds(SourceLineNumber originalLineNumber, string cacheId, string packageId)
10 {
11 - return Message(originalLineNumber, Ids.DuplicateCacheIds, "The cache id '{0}' has been duplicated as indicated in the following message.", cacheId);
11 + return Message(originalLineNumber, Ids.DuplicateCacheIds, "The CacheId '{0}' for package '{1}' is duplicated. Each package must have a unique CacheId.", cacheId, packageId);
12 }
13
14 - public static Message DuplicateCacheIds2(SourceLineNumber duplicateLineNumber, string cacheId)
14 + public static Message DuplicateCacheIds2(SourceLineNumber duplicateLineNumber)
15 {
16 - return Message(duplicateLineNumber, Ids.DuplicateCacheIds2, "Each cache id must be unique. '{0}' has been used before as indicated in the previous message.", cacheId);
16 + return Message(duplicateLineNumber, Ids.DuplicateCacheIds2, "The location of the package related to the previous error.");
17 }
18
19 private static Message Message(SourceLineNumber sourceLineNumber, Ids id, string format, params object[] args)