@joebigelow / wix-1 / commits / db7cf299

Support Bundle building

Rob Mensching committed Oct 7, 2019 at 09:40 UTC db7cf299e0110eefbc9fdc2cd6e873177b443ee7
6 files changed +64 -3
src/WixToolset.Extensibility/Data/IBindContext.cs
+3 -1
@@ -1,4 +1,4 @@
1 -// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
1 +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3 namespace WixToolset.Extensibility.Data
4 {
@@ -10,6 +10,8 @@ namespace WixToolset.Extensibility.Data
10 {
11 IServiceProvider ServiceProvider { get; }
12
13 + string BurnStubPath { get; set; }
14 +
15 int CabbingThreadCount { get; set; }
16
17 string CabCachePath { get; set; }
src/WixToolset.Extensibility/Data/IResolvedDirectory.cs new
+19
@@ -0,0 +1,19 @@
1 +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2 +
3 +namespace WixToolset.Extensibility.Data
4 +{
5 + /// <summary>
6 + /// Used for resolved directory information.
7 + /// </summary>
8 + public interface IResolvedDirectory
9 + {
10 + /// <summary>The directory parent.</summary>
11 + string DirectoryParent { get; set; }
12 +
13 + /// <summary>The name of this directory.</summary>
14 + string Name { get; set; }
15 +
16 + /// <summary>The path of this directory.</summary>
17 + string Path { get; set; }
18 + }
19 +}
src/WixToolset.Extensibility/IBurnBackendExtension.cs
+1 -2
@@ -3,7 +3,6 @@
3 namespace WixToolset.Extensibility
4 {
5 using WixToolset.Data;
6 - using WixToolset.Data.Bind;
6 using WixToolset.Extensibility.Data;
7
8 public interface IBurnBackendExtension
@@ -13,7 +12,7 @@ namespace WixToolset.Extensibility
12 /// </summary>
13 void PreBackendBind(IBindContext context);
14
16 - string ResolveRelatedFile(string source, string relatedSource, string type, SourceLineNumber sourceLineNumbers, BindStage bindStage);
15 + IResolveFileResult ResolveRelatedFile(string source, string relatedSource, string type, SourceLineNumber sourceLineNumbers, BindStage bindStage);
16
17 string ResolveUrl(string url, string fallbackUrl, string packageId, string payloadId, string fileName);
18
src/WixToolset.Extensibility/Services/IBackendHelper.cs
+8
@@ -27,6 +27,14 @@ namespace WixToolset.Extensibility.Services
27 /// <returns>The generated GUID for the given namespace and value.</returns>
28 string CreateGuid(Guid namespaceGuid, string value);
29
30 + /// <summary>
31 + /// Creates a resolved directory.
32 + /// </summary>
33 + /// <param name="directoryParent">Directory parent identifier.</param>
34 + /// <param name="name">Name of directory.</param>
35 + /// <returns>Resolved directory.</returns>
36 + IResolvedDirectory CreateResolvedDirectory(string directoryParent, string name);
37 +
38 /// <summary>
39 /// Creates a tracked file.
40 /// </summary>
src/WixToolset.Extensibility/Services/IPathResolver.cs new
+31
@@ -0,0 +1,31 @@
1 +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2 +
3 +namespace WixToolset.Extensibility.Services
4 +{
5 + using System.Collections.Generic;
6 + using WixToolset.Extensibility.Data;
7 +
8 + public interface IPathResolver
9 + {
10 + /// <summary>
11 + /// Get the source path of a directory.
12 + /// </summary>
13 + /// <param name="directories">All cached directories.</param>
14 + /// <param name="componentIdGenSeeds">Hash table of Component GUID generation seeds indexed by directory id.</param>
15 + /// <param name="directory">Directory identifier.</param>
16 + /// <param name="canonicalize">Canonicalize the path for standard directories.</param>
17 + /// <returns>Source path of a directory.</returns>
18 + string GetDirectoryPath(Dictionary<string, IResolvedDirectory> directories, Dictionary<string, string> componentIdGenSeeds, string directory, bool canonicalize);
19 +
20 + /// <summary>
21 + /// Gets the source path of a file.
22 + /// </summary>
23 + /// <param name="directories">All cached directories in <see cref="ResolvedDirectory"/>.</param>
24 + /// <param name="directoryId">Parent directory identifier.</param>
25 + /// <param name="fileName">File name (in long|source format).</param>
26 + /// <param name="compressed">Specifies the package is compressed.</param>
27 + /// <param name="useLongName">Specifies the package uses long file names.</param>
28 + /// <returns>Source path of file relative to package directory.</returns>
29 + string GetFileSourcePath(Dictionary<string, IResolvedDirectory> directories, string directoryId, string fileName, bool compressed, bool useLongName);
30 + }
31 +}
src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs
+2
@@ -11,5 +11,7 @@ namespace WixToolset.Extensibility.Services
11 public interface IWindowsInstallerBackendHelper
12 {
13 bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, Output output, TableDefinition[] tableDefinitions);
14 +
15 + bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, Output output, TableDefinition[] tableDefinitions, bool columnZeroIsId);
16 }
17 }