diff options
author | Rob Mensching <rob@firegiant.com> | 2019-10-07 09:40:42 -0700 |
---|---|---|
committer | Rob Mensching <rob@firegiant.com> | 2019-10-07 11:29:22 -0700 |
commit | db7cf299e0110eefbc9fdc2cd6e873177b443ee7 (patch) | |
tree | 925b469c5b12a4b3b61b6a30ffee6b0d1b5d2121 /src | |
parent | 6da5d258210065723a8652dedda19851eb102d78 (diff) | |
download | wix-db7cf299e0110eefbc9fdc2cd6e873177b443ee7.tar.gz wix-db7cf299e0110eefbc9fdc2cd6e873177b443ee7.tar.bz2 wix-db7cf299e0110eefbc9fdc2cd6e873177b443ee7.zip |
Support Bundle building
Diffstat (limited to 'src')
6 files changed, 64 insertions, 3 deletions
diff --git a/src/WixToolset.Extensibility/Data/IBindContext.cs b/src/WixToolset.Extensibility/Data/IBindContext.cs index 355b1a53..97c7a8f2 100644 --- a/src/WixToolset.Extensibility/Data/IBindContext.cs +++ b/src/WixToolset.Extensibility/Data/IBindContext.cs | |||
@@ -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 | 2 | ||
3 | namespace WixToolset.Extensibility.Data | 3 | namespace WixToolset.Extensibility.Data |
4 | { | 4 | { |
@@ -10,6 +10,8 @@ namespace WixToolset.Extensibility.Data | |||
10 | { | 10 | { |
11 | IServiceProvider ServiceProvider { get; } | 11 | IServiceProvider ServiceProvider { get; } |
12 | 12 | ||
13 | string BurnStubPath { get; set; } | ||
14 | |||
13 | int CabbingThreadCount { get; set; } | 15 | int CabbingThreadCount { get; set; } |
14 | 16 | ||
15 | string CabCachePath { get; set; } | 17 | string CabCachePath { get; set; } |
diff --git a/src/WixToolset.Extensibility/Data/IResolvedDirectory.cs b/src/WixToolset.Extensibility/Data/IResolvedDirectory.cs new file mode 100644 index 00000000..59de6e78 --- /dev/null +++ b/src/WixToolset.Extensibility/Data/IResolvedDirectory.cs | |||
@@ -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 | } | ||
diff --git a/src/WixToolset.Extensibility/IBurnBackendExtension.cs b/src/WixToolset.Extensibility/IBurnBackendExtension.cs index acce700a..64a09e49 100644 --- a/src/WixToolset.Extensibility/IBurnBackendExtension.cs +++ b/src/WixToolset.Extensibility/IBurnBackendExtension.cs | |||
@@ -3,7 +3,6 @@ | |||
3 | namespace WixToolset.Extensibility | 3 | namespace WixToolset.Extensibility |
4 | { | 4 | { |
5 | using WixToolset.Data; | 5 | using WixToolset.Data; |
6 | using WixToolset.Data.Bind; | ||
7 | using WixToolset.Extensibility.Data; | 6 | using WixToolset.Extensibility.Data; |
8 | 7 | ||
9 | public interface IBurnBackendExtension | 8 | public interface IBurnBackendExtension |
@@ -13,7 +12,7 @@ namespace WixToolset.Extensibility | |||
13 | /// </summary> | 12 | /// </summary> |
14 | void PreBackendBind(IBindContext context); | 13 | void PreBackendBind(IBindContext context); |
15 | 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); |
17 | 16 | ||
18 | string ResolveUrl(string url, string fallbackUrl, string packageId, string payloadId, string fileName); | 17 | string ResolveUrl(string url, string fallbackUrl, string packageId, string payloadId, string fileName); |
19 | 18 | ||
diff --git a/src/WixToolset.Extensibility/Services/IBackendHelper.cs b/src/WixToolset.Extensibility/Services/IBackendHelper.cs index 0622693d..756d0a97 100644 --- a/src/WixToolset.Extensibility/Services/IBackendHelper.cs +++ b/src/WixToolset.Extensibility/Services/IBackendHelper.cs | |||
@@ -28,6 +28,14 @@ namespace WixToolset.Extensibility.Services | |||
28 | string CreateGuid(Guid namespaceGuid, string value); | 28 | string CreateGuid(Guid namespaceGuid, string value); |
29 | 29 | ||
30 | /// <summary> | 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> | ||
31 | /// Creates a tracked file. | 39 | /// Creates a tracked file. |
32 | /// </summary> | 40 | /// </summary> |
33 | /// <param name="path">Destination path for the build output.</param> | 41 | /// <param name="path">Destination path for the build output.</param> |
diff --git a/src/WixToolset.Extensibility/Services/IPathResolver.cs b/src/WixToolset.Extensibility/Services/IPathResolver.cs new file mode 100644 index 00000000..e468112f --- /dev/null +++ b/src/WixToolset.Extensibility/Services/IPathResolver.cs | |||
@@ -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 | } | ||
diff --git a/src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs b/src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs index 2de455fd..a783d1a4 100644 --- a/src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs +++ b/src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs | |||
@@ -11,5 +11,7 @@ namespace WixToolset.Extensibility.Services | |||
11 | public interface IWindowsInstallerBackendHelper | 11 | public interface IWindowsInstallerBackendHelper |
12 | { | 12 | { |
13 | bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, Output output, TableDefinition[] tableDefinitions); | 13 | bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, Output output, TableDefinition[] tableDefinitions); |
14 | |||
15 | bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, Output output, TableDefinition[] tableDefinitions, bool columnZeroIsId); | ||
14 | } | 16 | } |
15 | } | 17 | } |