diff options
| author | Rob Mensching <rob@firegiant.com> | 2022-08-11 17:40:06 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2022-08-15 06:49:36 -0700 |
| commit | a6f8b6fa3903d846cdc2fbe715ca951d83af3107 (patch) | |
| tree | e1c554fc6c386c5dc881d288661aa0d1ba0a84a4 /src/tools | |
| parent | 4a21abbfc4d3b18bda3547a6c792be9f21df356e (diff) | |
| download | wix-a6f8b6fa3903d846cdc2fbe715ca951d83af3107.tar.gz wix-a6f8b6fa3903d846cdc2fbe715ca951d83af3107.tar.bz2 wix-a6f8b6fa3903d846cdc2fbe715ca951d83af3107.zip | |
Redesign command-line help to meet the needs of WiX v4
Diffstat (limited to 'src/tools')
| -rw-r--r-- | src/tools/heat/HeatCommand.cs | 22 | ||||
| -rw-r--r-- | src/tools/heat/HeatCommandLine.cs | 6 | ||||
| -rw-r--r-- | src/tools/heat/HelpCommand.cs | 17 |
3 files changed, 22 insertions, 23 deletions
diff --git a/src/tools/heat/HeatCommand.cs b/src/tools/heat/HeatCommand.cs index 56277004..6815acd6 100644 --- a/src/tools/heat/HeatCommand.cs +++ b/src/tools/heat/HeatCommand.cs | |||
| @@ -11,13 +11,16 @@ namespace WixToolset.Harvesters | |||
| 11 | using System.Threading.Tasks; | 11 | using System.Threading.Tasks; |
| 12 | using System.Xml; | 12 | using System.Xml; |
| 13 | using WixToolset.Data; | 13 | using WixToolset.Data; |
| 14 | using WixToolset.Extensibility; | ||
| 14 | using WixToolset.Extensibility.Data; | 15 | using WixToolset.Extensibility.Data; |
| 15 | using WixToolset.Extensibility.Services; | 16 | using WixToolset.Extensibility.Services; |
| 16 | using WixToolset.Harvesters.Extensibility; | 17 | using WixToolset.Harvesters.Extensibility; |
| 17 | using Wix = WixToolset.Harvesters.Serialize; | 18 | using Wix = WixToolset.Harvesters.Serialize; |
| 18 | 19 | ||
| 19 | internal class HeatCommand : ICommandLineCommand | 20 | internal class HeatCommand : BaseCommandLineCommand |
| 20 | { | 21 | { |
| 22 | private bool showLogo; | ||
| 23 | |||
| 21 | public HeatCommand(string harvestType, IList<IHeatExtension> extensions, IServiceProvider serviceProvider) | 24 | public HeatCommand(string harvestType, IList<IHeatExtension> extensions, IServiceProvider serviceProvider) |
| 22 | { | 25 | { |
| 23 | this.Extensions = extensions; | 26 | this.Extensions = extensions; |
| @@ -28,11 +31,7 @@ namespace WixToolset.Harvesters | |||
| 28 | this.ExtensionOptions.Add(harvestType); | 31 | this.ExtensionOptions.Add(harvestType); |
| 29 | } | 32 | } |
| 30 | 33 | ||
| 31 | public bool ShowHelp { get; set; } | 34 | public override bool ShowLogo => this.showLogo; |
| 32 | |||
| 33 | public bool ShowLogo { get; set; } | ||
| 34 | |||
| 35 | public bool StopParsing { get; private set; } | ||
| 36 | 35 | ||
| 37 | private string ExtensionArgument { get; set; } | 36 | private string ExtensionArgument { get; set; } |
| 38 | 37 | ||
| @@ -50,13 +49,18 @@ namespace WixToolset.Harvesters | |||
| 50 | 49 | ||
| 51 | private IServiceProvider ServiceProvider { get; } | 50 | private IServiceProvider ServiceProvider { get; } |
| 52 | 51 | ||
| 53 | public Task<int> ExecuteAsync(CancellationToken cancellationToken) | 52 | public override CommandLineHelp GetCommandLineHelp() |
| 53 | { | ||
| 54 | return null; | ||
| 55 | } | ||
| 56 | |||
| 57 | public override Task<int> ExecuteAsync(CancellationToken cancellationToken) | ||
| 54 | { | 58 | { |
| 55 | var exitCode = this.Harvest(); | 59 | var exitCode = this.Harvest(); |
| 56 | return Task.FromResult(exitCode); | 60 | return Task.FromResult(exitCode); |
| 57 | } | 61 | } |
| 58 | 62 | ||
| 59 | public bool TryParseArgument(ICommandLineParser parser, string arg) | 63 | public override bool TryParseArgument(ICommandLineParser parser, string arg) |
| 60 | { | 64 | { |
| 61 | if (this.ExtensionArgument == null) | 65 | if (this.ExtensionArgument == null) |
| 62 | { | 66 | { |
| @@ -67,7 +71,7 @@ namespace WixToolset.Harvesters | |||
| 67 | string parameter = arg.Substring(1); | 71 | string parameter = arg.Substring(1); |
| 68 | if ("nologo" == parameter) | 72 | if ("nologo" == parameter) |
| 69 | { | 73 | { |
| 70 | this.ShowLogo = false; | 74 | this.showLogo = false; |
| 71 | } | 75 | } |
| 72 | else if ("o" == parameter || "out" == parameter) | 76 | else if ("o" == parameter || "out" == parameter) |
| 73 | { | 77 | { |
diff --git a/src/tools/heat/HeatCommandLine.cs b/src/tools/heat/HeatCommandLine.cs index b11dda4e..f299266d 100644 --- a/src/tools/heat/HeatCommandLine.cs +++ b/src/tools/heat/HeatCommandLine.cs | |||
| @@ -13,19 +13,17 @@ namespace WixToolset.Harvesters | |||
| 13 | 13 | ||
| 14 | internal class HeatCommandLine : IHeatCommandLine | 14 | internal class HeatCommandLine : IHeatCommandLine |
| 15 | { | 15 | { |
| 16 | private readonly List<IHeatExtension> extensions; | ||
| 17 | private readonly IMessaging messaging; | ||
| 18 | private readonly IServiceProvider serviceProvider; | 16 | private readonly IServiceProvider serviceProvider; |
| 17 | private readonly List<IHeatExtension> extensions; | ||
| 19 | 18 | ||
| 20 | public HeatCommandLine(IServiceProvider serviceProvider, IEnumerable<IHeatExtension> heatExtensions) | 19 | public HeatCommandLine(IServiceProvider serviceProvider, IEnumerable<IHeatExtension> heatExtensions) |
| 21 | { | 20 | { |
| 21 | this.serviceProvider = serviceProvider; | ||
| 22 | this.extensions = new List<IHeatExtension> { new IIsHeatExtension(), new UtilHeatExtension(serviceProvider), new VSHeatExtension() }; | 22 | this.extensions = new List<IHeatExtension> { new IIsHeatExtension(), new UtilHeatExtension(serviceProvider), new VSHeatExtension() }; |
| 23 | if (heatExtensions != null) | 23 | if (heatExtensions != null) |
| 24 | { | 24 | { |
| 25 | this.extensions.AddRange(heatExtensions); | 25 | this.extensions.AddRange(heatExtensions); |
| 26 | } | 26 | } |
| 27 | this.messaging = serviceProvider.GetService<IMessaging>(); | ||
| 28 | this.serviceProvider = serviceProvider; | ||
| 29 | } | 27 | } |
| 30 | 28 | ||
| 31 | public ICommandLineCommand ParseStandardCommandLine(ICommandLineArguments arguments) | 29 | public ICommandLineCommand ParseStandardCommandLine(ICommandLineArguments arguments) |
diff --git a/src/tools/heat/HelpCommand.cs b/src/tools/heat/HelpCommand.cs index d991b4fa..25d8cd87 100644 --- a/src/tools/heat/HelpCommand.cs +++ b/src/tools/heat/HelpCommand.cs | |||
| @@ -8,12 +8,13 @@ namespace WixToolset.Harvesters | |||
| 8 | using System.Diagnostics; | 8 | using System.Diagnostics; |
| 9 | using System.Threading; | 9 | using System.Threading; |
| 10 | using System.Threading.Tasks; | 10 | using System.Threading.Tasks; |
| 11 | using WixToolset.Extensibility; | ||
| 11 | using WixToolset.Extensibility.Data; | 12 | using WixToolset.Extensibility.Data; |
| 12 | using WixToolset.Extensibility.Services; | 13 | using WixToolset.Extensibility.Services; |
| 13 | using WixToolset.Harvesters.Data; | 14 | using WixToolset.Harvesters.Data; |
| 14 | using WixToolset.Harvesters.Extensibility; | 15 | using WixToolset.Harvesters.Extensibility; |
| 15 | 16 | ||
| 16 | internal class HelpCommand : ICommandLineCommand | 17 | internal class HelpCommand : BaseCommandLineCommand |
| 17 | { | 18 | { |
| 18 | const string HelpMessageOptionFormat = " {0,-7} {1}"; | 19 | const string HelpMessageOptionFormat = " {0,-7} {1}"; |
| 19 | 20 | ||
| @@ -24,17 +25,12 @@ namespace WixToolset.Harvesters | |||
| 24 | 25 | ||
| 25 | private IList<IHeatExtension> Extensions { get; } | 26 | private IList<IHeatExtension> Extensions { get; } |
| 26 | 27 | ||
| 27 | public bool ShowHelp { get; set; } | 28 | public override CommandLineHelp GetCommandLineHelp() |
| 28 | |||
| 29 | public bool ShowLogo | ||
| 30 | { | 29 | { |
| 31 | get => false; | 30 | return null; |
| 32 | set { } | ||
| 33 | } | 31 | } |
| 34 | 32 | ||
| 35 | public bool StopParsing => true; | 33 | public override Task<int> ExecuteAsync(CancellationToken cancellationToken) |
| 36 | |||
| 37 | public Task<int> ExecuteAsync(CancellationToken cancellationToken) | ||
| 38 | { | 34 | { |
| 39 | var exitCode = this.DisplayHelp(); | 35 | var exitCode = this.DisplayHelp(); |
| 40 | return Task.FromResult(exitCode); | 36 | return Task.FromResult(exitCode); |
| @@ -50,8 +46,9 @@ namespace WixToolset.Harvesters | |||
| 50 | Console.WriteLine(); | 46 | Console.WriteLine(); |
| 51 | } | 47 | } |
| 52 | 48 | ||
| 53 | public bool TryParseArgument(ICommandLineParser parser, string argument) | 49 | public override bool TryParseArgument(ICommandLineParser parser, string argument) |
| 54 | { | 50 | { |
| 51 | this.StopParsing = true; | ||
| 55 | return true; | 52 | return true; |
| 56 | } | 53 | } |
| 57 | 54 | ||
