diff options
Diffstat (limited to 'src/wixcop/CommandLine/WixCopCommandLineParser.cs')
-rw-r--r-- | src/wixcop/CommandLine/WixCopCommandLineParser.cs | 82 |
1 files changed, 42 insertions, 40 deletions
diff --git a/src/wixcop/CommandLine/WixCopCommandLineParser.cs b/src/wixcop/CommandLine/WixCopCommandLineParser.cs index 53012cfd..ae826d4f 100644 --- a/src/wixcop/CommandLine/WixCopCommandLineParser.cs +++ b/src/wixcop/CommandLine/WixCopCommandLineParser.cs | |||
@@ -1,12 +1,14 @@ | |||
1 | using System; | 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 | using System.Collections.Generic; | ||
3 | using WixCop.Interfaces; | ||
4 | using WixToolset.Core; | ||
5 | using WixToolset.Extensibility.Data; | ||
6 | using WixToolset.Extensibility.Services; | ||
7 | 2 | ||
8 | namespace WixCop.CommandLine | 3 | namespace WixToolset.Tools.WixCop.CommandLine |
9 | { | 4 | { |
5 | using System; | ||
6 | using System.Collections.Generic; | ||
7 | using WixToolset.Core; | ||
8 | using WixToolset.Extensibility.Data; | ||
9 | using WixToolset.Extensibility.Services; | ||
10 | using WixToolset.Tools.WixCop.Interfaces; | ||
11 | |||
10 | public sealed class WixCopCommandLineParser : IWixCopCommandLineParser | 12 | public sealed class WixCopCommandLineParser : IWixCopCommandLineParser |
11 | { | 13 | { |
12 | private bool fixErrors; | 14 | private bool fixErrors; |
@@ -89,43 +91,43 @@ namespace WixCop.CommandLine | |||
89 | 91 | ||
90 | switch (parameter.ToLowerInvariant()) | 92 | switch (parameter.ToLowerInvariant()) |
91 | { | 93 | { |
92 | case "?": | 94 | case "?": |
93 | this.showHelp = true; | 95 | this.showHelp = true; |
94 | return true; | 96 | return true; |
95 | case "f": | 97 | case "f": |
96 | this.fixErrors = true; | 98 | this.fixErrors = true; |
97 | return true; | 99 | return true; |
98 | case "nologo": | 100 | case "nologo": |
99 | this.showLogo = false; | 101 | this.showLogo = false; |
100 | return true; | 102 | return true; |
101 | case "s": | 103 | case "s": |
102 | this.subDirectories = true; | 104 | this.subDirectories = true; |
103 | return true; | 105 | return true; |
104 | default: // other parameters | 106 | default: // other parameters |
105 | if (parameter.StartsWith("set1", StringComparison.Ordinal)) | 107 | if (parameter.StartsWith("set1", StringComparison.Ordinal)) |
106 | { | 108 | { |
107 | this.settingsFile1 = parameter.Substring(4); | 109 | this.settingsFile1 = parameter.Substring(4); |
108 | } | 110 | } |
109 | else if (parameter.StartsWith("set2", StringComparison.Ordinal)) | 111 | else if (parameter.StartsWith("set2", StringComparison.Ordinal)) |
110 | { | 112 | { |
111 | this.settingsFile2 = parameter.Substring(4); | 113 | this.settingsFile2 = parameter.Substring(4); |
112 | } | 114 | } |
113 | else if (parameter.StartsWith("indent:", StringComparison.Ordinal)) | 115 | else if (parameter.StartsWith("indent:", StringComparison.Ordinal)) |
116 | { | ||
117 | try | ||
114 | { | 118 | { |
115 | try | 119 | this.indentationAmount = Convert.ToInt32(parameter.Substring(7)); |
116 | { | ||
117 | this.indentationAmount = Convert.ToInt32(parameter.Substring(7)); | ||
118 | } | ||
119 | catch | ||
120 | { | ||
121 | throw new ArgumentException("Invalid numeric argument.", parameter); | ||
122 | } | ||
123 | } | 120 | } |
124 | else | 121 | catch |
125 | { | 122 | { |
126 | throw new ArgumentException("Invalid argument.", parameter); | 123 | throw new ArgumentException("Invalid numeric argument.", parameter); |
127 | } | 124 | } |
128 | return true; | 125 | } |
126 | else | ||
127 | { | ||
128 | throw new ArgumentException("Invalid argument.", parameter); | ||
129 | } | ||
130 | return true; | ||
129 | } | 131 | } |
130 | } | 132 | } |
131 | } | 133 | } |