aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2018-07-23 13:46:09 -0700
committerRob Mensching <rob@firegiant.com>2018-07-23 13:46:09 -0700
commite130a7a296696e3a7b1229cf580de393b3f20cbd (patch)
treec7677e1fcb88bfd88b9a314ccc23d987f8bbc870
parentd3da4f5cc6f07376a783ba4bdd03c3bb8dc5e480 (diff)
downloadwix-e130a7a296696e3a7b1229cf580de393b3f20cbd.tar.gz
wix-e130a7a296696e3a7b1229cf580de393b3f20cbd.tar.bz2
wix-e130a7a296696e3a7b1229cf580de393b3f20cbd.zip
Reorganize data into Extensibility.Data namespace
-rw-r--r--src/WixToolset.Extensibility/BaseBinderExtension.cs2
-rw-r--r--src/WixToolset.Extensibility/BaseCompilerExtension.cs3
-rw-r--r--src/WixToolset.Extensibility/BaseLayoutExtension.cs10
-rw-r--r--src/WixToolset.Extensibility/BasePreprocessorExtension.cs8
-rw-r--r--src/WixToolset.Extensibility/BaseResolverExtension.cs10
-rw-r--r--src/WixToolset.Extensibility/BaseWindowsInstallerBackendExtension.cs9
-rw-r--r--src/WixToolset.Extensibility/Data/BindFileWithPath.cs (renamed from src/WixToolset.Extensibility/BindFileWithPath.cs)2
-rw-r--r--src/WixToolset.Extensibility/Data/BindPath.cs59
-rw-r--r--src/WixToolset.Extensibility/Data/BindResult.cs13
-rw-r--r--src/WixToolset.Extensibility/Data/BindStage.cs22
-rw-r--r--src/WixToolset.Extensibility/Data/CabinetBuildOption.cs (renamed from src/WixToolset.Extensibility/CabinetBuildOption.cs)2
-rw-r--r--src/WixToolset.Extensibility/Data/ComponentKeyPath.cs (renamed from src/WixToolset.Extensibility/ComponentKeyPath.cs)2
-rw-r--r--src/WixToolset.Extensibility/Data/ExtensionCommandLineSwitch.cs14
-rw-r--r--src/WixToolset.Extensibility/Data/FileTransfer.cs114
-rw-r--r--src/WixToolset.Extensibility/Data/IBindContext.cs (renamed from src/WixToolset.Extensibility/IBindContext.cs)5
-rw-r--r--src/WixToolset.Extensibility/Data/ICommandLineArguments.cs (renamed from src/WixToolset.Extensibility/Services/ICommandLineArguments.cs)4
-rw-r--r--src/WixToolset.Extensibility/Data/ICommandLineCommand.cs (renamed from src/WixToolset.Extensibility/Services/ICommandLineCommand.cs)2
-rw-r--r--src/WixToolset.Extensibility/Data/ICommandLineContext.cs (renamed from src/WixToolset.Extensibility/Services/ICommandLineContext.cs)5
-rw-r--r--src/WixToolset.Extensibility/Data/ICompileContext.cs (renamed from src/WixToolset.Extensibility/ICompileContext.cs)5
-rw-r--r--src/WixToolset.Extensibility/Data/IDelayedField.cs (renamed from src/WixToolset.Extensibility/IDelayedField.cs)2
-rw-r--r--src/WixToolset.Extensibility/Data/IExpectedExtractFile.cs (renamed from src/WixToolset.Extensibility/IExpectedExtractFile.cs)2
-rw-r--r--src/WixToolset.Extensibility/Data/IFileSystemContext.cs (renamed from src/WixToolset.Extensibility/IFileSystemContext.cs)5
-rw-r--r--src/WixToolset.Extensibility/Data/IInscribeContext.cs (renamed from src/WixToolset.Extensibility/IInscribeContext.cs)5
-rw-r--r--src/WixToolset.Extensibility/Data/ILayoutContext.cs (renamed from src/WixToolset.Extensibility/ILayoutContext.cs)8
-rw-r--r--src/WixToolset.Extensibility/Data/ILibraryContext.cs (renamed from src/WixToolset.Extensibility/ILibraryContext.cs)5
-rw-r--r--src/WixToolset.Extensibility/Data/ILinkContext.cs (renamed from src/WixToolset.Extensibility/ILinkContext.cs)5
-rw-r--r--src/WixToolset.Extensibility/Data/IPreprocessContext.cs (renamed from src/WixToolset.Extensibility/IPreprocessContext.cs)5
-rw-r--r--src/WixToolset.Extensibility/Data/IResolveContext.cs (renamed from src/WixToolset.Extensibility/IResolveContext.cs)4
-rw-r--r--src/WixToolset.Extensibility/Data/IUnbindContext.cs (renamed from src/WixToolset.Extensibility/IUnbindContext.cs)5
-rw-r--r--src/WixToolset.Extensibility/Data/ResolveResult.cs (renamed from src/WixToolset.Extensibility/ResolveResult.cs)2
-rw-r--r--src/WixToolset.Extensibility/Data/ResolvedCabinet.cs (renamed from src/WixToolset.Extensibility/ResolvedCabinet.cs)2
-rw-r--r--src/WixToolset.Extensibility/IBackend.cs2
-rw-r--r--src/WixToolset.Extensibility/IBackendFactory.cs2
-rw-r--r--src/WixToolset.Extensibility/IBindExtension.cs1
-rw-r--r--src/WixToolset.Extensibility/IBurnBackendExtension.cs2
-rw-r--r--src/WixToolset.Extensibility/ICompilerExtension.cs1
-rw-r--r--src/WixToolset.Extensibility/IDecompilerExtension.cs2
-rw-r--r--src/WixToolset.Extensibility/IExtensionCommandLine.cs11
-rw-r--r--src/WixToolset.Extensibility/IFileSystemExtension.cs2
-rw-r--r--src/WixToolset.Extensibility/ILayoutExtension.cs2
-rw-r--r--src/WixToolset.Extensibility/ILibrarianExtension.cs1
-rw-r--r--src/WixToolset.Extensibility/ILinkerExtension.cs2
-rw-r--r--src/WixToolset.Extensibility/IPreprocessorExtension.cs1
-rw-r--r--src/WixToolset.Extensibility/IResolverExtension.cs2
-rw-r--r--src/WixToolset.Extensibility/IWindowsInstallerBackendExtension.cs1
-rw-r--r--src/WixToolset.Extensibility/Services/ICommandLine.cs8
-rw-r--r--src/WixToolset.Extensibility/Services/IParseHelper.cs1
-rw-r--r--src/WixToolset.Extensibility/Services/IPreprocessHelper.cs1
-rw-r--r--src/WixToolset.Extensibility/Services/ServiceProviderExtensions.cs (renamed from src/WixToolset.Extensibility/ServiceProviderExtensions.cs)2
-rw-r--r--src/WixToolset.Extensibility/WixToolset.Extensibility.csproj2
50 files changed, 308 insertions, 79 deletions
diff --git a/src/WixToolset.Extensibility/BaseBinderExtension.cs b/src/WixToolset.Extensibility/BaseBinderExtension.cs
index e5e38793..51d63694 100644
--- a/src/WixToolset.Extensibility/BaseBinderExtension.cs
+++ b/src/WixToolset.Extensibility/BaseBinderExtension.cs
@@ -2,7 +2,7 @@
2 2
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5 using WixToolset.Data.Bind; 5 using WixToolset.Extensibility.Data;
6 6
7 /// <summary> 7 /// <summary>
8 /// Base class for creating a resolver extension. 8 /// Base class for creating a resolver extension.
diff --git a/src/WixToolset.Extensibility/BaseCompilerExtension.cs b/src/WixToolset.Extensibility/BaseCompilerExtension.cs
index abe2f4a9..e1584bc3 100644
--- a/src/WixToolset.Extensibility/BaseCompilerExtension.cs
+++ b/src/WixToolset.Extensibility/BaseCompilerExtension.cs
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility
5 using System.Collections.Generic; 5 using System.Collections.Generic;
6 using System.Xml.Linq; 6 using System.Xml.Linq;
7 using WixToolset.Data; 7 using WixToolset.Data;
8 using WixToolset.Extensibility.Data;
8 using WixToolset.Extensibility.Services; 9 using WixToolset.Extensibility.Services;
9 10
10 /// <summary> 11 /// <summary>
@@ -40,7 +41,7 @@ namespace WixToolset.Extensibility
40 { 41 {
41 this.Context = context; 42 this.Context = context;
42 43
43 this.Messaging = context.Messaging; 44 this.Messaging = context.ServiceProvider.GetService<IMessaging>();
44 45
45 this.ParseHelper = context.ServiceProvider.GetService<IParseHelper>(); 46 this.ParseHelper = context.ServiceProvider.GetService<IParseHelper>();
46 } 47 }
diff --git a/src/WixToolset.Extensibility/BaseLayoutExtension.cs b/src/WixToolset.Extensibility/BaseLayoutExtension.cs
index bc80d432..78ec8d0a 100644
--- a/src/WixToolset.Extensibility/BaseLayoutExtension.cs
+++ b/src/WixToolset.Extensibility/BaseLayoutExtension.cs
@@ -2,6 +2,9 @@
2 2
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5 using WixToolset.Extensibility.Data;
6 using WixToolset.Extensibility.Services;
7
5 /// <summary> 8 /// <summary>
6 /// Base class for creating a resolver extension. 9 /// Base class for creating a resolver extension.
7 /// </summary> 10 /// </summary>
@@ -13,11 +16,18 @@ namespace WixToolset.Extensibility
13 protected ILayoutContext Context { get; private set; } 16 protected ILayoutContext Context { get; private set; }
14 17
15 /// <summary> 18 /// <summary>
19 /// Messaging for use by the extension.
20 /// </summary>
21 protected IMessaging Messaging { get; private set; }
22
23 /// <summary>
16 /// Called at the beginning of layout. 24 /// Called at the beginning of layout.
17 /// </summary> 25 /// </summary>
18 public virtual void PreLayout(ILayoutContext context) 26 public virtual void PreLayout(ILayoutContext context)
19 { 27 {
20 this.Context = context; 28 this.Context = context;
29
30 this.Messaging = context.ServiceProvider.GetService<IMessaging>();
21 } 31 }
22 32
23 public virtual bool CopyFile(string source, string destination) 33 public virtual bool CopyFile(string source, string destination)
diff --git a/src/WixToolset.Extensibility/BasePreprocessorExtension.cs b/src/WixToolset.Extensibility/BasePreprocessorExtension.cs
index f5d89103..b7d29095 100644
--- a/src/WixToolset.Extensibility/BasePreprocessorExtension.cs
+++ b/src/WixToolset.Extensibility/BasePreprocessorExtension.cs
@@ -3,6 +3,7 @@
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5 using System.Xml.Linq; 5 using System.Xml.Linq;
6 using WixToolset.Extensibility.Data;
6 using WixToolset.Extensibility.Services; 7 using WixToolset.Extensibility.Services;
7 8
8 /// <summary> 9 /// <summary>
@@ -16,6 +17,11 @@ namespace WixToolset.Extensibility
16 protected IPreprocessContext Context { get; private set; } 17 protected IPreprocessContext Context { get; private set; }
17 18
18 /// <summary> 19 /// <summary>
20 /// Messaging for use by the extension.
21 /// </summary>
22 protected IMessaging Messaging { get; private set; }
23
24 /// <summary>
19 /// PreprocessHelper for use by the extension. 25 /// PreprocessHelper for use by the extension.
20 /// </summary> 26 /// </summary>
21 protected IPreprocessHelper PreprocessHelper { get; private set; } 27 protected IPreprocessHelper PreprocessHelper { get; private set; }
@@ -33,6 +39,8 @@ namespace WixToolset.Extensibility
33 { 39 {
34 this.Context = context; 40 this.Context = context;
35 41
42 this.Messaging = context.ServiceProvider.GetService<IMessaging>();
43
36 this.PreprocessHelper = context.ServiceProvider.GetService<IPreprocessHelper>(); 44 this.PreprocessHelper = context.ServiceProvider.GetService<IPreprocessHelper>();
37 } 45 }
38 46
diff --git a/src/WixToolset.Extensibility/BaseResolverExtension.cs b/src/WixToolset.Extensibility/BaseResolverExtension.cs
index 9498d126..16219e93 100644
--- a/src/WixToolset.Extensibility/BaseResolverExtension.cs
+++ b/src/WixToolset.Extensibility/BaseResolverExtension.cs
@@ -3,7 +3,8 @@
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5 using WixToolset.Data; 5 using WixToolset.Data;
6 using WixToolset.Data.Bind; 6 using WixToolset.Extensibility.Data;
7 using WixToolset.Extensibility.Services;
7 8
8 /// <summary> 9 /// <summary>
9 /// Base class for creating a resolver extension. 10 /// Base class for creating a resolver extension.
@@ -16,11 +17,18 @@ namespace WixToolset.Extensibility
16 protected IResolveContext Context { get; private set; } 17 protected IResolveContext Context { get; private set; }
17 18
18 /// <summary> 19 /// <summary>
20 /// Messaging for use by the extension.
21 /// </summary>
22 protected IMessaging Messaging { get; private set; }
23
24 /// <summary>
19 /// Called at the beginning of the resolving variables and files. 25 /// Called at the beginning of the resolving variables and files.
20 /// </summary> 26 /// </summary>
21 public virtual void PreResolve(IResolveContext context) 27 public virtual void PreResolve(IResolveContext context)
22 { 28 {
23 this.Context = context; 29 this.Context = context;
30
31 this.Messaging = context.ServiceProvider.GetService<IMessaging>();
24 } 32 }
25 33
26 public virtual string ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage) 34 public virtual string ResolveFile(string source, IntermediateTupleDefinition tupleDefinition, SourceLineNumber sourceLineNumbers, BindStage bindStage)
diff --git a/src/WixToolset.Extensibility/BaseWindowsInstallerBackendExtension.cs b/src/WixToolset.Extensibility/BaseWindowsInstallerBackendExtension.cs
index 28f3f927..4393dfda 100644
--- a/src/WixToolset.Extensibility/BaseWindowsInstallerBackendExtension.cs
+++ b/src/WixToolset.Extensibility/BaseWindowsInstallerBackendExtension.cs
@@ -4,9 +4,9 @@ namespace WixToolset.Extensibility
4{ 4{
5 using System.Collections.Generic; 5 using System.Collections.Generic;
6 using WixToolset.Data; 6 using WixToolset.Data;
7 using WixToolset.Data.Bind;
8 using WixToolset.Data.Tuples; 7 using WixToolset.Data.Tuples;
9 using WixToolset.Data.WindowsInstaller; 8 using WixToolset.Data.WindowsInstaller;
9 using WixToolset.Extensibility.Data;
10 using WixToolset.Extensibility.Services; 10 using WixToolset.Extensibility.Services;
11 11
12 /// <summary> 12 /// <summary>
@@ -20,6 +20,11 @@ namespace WixToolset.Extensibility
20 protected IBindContext Context { get; private set; } 20 protected IBindContext Context { get; private set; }
21 21
22 /// <summary> 22 /// <summary>
23 /// Messaging for use by the extension.
24 /// </summary>
25 protected IMessaging Messaging { get; private set; }
26
27 /// <summary>
23 /// Backend helper for use by the extension. 28 /// Backend helper for use by the extension.
24 /// </summary> 29 /// </summary>
25 protected IWindowsInstallerBackendHelper BackendHelper { get; private set; } 30 protected IWindowsInstallerBackendHelper BackendHelper { get; private set; }
@@ -33,6 +38,8 @@ namespace WixToolset.Extensibility
33 { 38 {
34 this.Context = context; 39 this.Context = context;
35 40
41 this.Messaging = context.ServiceProvider.GetService<IMessaging>();
42
36 this.BackendHelper = context.ServiceProvider.GetService<IWindowsInstallerBackendHelper>(); 43 this.BackendHelper = context.ServiceProvider.GetService<IWindowsInstallerBackendHelper>();
37 } 44 }
38 45
diff --git a/src/WixToolset.Extensibility/BindFileWithPath.cs b/src/WixToolset.Extensibility/Data/BindFileWithPath.cs
index f07873fc..d65ae1ba 100644
--- a/src/WixToolset.Extensibility/BindFileWithPath.cs
+++ b/src/WixToolset.Extensibility/Data/BindFileWithPath.cs
@@ -1,6 +1,6 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 /// <summary> 5 /// <summary>
6 /// Bind file with its path. 6 /// Bind file with its path.
diff --git a/src/WixToolset.Extensibility/Data/BindPath.cs b/src/WixToolset.Extensibility/Data/BindPath.cs
new file mode 100644
index 00000000..3b0b73bb
--- /dev/null
+++ b/src/WixToolset.Extensibility/Data/BindPath.cs
@@ -0,0 +1,59 @@
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 using System;
6
7 /// <summary>
8 /// Bind path representation.
9 /// </summary>
10 public class BindPath
11 {
12 /// <summary>
13 /// Creates an unnamed bind path.
14 /// </summary>
15 /// <param name="path">Path for the bind path.</param>
16 public BindPath(string path) : this(String.Empty, path, BindStage.Normal)
17 {
18 }
19
20 /// <summary>
21 /// Creates a named bind path.
22 /// </summary>
23 /// <param name="name">Name of the bind path.</param>
24 /// <param name="path">Path for the bind path.</param>
25 /// <param name="stage">Stage for the bind path.</param>
26 public BindPath(string name, string path, BindStage stage = BindStage.Normal)
27 {
28 this.Name = name;
29 this.Path = path;
30 this.Stage = stage;
31 }
32
33 /// <summary>
34 /// Name of the bind path or String.Empty if the path is unnamed.
35 /// </summary>
36 public string Name { get; set; }
37
38 /// <summary>
39 /// Path for the bind path.
40 /// </summary>
41 public string Path { get; set; }
42
43 /// <summary>
44 /// Stage for the bind path.
45 /// </summary>
46 public BindStage Stage { get; set; }
47
48 /// <summary>
49 /// Parses a normal bind path from its string representation
50 /// </summary>
51 /// <param name="bindPath">String representation of bind path that looks like: [name=]path</param>
52 /// <returns>Parsed normal bind path.</returns>
53 public static BindPath Parse(string bindPath)
54 {
55 string[] namedPath = bindPath.Split(new char[] { '=' }, 2);
56 return (1 == namedPath.Length) ? new BindPath(namedPath[0]) : new BindPath(namedPath[0], namedPath[1]);
57 }
58 }
59}
diff --git a/src/WixToolset.Extensibility/Data/BindResult.cs b/src/WixToolset.Extensibility/Data/BindResult.cs
new file mode 100644
index 00000000..ec97154f
--- /dev/null
+++ b/src/WixToolset.Extensibility/Data/BindResult.cs
@@ -0,0 +1,13 @@
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 using System.Collections.Generic;
6
7 public class BindResult
8 {
9 public IEnumerable<FileTransfer> FileTransfers { get; set; }
10
11 public IEnumerable<string> ContentFilePaths { get; set; }
12 }
13}
diff --git a/src/WixToolset.Extensibility/Data/BindStage.cs b/src/WixToolset.Extensibility/Data/BindStage.cs
new file mode 100644
index 00000000..559a5a5a
--- /dev/null
+++ b/src/WixToolset.Extensibility/Data/BindStage.cs
@@ -0,0 +1,22 @@
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 public enum BindStage
6 {
7 /// <summary>
8 /// Normal binding
9 /// </summary>
10 Normal,
11
12 /// <summary>
13 /// Bind the file path of the target build file
14 /// </summary>
15 Target,
16
17 /// <summary>
18 /// Bind the file path of the updated build file
19 /// </summary>
20 Updated,
21 }
22}
diff --git a/src/WixToolset.Extensibility/CabinetBuildOption.cs b/src/WixToolset.Extensibility/Data/CabinetBuildOption.cs
index 6f63131c..f9938814 100644
--- a/src/WixToolset.Extensibility/CabinetBuildOption.cs
+++ b/src/WixToolset.Extensibility/Data/CabinetBuildOption.cs
@@ -1,6 +1,6 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 /// <summary> 5 /// <summary>
6 /// Options for building the cabinet. 6 /// Options for building the cabinet.
diff --git a/src/WixToolset.Extensibility/ComponentKeyPath.cs b/src/WixToolset.Extensibility/Data/ComponentKeyPath.cs
index 15cbb02f..112f562c 100644
--- a/src/WixToolset.Extensibility/ComponentKeyPath.cs
+++ b/src/WixToolset.Extensibility/Data/ComponentKeyPath.cs
@@ -1,6 +1,6 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 public enum ComponentKeyPathType 5 public enum ComponentKeyPathType
6 { 6 {
diff --git a/src/WixToolset.Extensibility/Data/ExtensionCommandLineSwitch.cs b/src/WixToolset.Extensibility/Data/ExtensionCommandLineSwitch.cs
new file mode 100644
index 00000000..d1d8f0c3
--- /dev/null
+++ b/src/WixToolset.Extensibility/Data/ExtensionCommandLineSwitch.cs
@@ -0,0 +1,14 @@
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 /// A command line option.
7 /// </summary>
8 public struct ExtensionCommandLineSwitch
9 {
10 public string Switch { get; set; }
11
12 public string Description { get; set; }
13 }
14}
diff --git a/src/WixToolset.Extensibility/Data/FileTransfer.cs b/src/WixToolset.Extensibility/Data/FileTransfer.cs
new file mode 100644
index 00000000..0356ac4c
--- /dev/null
+++ b/src/WixToolset.Extensibility/Data/FileTransfer.cs
@@ -0,0 +1,114 @@
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 using System;
6 using System.IO;
7 using WixToolset.Data;
8
9 /// <summary>
10 /// Structure used for all file transfer information.
11 /// </summary>
12 public class FileTransfer
13 {
14 /// <summary>Source path to file.</summary>
15 public string Source { get; set; }
16
17 /// <summary>Destination path for file.</summary>
18 public string Destination { get; set; }
19
20 /// <summary>Flag if file should be moved (optimal).</summary>
21 public bool Move { get; set; }
22
23 /// <summary>Optional source line numbers where this file transfer orginated.</summary>
24 public SourceLineNumber SourceLineNumbers { get; set; }
25
26 /// <summary>Optional type of file this transfer is moving or copying.</summary>
27 public string Type { get; set; }
28
29 /// <summary>Indicates whether the file transer was a built by this build or copied from other some build.</summary>
30 public bool Built { get; set; }
31
32 /// <summary>Set during layout of media when the file transfer when the source and target resolve to the same path.</summary>
33 public bool Redundant { get; set; }
34
35 /// <summary>
36 /// Prefer the TryCreate() method to create FileTransfer objects.
37 /// </summary>
38 /// <param name="source">Source path to file.</param>
39 /// <param name="destination">Destination path for file.</param>
40 /// <param name="move">File if file should be moved (optimal).</param>
41 /// <param name="type">Optional type of file this transfer is transferring.</param>
42 /// <param name="sourceLineNumbers">Optional source line numbers wher this transfer originated.</param>
43 public FileTransfer(string source, string destination, bool move, string type = null, SourceLineNumber sourceLineNumbers = null)
44 {
45 this.Source = source;
46 this.Destination = destination;
47 this.Move = move;
48
49 this.Type = type;
50 this.SourceLineNumbers = sourceLineNumbers;
51 }
52
53 /// <summary>
54 /// Creates a file transfer if the source and destination are different.
55 /// </summary>
56 /// <param name="source">Source path to file.</param>
57 /// <param name="destination">Destination path for file.</param>
58 /// <param name="move">File if file should be moved (optimal).</param>
59 /// <param name="type">Optional type of file this transfer is transferring.</param>
60 /// <param name="sourceLineNumbers">Optional source line numbers where this transfer originated.</param>
61 /// <returns>true if the source and destination are the different, false if no file transfer is created.</returns>
62 public static bool TryCreate(string source, string destination, bool move, string type, SourceLineNumber sourceLineNumbers, out FileTransfer transfer)
63 {
64 //string sourceFullPath = GetValidatedFullPath(sourceLineNumbers, source);
65
66 //string fileLayoutFullPath = GetValidatedFullPath(sourceLineNumbers, destination);
67
68 ////// if the current source path (where we know that the file already exists) and the resolved
69 ////// path as dictated by the Directory table are not the same, then propagate the file. The
70 ////// image that we create may have already been done by some other process other than the linker, so
71 ////// there is no reason to copy the files to the resolved source if they are already there.
72 ////if (String.Equals(sourceFullPath, fileLayoutFullPath, StringComparison.OrdinalIgnoreCase))
73 ////{
74 //// transfer = null;
75 //// return false;
76 ////}
77
78 //transfer = new FileTransfer(source, destination, move, type, sourceLineNumbers);
79 //transfer.Redundant = String.Equals(sourceFullPath, fileLayoutFullPath, StringComparison.OrdinalIgnoreCase);
80 //return true;
81 throw new NotImplementedException();
82 }
83
84 //private static string GetValidatedFullPath(SourceLineNumber sourceLineNumbers, string path)
85 //{
86 // string result;
87
88 // try
89 // {
90 // result = Path.GetFullPath(path);
91
92 // var filename = Path.GetFileName(result);
93
94 // foreach (var reservedName in Common.ReservedFileNames)
95 // {
96 // if (reservedName.Equals(filename, StringComparison.OrdinalIgnoreCase))
97 // {
98 // throw new WixException(ErrorMessages.InvalidFileName(sourceLineNumbers, path));
99 // }
100 // }
101 // }
102 // catch (ArgumentException)
103 // {
104 // throw new WixException(ErrorMessages.InvalidFileName(sourceLineNumbers, path));
105 // }
106 // catch (PathTooLongException)
107 // {
108 // throw new WixException(ErrorMessages.PathTooLong(sourceLineNumbers, path));
109 // }
110
111 // return result;
112 //}
113 }
114}
diff --git a/src/WixToolset.Extensibility/IBindContext.cs b/src/WixToolset.Extensibility/Data/IBindContext.cs
index 59509ecf..355b1a53 100644
--- a/src/WixToolset.Extensibility/IBindContext.cs
+++ b/src/WixToolset.Extensibility/Data/IBindContext.cs
@@ -1,18 +1,15 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 using System; 5 using System;
6 using System.Collections.Generic; 6 using System.Collections.Generic;
7 using WixToolset.Data; 7 using WixToolset.Data;
8 using WixToolset.Extensibility.Services;
9 8
10 public interface IBindContext 9 public interface IBindContext
11 { 10 {
12 IServiceProvider ServiceProvider { get; } 11 IServiceProvider ServiceProvider { get; }
13 12
14 IMessaging Messaging { get; set; }
15
16 int CabbingThreadCount { get; set; } 13 int CabbingThreadCount { get; set; }
17 14
18 string CabCachePath { get; set; } 15 string CabCachePath { get; set; }
diff --git a/src/WixToolset.Extensibility/Services/ICommandLineArguments.cs b/src/WixToolset.Extensibility/Data/ICommandLineArguments.cs
index eb1f8765..5729ff36 100644
--- a/src/WixToolset.Extensibility/Services/ICommandLineArguments.cs
+++ b/src/WixToolset.Extensibility/Data/ICommandLineArguments.cs
@@ -1,8 +1,8 @@
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.Services 3namespace WixToolset.Extensibility.Data
4{ 4{
5 using System.Collections.Generic; 5 using WixToolset.Extensibility.Services;
6 6
7 public interface ICommandLineArguments 7 public interface ICommandLineArguments
8 { 8 {
diff --git a/src/WixToolset.Extensibility/Services/ICommandLineCommand.cs b/src/WixToolset.Extensibility/Data/ICommandLineCommand.cs
index f2333c55..1146d40a 100644
--- a/src/WixToolset.Extensibility/Services/ICommandLineCommand.cs
+++ b/src/WixToolset.Extensibility/Data/ICommandLineCommand.cs
@@ -1,6 +1,6 @@
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.Services 3namespace WixToolset.Extensibility.Data
4{ 4{
5 public interface ICommandLineCommand 5 public interface ICommandLineCommand
6 { 6 {
diff --git a/src/WixToolset.Extensibility/Services/ICommandLineContext.cs b/src/WixToolset.Extensibility/Data/ICommandLineContext.cs
index 84b9654f..1b2db4a4 100644
--- a/src/WixToolset.Extensibility/Services/ICommandLineContext.cs
+++ b/src/WixToolset.Extensibility/Data/ICommandLineContext.cs
@@ -1,15 +1,14 @@
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.Services 3namespace WixToolset.Extensibility.Data
4{ 4{
5 using System; 5 using System;
6 using WixToolset.Extensibility.Services;
6 7
7 public interface ICommandLineContext 8 public interface ICommandLineContext
8 { 9 {
9 IServiceProvider ServiceProvider { get; } 10 IServiceProvider ServiceProvider { get; }
10 11
11 IMessaging Messaging { get; set; }
12
13 IExtensionManager ExtensionManager { get; set; } 12 IExtensionManager ExtensionManager { get; set; }
14 13
15 ICommandLineArguments Arguments { get; set; } 14 ICommandLineArguments Arguments { get; set; }
diff --git a/src/WixToolset.Extensibility/ICompileContext.cs b/src/WixToolset.Extensibility/Data/ICompileContext.cs
index fbe38d63..50ad10b9 100644
--- a/src/WixToolset.Extensibility/ICompileContext.cs
+++ b/src/WixToolset.Extensibility/Data/ICompileContext.cs
@@ -1,19 +1,16 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 using System; 5 using System;
6 using System.Collections.Generic; 6 using System.Collections.Generic;
7 using System.Xml.Linq; 7 using System.Xml.Linq;
8 using WixToolset.Data; 8 using WixToolset.Data;
9 using WixToolset.Extensibility.Services;
10 9
11 public interface ICompileContext 10 public interface ICompileContext
12 { 11 {
13 IServiceProvider ServiceProvider { get; } 12 IServiceProvider ServiceProvider { get; }
14 13
15 IMessaging Messaging { get; set; }
16
17 string CompilationId { get; set; } 14 string CompilationId { get; set; }
18 15
19 IEnumerable<ICompilerExtension> Extensions { get; set; } 16 IEnumerable<ICompilerExtension> Extensions { get; set; }
diff --git a/src/WixToolset.Extensibility/IDelayedField.cs b/src/WixToolset.Extensibility/Data/IDelayedField.cs
index e06dbe59..5c078762 100644
--- a/src/WixToolset.Extensibility/IDelayedField.cs
+++ b/src/WixToolset.Extensibility/Data/IDelayedField.cs
@@ -1,6 +1,6 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 using WixToolset.Data; 5 using WixToolset.Data;
6 6
diff --git a/src/WixToolset.Extensibility/IExpectedExtractFile.cs b/src/WixToolset.Extensibility/Data/IExpectedExtractFile.cs
index 06e4f77f..edcf82e0 100644
--- a/src/WixToolset.Extensibility/IExpectedExtractFile.cs
+++ b/src/WixToolset.Extensibility/Data/IExpectedExtractFile.cs
@@ -1,6 +1,6 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 using System; 5 using System;
6 6
diff --git a/src/WixToolset.Extensibility/IFileSystemContext.cs b/src/WixToolset.Extensibility/Data/IFileSystemContext.cs
index 32783957..86fc106c 100644
--- a/src/WixToolset.Extensibility/IFileSystemContext.cs
+++ b/src/WixToolset.Extensibility/Data/IFileSystemContext.cs
@@ -1,17 +1,14 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 using System; 5 using System;
6 using WixToolset.Data; 6 using WixToolset.Data;
7 using WixToolset.Extensibility.Services;
8 7
9 public interface IFileSystemContext 8 public interface IFileSystemContext
10 { 9 {
11 IServiceProvider ServiceProvider { get; } 10 IServiceProvider ServiceProvider { get; }
12 11
13 IMessaging Messaging { get; set; }
14
15 string CabCachePath { get; set; } 12 string CabCachePath { get; set; }
16 13
17 string IntermediateFolder { get; set; } 14 string IntermediateFolder { get; set; }
diff --git a/src/WixToolset.Extensibility/IInscribeContext.cs b/src/WixToolset.Extensibility/Data/IInscribeContext.cs
index 7f741024..4f13ba10 100644
--- a/src/WixToolset.Extensibility/IInscribeContext.cs
+++ b/src/WixToolset.Extensibility/Data/IInscribeContext.cs
@@ -1,16 +1,13 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 using System; 5 using System;
6 using WixToolset.Extensibility.Services;
7 6
8 public interface IInscribeContext 7 public interface IInscribeContext
9 { 8 {
10 IServiceProvider ServiceProvider { get; } 9 IServiceProvider ServiceProvider { get; }
11 10
12 IMessaging Messaging { get; set; }
13
14 string InputFilePath { get; set; } 11 string InputFilePath { get; set; }
15 12
16 string IntermediateFolder { get; set; } 13 string IntermediateFolder { get; set; }
diff --git a/src/WixToolset.Extensibility/ILayoutContext.cs b/src/WixToolset.Extensibility/Data/ILayoutContext.cs
index 9ec559f9..c3555268 100644
--- a/src/WixToolset.Extensibility/ILayoutContext.cs
+++ b/src/WixToolset.Extensibility/Data/ILayoutContext.cs
@@ -1,26 +1,20 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 using System; 5 using System;
6 using System.Collections.Generic; 6 using System.Collections.Generic;
7 using WixToolset.Data.Bind;
8 using WixToolset.Extensibility.Services;
9 7
10 public interface ILayoutContext 8 public interface ILayoutContext
11 { 9 {
12 IServiceProvider ServiceProvider { get; } 10 IServiceProvider ServiceProvider { get; }
13 11
14 IMessaging Messaging { get; set; }
15
16 IEnumerable<ILayoutExtension> Extensions { get; set; } 12 IEnumerable<ILayoutExtension> Extensions { get; set; }
17 13
18 IEnumerable<string> ContentFilePaths { get; set; } 14 IEnumerable<string> ContentFilePaths { get; set; }
19 15
20 IEnumerable<FileTransfer> FileTransfers { get; set; } 16 IEnumerable<FileTransfer> FileTransfers { get; set; }
21 17
22 string OutputPdbPath { get; set; }
23
24 string ContentsFile { get; set; } 18 string ContentsFile { get; set; }
25 19
26 string OutputsFile { get; set; } 20 string OutputsFile { get; set; }
diff --git a/src/WixToolset.Extensibility/ILibraryContext.cs b/src/WixToolset.Extensibility/Data/ILibraryContext.cs
index 0c29a3dd..08b4ed26 100644
--- a/src/WixToolset.Extensibility/ILibraryContext.cs
+++ b/src/WixToolset.Extensibility/Data/ILibraryContext.cs
@@ -1,18 +1,15 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 using System; 5 using System;
6 using System.Collections.Generic; 6 using System.Collections.Generic;
7 using WixToolset.Data; 7 using WixToolset.Data;
8 using WixToolset.Extensibility.Services;
9 8
10 public interface ILibraryContext 9 public interface ILibraryContext
11 { 10 {
12 IServiceProvider ServiceProvider { get; } 11 IServiceProvider ServiceProvider { get; }
13 12
14 IMessaging Messaging { get; set; }
15
16 bool BindFiles { get; set; } 13 bool BindFiles { get; set; }
17 14
18 IEnumerable<BindPath> BindPaths { get; set; } 15 IEnumerable<BindPath> BindPaths { get; set; }
diff --git a/src/WixToolset.Extensibility/ILinkContext.cs b/src/WixToolset.Extensibility/Data/ILinkContext.cs
index 65eeb6f1..8c1d6f22 100644
--- a/src/WixToolset.Extensibility/ILinkContext.cs
+++ b/src/WixToolset.Extensibility/Data/ILinkContext.cs
@@ -1,18 +1,15 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 using System; 5 using System;
6 using System.Collections.Generic; 6 using System.Collections.Generic;
7 using WixToolset.Data; 7 using WixToolset.Data;
8 using WixToolset.Extensibility.Services;
9 8
10 public interface ILinkContext 9 public interface ILinkContext
11 { 10 {
12 IServiceProvider ServiceProvider { get; } 11 IServiceProvider ServiceProvider { get; }
13 12
14 IMessaging Messaging { get; set; }
15
16 IEnumerable<ILinkerExtension> Extensions { get; set; } 13 IEnumerable<ILinkerExtension> Extensions { get; set; }
17 14
18 IEnumerable<IExtensionData> ExtensionData { get; set; } 15 IEnumerable<IExtensionData> ExtensionData { get; set; }
diff --git a/src/WixToolset.Extensibility/IPreprocessContext.cs b/src/WixToolset.Extensibility/Data/IPreprocessContext.cs
index fcf698c1..a923c4db 100644
--- a/src/WixToolset.Extensibility/IPreprocessContext.cs
+++ b/src/WixToolset.Extensibility/Data/IPreprocessContext.cs
@@ -1,18 +1,15 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 using System; 5 using System;
6 using System.Collections.Generic; 6 using System.Collections.Generic;
7 using WixToolset.Data; 7 using WixToolset.Data;
8 using WixToolset.Extensibility.Services;
9 8
10 public interface IPreprocessContext 9 public interface IPreprocessContext
11 { 10 {
12 IServiceProvider ServiceProvider { get; } 11 IServiceProvider ServiceProvider { get; }
13 12
14 IMessaging Messaging { get; set; }
15
16 IEnumerable<IPreprocessorExtension> Extensions { get; set; } 13 IEnumerable<IPreprocessorExtension> Extensions { get; set; }
17 14
18 IList<string> IncludeSearchPaths { get; set; } 15 IList<string> IncludeSearchPaths { get; set; }
diff --git a/src/WixToolset.Extensibility/IResolveContext.cs b/src/WixToolset.Extensibility/Data/IResolveContext.cs
index 26891d6b..0e12a534 100644
--- a/src/WixToolset.Extensibility/IResolveContext.cs
+++ b/src/WixToolset.Extensibility/Data/IResolveContext.cs
@@ -1,6 +1,6 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 using System; 5 using System;
6 using System.Collections.Generic; 6 using System.Collections.Generic;
@@ -11,8 +11,6 @@ namespace WixToolset.Extensibility
11 { 11 {
12 IServiceProvider ServiceProvider { get; } 12 IServiceProvider ServiceProvider { get; }
13 13
14 IMessaging Messaging { get; set; }
15
16 IEnumerable<BindPath> BindPaths { get; set; } 14 IEnumerable<BindPath> BindPaths { get; set; }
17 15
18 IEnumerable<IResolverExtension> Extensions { get; set; } 16 IEnumerable<IResolverExtension> Extensions { get; set; }
diff --git a/src/WixToolset.Extensibility/IUnbindContext.cs b/src/WixToolset.Extensibility/Data/IUnbindContext.cs
index beaa5491..84dc5167 100644
--- a/src/WixToolset.Extensibility/IUnbindContext.cs
+++ b/src/WixToolset.Extensibility/Data/IUnbindContext.cs
@@ -1,16 +1,13 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 using System; 5 using System;
6 using WixToolset.Extensibility.Services;
7 6
8 public interface IUnbindContext 7 public interface IUnbindContext
9 { 8 {
10 IServiceProvider ServiceProvider { get; } 9 IServiceProvider ServiceProvider { get; }
11 10
12 IMessaging Messaging { get; set; }
13
14 string ExportBasePath { get; set; } 11 string ExportBasePath { get; set; }
15 12
16 string InputFilePath { get; set; } 13 string InputFilePath { get; set; }
diff --git a/src/WixToolset.Extensibility/ResolveResult.cs b/src/WixToolset.Extensibility/Data/ResolveResult.cs
index 53f12fe9..cdc9cfcc 100644
--- a/src/WixToolset.Extensibility/ResolveResult.cs
+++ b/src/WixToolset.Extensibility/Data/ResolveResult.cs
@@ -1,6 +1,6 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 using System.Collections.Generic; 5 using System.Collections.Generic;
6 using WixToolset.Data; 6 using WixToolset.Data;
diff --git a/src/WixToolset.Extensibility/ResolvedCabinet.cs b/src/WixToolset.Extensibility/Data/ResolvedCabinet.cs
index e98d6d96..047b7448 100644
--- a/src/WixToolset.Extensibility/ResolvedCabinet.cs
+++ b/src/WixToolset.Extensibility/Data/ResolvedCabinet.cs
@@ -1,6 +1,6 @@
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 3namespace WixToolset.Extensibility.Data
4{ 4{
5 /// <summary> 5 /// <summary>
6 /// Data returned from build file manager ResolveCabinet callback. 6 /// Data returned from build file manager ResolveCabinet callback.
diff --git a/src/WixToolset.Extensibility/IBackend.cs b/src/WixToolset.Extensibility/IBackend.cs
index 385fd086..80f885c3 100644
--- a/src/WixToolset.Extensibility/IBackend.cs
+++ b/src/WixToolset.Extensibility/IBackend.cs
@@ -3,7 +3,7 @@
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5 using WixToolset.Data; 5 using WixToolset.Data;
6 using WixToolset.Data.Bind; 6 using WixToolset.Extensibility.Data;
7 7
8 public interface IBackend 8 public interface IBackend
9 { 9 {
diff --git a/src/WixToolset.Extensibility/IBackendFactory.cs b/src/WixToolset.Extensibility/IBackendFactory.cs
index 12704c0f..02f0809a 100644
--- a/src/WixToolset.Extensibility/IBackendFactory.cs
+++ b/src/WixToolset.Extensibility/IBackendFactory.cs
@@ -2,7 +2,7 @@
2 2
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5 using WixToolset.Extensibility.Services; 5 using WixToolset.Extensibility.Data;
6 6
7 public interface IBackendFactory 7 public interface IBackendFactory
8 { 8 {
diff --git a/src/WixToolset.Extensibility/IBindExtension.cs b/src/WixToolset.Extensibility/IBindExtension.cs
index c9830a35..2dcf5eff 100644
--- a/src/WixToolset.Extensibility/IBindExtension.cs
+++ b/src/WixToolset.Extensibility/IBindExtension.cs
@@ -3,6 +3,7 @@
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5 using WixToolset.Data.Bind; 5 using WixToolset.Data.Bind;
6 using WixToolset.Extensibility.Data;
6 7
7 /// <summary> 8 /// <summary>
8 /// Interface all binder extensions implement. 9 /// Interface all binder extensions implement.
diff --git a/src/WixToolset.Extensibility/IBurnBackendExtension.cs b/src/WixToolset.Extensibility/IBurnBackendExtension.cs
index c8b8e407..bcd0d5ee 100644
--- a/src/WixToolset.Extensibility/IBurnBackendExtension.cs
+++ b/src/WixToolset.Extensibility/IBurnBackendExtension.cs
@@ -4,7 +4,7 @@ namespace WixToolset.Extensibility
4{ 4{
5 using WixToolset.Data; 5 using WixToolset.Data;
6 using WixToolset.Data.Bind; 6 using WixToolset.Data.Bind;
7 using WixToolset.Extensibility.Services; 7 using WixToolset.Extensibility.Data;
8 8
9 public interface IBurnBackendExtension 9 public interface IBurnBackendExtension
10 { 10 {
diff --git a/src/WixToolset.Extensibility/ICompilerExtension.cs b/src/WixToolset.Extensibility/ICompilerExtension.cs
index 0aa5c9e2..b2dd6d04 100644
--- a/src/WixToolset.Extensibility/ICompilerExtension.cs
+++ b/src/WixToolset.Extensibility/ICompilerExtension.cs
@@ -5,6 +5,7 @@ namespace WixToolset.Extensibility
5 using System.Collections.Generic; 5 using System.Collections.Generic;
6 using System.Xml.Linq; 6 using System.Xml.Linq;
7 using WixToolset.Data; 7 using WixToolset.Data;
8 using WixToolset.Extensibility.Data;
8 9
9 /// <summary> 10 /// <summary>
10 /// Interface all compiler extensions implement. 11 /// Interface all compiler extensions implement.
diff --git a/src/WixToolset.Extensibility/IDecompilerExtension.cs b/src/WixToolset.Extensibility/IDecompilerExtension.cs
index 1574f964..e2b80089 100644
--- a/src/WixToolset.Extensibility/IDecompilerExtension.cs
+++ b/src/WixToolset.Extensibility/IDecompilerExtension.cs
@@ -2,8 +2,6 @@
2 2
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5 using WixToolset.Data;
6
7 /// <summary> 5 /// <summary>
8 /// Base class for creating a decompiler extension. 6 /// Base class for creating a decompiler extension.
9 /// </summary> 7 /// </summary>
diff --git a/src/WixToolset.Extensibility/IExtensionCommandLine.cs b/src/WixToolset.Extensibility/IExtensionCommandLine.cs
index 831a1bc2..5c6f578d 100644
--- a/src/WixToolset.Extensibility/IExtensionCommandLine.cs
+++ b/src/WixToolset.Extensibility/IExtensionCommandLine.cs
@@ -3,19 +3,10 @@
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5 using System.Collections.Generic; 5 using System.Collections.Generic;
6 using WixToolset.Extensibility.Data;
6 using WixToolset.Extensibility.Services; 7 using WixToolset.Extensibility.Services;
7 8
8 /// <summary> 9 /// <summary>
9 /// A command line option.
10 /// </summary>
11 public struct ExtensionCommandLineSwitch
12 {
13 public string Switch { get; set; }
14
15 public string Description { get; set; }
16 }
17
18 /// <summary>
19 /// Interface extensions implement to be able to parse command-line options. 10 /// Interface extensions implement to be able to parse command-line options.
20 /// </summary> 11 /// </summary>
21 public interface IExtensionCommandLine 12 public interface IExtensionCommandLine
diff --git a/src/WixToolset.Extensibility/IFileSystemExtension.cs b/src/WixToolset.Extensibility/IFileSystemExtension.cs
index 96c8a748..0a3e84b8 100644
--- a/src/WixToolset.Extensibility/IFileSystemExtension.cs
+++ b/src/WixToolset.Extensibility/IFileSystemExtension.cs
@@ -2,6 +2,8 @@
2 2
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5 using WixToolset.Extensibility.Data;
6
5 /// <summary> 7 /// <summary>
6 /// Interface all file system extensions implement. 8 /// Interface all file system extensions implement.
7 /// </summary> 9 /// </summary>
diff --git a/src/WixToolset.Extensibility/ILayoutExtension.cs b/src/WixToolset.Extensibility/ILayoutExtension.cs
index 1cf4871f..7bcee0a8 100644
--- a/src/WixToolset.Extensibility/ILayoutExtension.cs
+++ b/src/WixToolset.Extensibility/ILayoutExtension.cs
@@ -2,6 +2,8 @@
2 2
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5 using WixToolset.Extensibility.Data;
6
5 /// <summary> 7 /// <summary>
6 /// Interface all layout extensions implement. 8 /// Interface all layout extensions implement.
7 /// </summary> 9 /// </summary>
diff --git a/src/WixToolset.Extensibility/ILibrarianExtension.cs b/src/WixToolset.Extensibility/ILibrarianExtension.cs
index 381abf01..7319f8b9 100644
--- a/src/WixToolset.Extensibility/ILibrarianExtension.cs
+++ b/src/WixToolset.Extensibility/ILibrarianExtension.cs
@@ -3,6 +3,7 @@
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5 using WixToolset.Data; 5 using WixToolset.Data;
6 using WixToolset.Extensibility.Data;
6 7
7 public interface ILibrarianExtension 8 public interface ILibrarianExtension
8 { 9 {
diff --git a/src/WixToolset.Extensibility/ILinkerExtension.cs b/src/WixToolset.Extensibility/ILinkerExtension.cs
index cb82720a..febca1df 100644
--- a/src/WixToolset.Extensibility/ILinkerExtension.cs
+++ b/src/WixToolset.Extensibility/ILinkerExtension.cs
@@ -3,7 +3,7 @@
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5 using WixToolset.Data; 5 using WixToolset.Data;
6 using WixToolset.Extensibility.Services; 6 using WixToolset.Extensibility.Data;
7 7
8 /// <summary> 8 /// <summary>
9 /// Interface all binder extensions implement. 9 /// Interface all binder extensions implement.
diff --git a/src/WixToolset.Extensibility/IPreprocessorExtension.cs b/src/WixToolset.Extensibility/IPreprocessorExtension.cs
index 68f82693..7eb8584f 100644
--- a/src/WixToolset.Extensibility/IPreprocessorExtension.cs
+++ b/src/WixToolset.Extensibility/IPreprocessorExtension.cs
@@ -3,6 +3,7 @@
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5 using System.Xml.Linq; 5 using System.Xml.Linq;
6 using WixToolset.Extensibility.Data;
6 7
7 /// <summary> 8 /// <summary>
8 /// Interface for extending the WiX toolset preprocessor. 9 /// Interface for extending the WiX toolset preprocessor.
diff --git a/src/WixToolset.Extensibility/IResolverExtension.cs b/src/WixToolset.Extensibility/IResolverExtension.cs
index b0478ff0..152ef64a 100644
--- a/src/WixToolset.Extensibility/IResolverExtension.cs
+++ b/src/WixToolset.Extensibility/IResolverExtension.cs
@@ -3,7 +3,7 @@
3namespace WixToolset.Extensibility 3namespace WixToolset.Extensibility
4{ 4{
5 using WixToolset.Data; 5 using WixToolset.Data;
6 using WixToolset.Data.Bind; 6 using WixToolset.Extensibility.Data;
7 7
8 /// <summary> 8 /// <summary>
9 /// Interface all resolver extensions implement. 9 /// Interface all resolver extensions implement.
diff --git a/src/WixToolset.Extensibility/IWindowsInstallerBackendExtension.cs b/src/WixToolset.Extensibility/IWindowsInstallerBackendExtension.cs
index 5ea73995..bc251bb2 100644
--- a/src/WixToolset.Extensibility/IWindowsInstallerBackendExtension.cs
+++ b/src/WixToolset.Extensibility/IWindowsInstallerBackendExtension.cs
@@ -7,6 +7,7 @@ namespace WixToolset.Extensibility
7 using WixToolset.Data.Bind; 7 using WixToolset.Data.Bind;
8 using WixToolset.Data.Tuples; 8 using WixToolset.Data.Tuples;
9 using WixToolset.Data.WindowsInstaller; 9 using WixToolset.Data.WindowsInstaller;
10 using WixToolset.Extensibility.Data;
10 11
11 /// <summary> 12 /// <summary>
12 /// Interface all binder extensions implement. 13 /// Interface all binder extensions implement.
diff --git a/src/WixToolset.Extensibility/Services/ICommandLine.cs b/src/WixToolset.Extensibility/Services/ICommandLine.cs
index 9dd247ff..48f3620f 100644
--- a/src/WixToolset.Extensibility/Services/ICommandLine.cs
+++ b/src/WixToolset.Extensibility/Services/ICommandLine.cs
@@ -2,8 +2,14 @@
2 2
3namespace WixToolset.Extensibility.Services 3namespace WixToolset.Extensibility.Services
4{ 4{
5 using WixToolset.Extensibility.Data;
6
5 public interface ICommandLine 7 public interface ICommandLine
6 { 8 {
7 ICommandLineCommand ParseStandardCommandLine(ICommandLineContext commandLineContext); 9 IExtensionManager ExtensionManager { get; set; }
10
11 ICommandLineArguments Arguments { get; set; }
12
13 ICommandLineCommand ParseStandardCommandLine();
8 } 14 }
9} 15}
diff --git a/src/WixToolset.Extensibility/Services/IParseHelper.cs b/src/WixToolset.Extensibility/Services/IParseHelper.cs
index 96e2c83c..49218d4f 100644
--- a/src/WixToolset.Extensibility/Services/IParseHelper.cs
+++ b/src/WixToolset.Extensibility/Services/IParseHelper.cs
@@ -6,6 +6,7 @@ namespace WixToolset.Extensibility.Services
6 using System.Collections.Generic; 6 using System.Collections.Generic;
7 using System.Xml.Linq; 7 using System.Xml.Linq;
8 using WixToolset.Data; 8 using WixToolset.Data;
9 using WixToolset.Extensibility.Data;
9 10
10 /// <summary> 11 /// <summary>
11 /// Interface provided to help compiler extensions parse. 12 /// Interface provided to help compiler extensions parse.
diff --git a/src/WixToolset.Extensibility/Services/IPreprocessHelper.cs b/src/WixToolset.Extensibility/Services/IPreprocessHelper.cs
index 01c55009..d55383db 100644
--- a/src/WixToolset.Extensibility/Services/IPreprocessHelper.cs
+++ b/src/WixToolset.Extensibility/Services/IPreprocessHelper.cs
@@ -3,6 +3,7 @@
3namespace WixToolset.Extensibility.Services 3namespace WixToolset.Extensibility.Services
4{ 4{
5 using System.Xml.Linq; 5 using System.Xml.Linq;
6 using WixToolset.Extensibility.Data;
6 7
7 /// <summary> 8 /// <summary>
8 /// Interface provided to help preprocessor extensions. 9 /// Interface provided to help preprocessor extensions.
diff --git a/src/WixToolset.Extensibility/ServiceProviderExtensions.cs b/src/WixToolset.Extensibility/Services/ServiceProviderExtensions.cs
index 408d1523..f4a5e8c3 100644
--- a/src/WixToolset.Extensibility/ServiceProviderExtensions.cs
+++ b/src/WixToolset.Extensibility/Services/ServiceProviderExtensions.cs
@@ -1,6 +1,6 @@
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 3namespace WixToolset.Extensibility.Services
4{ 4{
5 using System; 5 using System;
6 6
diff --git a/src/WixToolset.Extensibility/WixToolset.Extensibility.csproj b/src/WixToolset.Extensibility/WixToolset.Extensibility.csproj
index b1f758e5..31de1095 100644
--- a/src/WixToolset.Extensibility/WixToolset.Extensibility.csproj
+++ b/src/WixToolset.Extensibility/WixToolset.Extensibility.csproj
@@ -16,7 +16,7 @@
16 </ItemGroup> 16 </ItemGroup>
17 17
18 <ItemGroup> 18 <ItemGroup>
19 <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0-beta-63102-01" PrivateAssets="All"/> 19 <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0-beta-63102-01" PrivateAssets="All" />
20 <PackageReference Include="Nerdbank.GitVersioning" Version="2.1.65" PrivateAssets="all" /> 20 <PackageReference Include="Nerdbank.GitVersioning" Version="2.1.65" PrivateAssets="all" />
21 </ItemGroup> 21 </ItemGroup>
22</Project> 22</Project>