aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2017-10-04 14:52:39 -0700
committerRob Mensching <rob@firegiant.com>2017-10-04 14:52:39 -0700
commit4d5289fa6254ca80a23807c41ca8502f8f38f048 (patch)
treed2a0e0b76fd5ece1d4c54b19da87697525dee504
parentafd296a66f97ef94f26a375c3a71ed79ef95127d (diff)
downloadwix-4d5289fa6254ca80a23807c41ca8502f8f38f048.tar.gz
wix-4d5289fa6254ca80a23807c41ca8502f8f38f048.tar.bz2
wix-4d5289fa6254ca80a23807c41ca8502f8f38f048.zip
Pass extensions' data into the linker
-rw-r--r--src/WixToolset.Core/CommandLine/BuildCommand.cs10
-rw-r--r--src/WixToolset.Core/CommandLine/CommandLine.cs2
2 files changed, 10 insertions, 2 deletions
diff --git a/src/WixToolset.Core/CommandLine/BuildCommand.cs b/src/WixToolset.Core/CommandLine/BuildCommand.cs
index d8954cb7..c6ea27cc 100644
--- a/src/WixToolset.Core/CommandLine/BuildCommand.cs
+++ b/src/WixToolset.Core/CommandLine/BuildCommand.cs
@@ -11,8 +11,9 @@ namespace WixToolset.Core
11 11
12 internal class BuildCommand : ICommand 12 internal class BuildCommand : ICommand
13 { 13 {
14 public BuildCommand(IEnumerable<SourceFile> sources, IDictionary<string, string> preprocessorVariables, IEnumerable<string> locFiles, IEnumerable<string> libraryFiles, string outputPath, OutputType outputType, IEnumerable<string> cultures, bool bindFiles, IEnumerable<BindPath> bindPaths, string intermediateFolder, string contentsFile, string outputsFile, string builtOutputsFile, string wixProjectFile) 14 public BuildCommand(ExtensionManager extensions, IEnumerable<SourceFile> sources, IDictionary<string, string> preprocessorVariables, IEnumerable<string> locFiles, IEnumerable<string> libraryFiles, string outputPath, OutputType outputType, IEnumerable<string> cultures, bool bindFiles, IEnumerable<BindPath> bindPaths, string intermediateFolder, string contentsFile, string outputsFile, string builtOutputsFile, string wixProjectFile)
15 { 15 {
16 this.Extensions = extensions;
16 this.LocFiles = locFiles; 17 this.LocFiles = locFiles;
17 this.LibraryFiles = libraryFiles; 18 this.LibraryFiles = libraryFiles;
18 this.PreprocessorVariables = preprocessorVariables; 19 this.PreprocessorVariables = preprocessorVariables;
@@ -31,6 +32,8 @@ namespace WixToolset.Core
31 this.WixProjectFile = wixProjectFile; 32 this.WixProjectFile = wixProjectFile;
32 } 33 }
33 34
35 public ExtensionManager Extensions { get; }
36
34 public IEnumerable<string> LocFiles { get; } 37 public IEnumerable<string> LocFiles { get; }
35 38
36 public IEnumerable<string> LibraryFiles { get; } 39 public IEnumerable<string> LibraryFiles { get; }
@@ -146,6 +149,11 @@ namespace WixToolset.Core
146 149
147 var linker = new Linker(); 150 var linker = new Linker();
148 151
152 foreach (var data in this.Extensions.Create<IExtensionData>())
153 {
154 linker.AddExtensionData(data);
155 }
156
149 var output = linker.Link(sections, this.OutputType); 157 var output = linker.Link(sections, this.OutputType);
150 158
151 return output; 159 return output;
diff --git a/src/WixToolset.Core/CommandLine/CommandLine.cs b/src/WixToolset.Core/CommandLine/CommandLine.cs
index cac54091..c95a2db4 100644
--- a/src/WixToolset.Core/CommandLine/CommandLine.cs
+++ b/src/WixToolset.Core/CommandLine/CommandLine.cs
@@ -195,7 +195,7 @@ namespace WixToolset.Core
195 var bindPathList = GatherBindPaths(bindPaths); 195 var bindPathList = GatherBindPaths(bindPaths);
196 var extensions = cli.ExtensionManager; 196 var extensions = cli.ExtensionManager;
197 var type = CalculateOutputType(outputType, outputFile); 197 var type = CalculateOutputType(outputType, outputFile);
198 return new BuildCommand(sourceFiles, variables, locFiles, libraryFiles, outputFile, type, cultures, bindFiles, bindPathList, intermediateFolder, contentsFile, outputsFile, builtOutputsFile, wixProjectFile); 198 return new BuildCommand(extensions, sourceFiles, variables, locFiles, libraryFiles, outputFile, type, cultures, bindFiles, bindPathList, intermediateFolder, contentsFile, outputsFile, builtOutputsFile, wixProjectFile);
199 } 199 }
200 200
201 case Commands.Compile: 201 case Commands.Compile: