diff options
Diffstat (limited to 'src/WixToolset.Core.Burn/Bind/ProcessDependencyProvidersCommand.cs')
| -rw-r--r-- | src/WixToolset.Core.Burn/Bind/ProcessDependencyProvidersCommand.cs | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/src/WixToolset.Core.Burn/Bind/ProcessDependencyProvidersCommand.cs b/src/WixToolset.Core.Burn/Bind/ProcessDependencyProvidersCommand.cs index e228b296..29815203 100644 --- a/src/WixToolset.Core.Burn/Bind/ProcessDependencyProvidersCommand.cs +++ b/src/WixToolset.Core.Burn/Bind/ProcessDependencyProvidersCommand.cs | |||
| @@ -8,7 +8,7 @@ namespace WixToolset.Core.Burn.Bind | |||
| 8 | using WixToolset.Data; | 8 | using WixToolset.Data; |
| 9 | using WixToolset.Core.Burn.Bundles; | 9 | using WixToolset.Core.Burn.Bundles; |
| 10 | using WixToolset.Extensibility.Services; | 10 | using WixToolset.Extensibility.Services; |
| 11 | using WixToolset.Data.Tuples; | 11 | using WixToolset.Data.Symbols; |
| 12 | 12 | ||
| 13 | internal class ProcessDependencyProvidersCommand | 13 | internal class ProcessDependencyProvidersCommand |
| 14 | { | 14 | { |
| @@ -22,7 +22,7 @@ namespace WixToolset.Core.Burn.Bind | |||
| 22 | 22 | ||
| 23 | public string BundleProviderKey { get; private set; } | 23 | public string BundleProviderKey { get; private set; } |
| 24 | 24 | ||
| 25 | public Dictionary<string, ProvidesDependencyTuple> DependencyTuplesByKey { get; private set; } | 25 | public Dictionary<string, ProvidesDependencySymbol> DependencySymbolsByKey { get; private set; } |
| 26 | 26 | ||
| 27 | private IMessaging Messaging { get; } | 27 | private IMessaging Messaging { get; } |
| 28 | 28 | ||
| @@ -38,42 +38,42 @@ namespace WixToolset.Core.Burn.Bind | |||
| 38 | /// </summary> | 38 | /// </summary> |
| 39 | public void Execute() | 39 | public void Execute() |
| 40 | { | 40 | { |
| 41 | var wixDependencyProviderTuples = this.Section.Tuples.OfType<WixDependencyProviderTuple>(); | 41 | var wixDependencyProviderSymbols = this.Section.Symbols.OfType<WixDependencyProviderSymbol>(); |
| 42 | 42 | ||
| 43 | foreach (var wixDependencyProviderTuple in wixDependencyProviderTuples) | 43 | foreach (var wixDependencyProviderSymbol in wixDependencyProviderSymbols) |
| 44 | { | 44 | { |
| 45 | // Sets the provider key for the bundle, if it is not set already. | 45 | // Sets the provider key for the bundle, if it is not set already. |
| 46 | if (String.IsNullOrEmpty(this.BundleProviderKey)) | 46 | if (String.IsNullOrEmpty(this.BundleProviderKey)) |
| 47 | { | 47 | { |
| 48 | if (wixDependencyProviderTuple.Bundle) | 48 | if (wixDependencyProviderSymbol.Bundle) |
| 49 | { | 49 | { |
| 50 | this.BundleProviderKey = wixDependencyProviderTuple.ProviderKey; | 50 | this.BundleProviderKey = wixDependencyProviderSymbol.ProviderKey; |
| 51 | } | 51 | } |
| 52 | } | 52 | } |
| 53 | 53 | ||
| 54 | // Import any authored dependencies. These may merge with imported provides from MSI packages. | 54 | // Import any authored dependencies. These may merge with imported provides from MSI packages. |
| 55 | var packageId = wixDependencyProviderTuple.Id.Id; | 55 | var packageId = wixDependencyProviderSymbol.Id.Id; |
| 56 | 56 | ||
| 57 | if (this.Facades.TryGetValue(packageId, out var facade)) | 57 | if (this.Facades.TryGetValue(packageId, out var facade)) |
| 58 | { | 58 | { |
| 59 | var dependency = this.Section.AddTuple(new ProvidesDependencyTuple(wixDependencyProviderTuple.SourceLineNumbers, wixDependencyProviderTuple.Id) | 59 | var dependency = this.Section.AddSymbol(new ProvidesDependencySymbol(wixDependencyProviderSymbol.SourceLineNumbers, wixDependencyProviderSymbol.Id) |
| 60 | { | 60 | { |
| 61 | PackageRef = packageId, | 61 | PackageRef = packageId, |
| 62 | Key = wixDependencyProviderTuple.ProviderKey, | 62 | Key = wixDependencyProviderSymbol.ProviderKey, |
| 63 | Version = wixDependencyProviderTuple.Version, | 63 | Version = wixDependencyProviderSymbol.Version, |
| 64 | DisplayName = wixDependencyProviderTuple.DisplayName, | 64 | DisplayName = wixDependencyProviderSymbol.DisplayName, |
| 65 | Attributes = (int)wixDependencyProviderTuple.Attributes | 65 | Attributes = (int)wixDependencyProviderSymbol.Attributes |
| 66 | }); | 66 | }); |
| 67 | 67 | ||
| 68 | if (String.IsNullOrEmpty(dependency.Key)) | 68 | if (String.IsNullOrEmpty(dependency.Key)) |
| 69 | { | 69 | { |
| 70 | switch (facade.SpecificPackageTuple) | 70 | switch (facade.SpecificPackageSymbol) |
| 71 | { | 71 | { |
| 72 | // The WixDependencyExtension allows an empty Key for MSIs and MSPs. | 72 | // The WixDependencyExtension allows an empty Key for MSIs and MSPs. |
| 73 | case WixBundleMsiPackageTuple msiPackage: | 73 | case WixBundleMsiPackageSymbol msiPackage: |
| 74 | dependency.Key = msiPackage.ProductCode; | 74 | dependency.Key = msiPackage.ProductCode; |
| 75 | break; | 75 | break; |
| 76 | case WixBundleMspPackageTuple mspPackage: | 76 | case WixBundleMspPackageSymbol mspPackage: |
| 77 | dependency.Key = mspPackage.PatchCode; | 77 | dependency.Key = mspPackage.PatchCode; |
| 78 | break; | 78 | break; |
| 79 | } | 79 | } |
| @@ -81,7 +81,7 @@ namespace WixToolset.Core.Burn.Bind | |||
| 81 | 81 | ||
| 82 | if (String.IsNullOrEmpty(dependency.Version)) | 82 | if (String.IsNullOrEmpty(dependency.Version)) |
| 83 | { | 83 | { |
| 84 | dependency.Version = facade.PackageTuple.Version; | 84 | dependency.Version = facade.PackageSymbol.Version; |
| 85 | } | 85 | } |
| 86 | 86 | ||
| 87 | // If the version is still missing, a version could not be harvested from the package and was not authored. | 87 | // If the version is still missing, a version could not be harvested from the package and was not authored. |
| @@ -92,55 +92,55 @@ namespace WixToolset.Core.Burn.Bind | |||
| 92 | 92 | ||
| 93 | if (String.IsNullOrEmpty(dependency.DisplayName)) | 93 | if (String.IsNullOrEmpty(dependency.DisplayName)) |
| 94 | { | 94 | { |
| 95 | dependency.DisplayName = facade.PackageTuple.DisplayName; | 95 | dependency.DisplayName = facade.PackageSymbol.DisplayName; |
| 96 | } | 96 | } |
| 97 | } | 97 | } |
| 98 | } | 98 | } |
| 99 | 99 | ||
| 100 | this.DependencyTuplesByKey = this.GetDependencyTuplesByKey(); | 100 | this.DependencySymbolsByKey = this.GetDependencySymbolsByKey(); |
| 101 | 101 | ||
| 102 | // Generate providers for MSI and MSP packages that still do not have providers. | 102 | // Generate providers for MSI and MSP packages that still do not have providers. |
| 103 | foreach (var facade in this.Facades.Values) | 103 | foreach (var facade in this.Facades.Values) |
| 104 | { | 104 | { |
| 105 | string key = null; | 105 | string key = null; |
| 106 | 106 | ||
| 107 | //if (WixBundlePackageType.Msi == facade.PackageTuple.Type) | 107 | //if (WixBundlePackageType.Msi == facade.PackageSymbol.Type) |
| 108 | if (facade.SpecificPackageTuple is WixBundleMsiPackageTuple msiPackage) | 108 | if (facade.SpecificPackageSymbol is WixBundleMsiPackageSymbol msiPackage) |
| 109 | { | 109 | { |
| 110 | //var msiPackage = (WixBundleMsiPackageTuple)facade.SpecificPackageTuple; | 110 | //var msiPackage = (WixBundleMsiPackageSymbol)facade.SpecificPackageSymbol; |
| 111 | key = msiPackage.ProductCode; | 111 | key = msiPackage.ProductCode; |
| 112 | } | 112 | } |
| 113 | //else if (WixBundlePackageType.Msp == facade.PackageTuple.Type) | 113 | //else if (WixBundlePackageType.Msp == facade.PackageSymbol.Type) |
| 114 | else if (facade.SpecificPackageTuple is WixBundleMspPackageTuple mspPackage) | 114 | else if (facade.SpecificPackageSymbol is WixBundleMspPackageSymbol mspPackage) |
| 115 | { | 115 | { |
| 116 | //var mspPackage = (WixBundleMspPackageTuple)facade.SpecificPackageTuple; | 116 | //var mspPackage = (WixBundleMspPackageSymbol)facade.SpecificPackageSymbol; |
| 117 | key = mspPackage.PatchCode; | 117 | key = mspPackage.PatchCode; |
| 118 | } | 118 | } |
| 119 | 119 | ||
| 120 | if (!String.IsNullOrEmpty(key) && !this.DependencyTuplesByKey.ContainsKey(key)) | 120 | if (!String.IsNullOrEmpty(key) && !this.DependencySymbolsByKey.ContainsKey(key)) |
| 121 | { | 121 | { |
| 122 | var dependency = this.Section.AddTuple(new ProvidesDependencyTuple(facade.PackageTuple.SourceLineNumbers, facade.PackageTuple.Id) | 122 | var dependency = this.Section.AddSymbol(new ProvidesDependencySymbol(facade.PackageSymbol.SourceLineNumbers, facade.PackageSymbol.Id) |
| 123 | { | 123 | { |
| 124 | PackageRef = facade.PackageId, | 124 | PackageRef = facade.PackageId, |
| 125 | Key = key, | 125 | Key = key, |
| 126 | Version = facade.PackageTuple.Version, | 126 | Version = facade.PackageSymbol.Version, |
| 127 | DisplayName = facade.PackageTuple.DisplayName | 127 | DisplayName = facade.PackageSymbol.DisplayName |
| 128 | }); | 128 | }); |
| 129 | 129 | ||
| 130 | this.DependencyTuplesByKey.Add(dependency.Key, dependency); | 130 | this.DependencySymbolsByKey.Add(dependency.Key, dependency); |
| 131 | } | 131 | } |
| 132 | } | 132 | } |
| 133 | } | 133 | } |
| 134 | 134 | ||
| 135 | private Dictionary<string, ProvidesDependencyTuple> GetDependencyTuplesByKey() | 135 | private Dictionary<string, ProvidesDependencySymbol> GetDependencySymbolsByKey() |
| 136 | { | 136 | { |
| 137 | var dependencyTuplesByKey = new Dictionary<string, ProvidesDependencyTuple>(); | 137 | var dependencySymbolsByKey = new Dictionary<string, ProvidesDependencySymbol>(); |
| 138 | 138 | ||
| 139 | var dependencyTuples = this.Section.Tuples.OfType<ProvidesDependencyTuple>(); | 139 | var dependencySymbols = this.Section.Symbols.OfType<ProvidesDependencySymbol>(); |
| 140 | 140 | ||
| 141 | foreach (var dependency in dependencyTuples) | 141 | foreach (var dependency in dependencySymbols) |
| 142 | { | 142 | { |
| 143 | if (dependencyTuplesByKey.TryGetValue(dependency.Key, out var collision)) | 143 | if (dependencySymbolsByKey.TryGetValue(dependency.Key, out var collision)) |
| 144 | { | 144 | { |
| 145 | // If not a perfect dependency collision, display an error. | 145 | // If not a perfect dependency collision, display an error. |
| 146 | if (dependency.Key != collision.Key || | 146 | if (dependency.Key != collision.Key || |
| @@ -152,11 +152,11 @@ namespace WixToolset.Core.Burn.Bind | |||
| 152 | } | 152 | } |
| 153 | else | 153 | else |
| 154 | { | 154 | { |
| 155 | dependencyTuplesByKey.Add(dependency.Key, dependency); | 155 | dependencySymbolsByKey.Add(dependency.Key, dependency); |
| 156 | } | 156 | } |
| 157 | } | 157 | } |
| 158 | 158 | ||
| 159 | return dependencyTuplesByKey; | 159 | return dependencySymbolsByKey; |
| 160 | } | 160 | } |
| 161 | } | 161 | } |
| 162 | } | 162 | } |
