aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2019-10-07 09:40:42 -0700
committerRob Mensching <rob@firegiant.com>2019-10-07 11:29:22 -0700
commitdb7cf299e0110eefbc9fdc2cd6e873177b443ee7 (patch)
tree925b469c5b12a4b3b61b6a30ffee6b0d1b5d2121 /src
parent6da5d258210065723a8652dedda19851eb102d78 (diff)
downloadwix-db7cf299e0110eefbc9fdc2cd6e873177b443ee7.tar.gz
wix-db7cf299e0110eefbc9fdc2cd6e873177b443ee7.tar.bz2
wix-db7cf299e0110eefbc9fdc2cd6e873177b443ee7.zip
Support Bundle building
Diffstat (limited to 'src')
-rw-r--r--src/WixToolset.Extensibility/Data/IBindContext.cs4
-rw-r--r--src/WixToolset.Extensibility/Data/IResolvedDirectory.cs19
-rw-r--r--src/WixToolset.Extensibility/IBurnBackendExtension.cs3
-rw-r--r--src/WixToolset.Extensibility/Services/IBackendHelper.cs8
-rw-r--r--src/WixToolset.Extensibility/Services/IPathResolver.cs31
-rw-r--r--src/WixToolset.Extensibility/Services/IWindowsInstallerBackendHelper.cs2
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
3namespace WixToolset.Extensibility.Data 3namespace 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
3namespace 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 @@
3namespace WixToolset.Extensibility 3namespace 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
3namespace 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}