Skip to content

Commit f778630

Browse files
committed
#721 Added support for comma-separated arguments in addition to semicolon
1 parent 609ec95 commit f778630

File tree

3 files changed

+42
-28
lines changed

3 files changed

+42
-28
lines changed

src/Readme.txt

+4
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ For further details take a look at LICENSE.txt.
6767

6868
CHANGELOG
6969

70+
5.4.4.0
71+
72+
* New: #721 Added support for comma-separated arguments in addition to semicolon
73+
7074
5.4.3.0
7175

7276
* New: #717 Added new new coverage type "Full method coverage" (percentage of methods that are fully covered)

src/ReportGenerator.Core/ReportConfigurationBuilder.cs

+24-19
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@ public class ReportConfigurationBuilder
1818
/// </summary>
1919
private static readonly ILogger Logger = LoggerFactory.GetLogger(typeof(ReportConfigurationBuilder));
2020

21+
/// <summary>
22+
/// The argument separators.
23+
/// </summary>
24+
private static readonly char[] ArgumentSeparators = new[] { ';', ',' };
25+
2126
/// <summary>
2227
/// Initializes a new instance of the <see cref="ReportConfiguration"/> class.
2328
/// </summary>
@@ -48,11 +53,11 @@ public ReportConfiguration Create(Dictionary<string, string> cliArguments)
4853

4954
if (namedArguments.TryGetValue(CommandLineArgumentNames.Reports, out value))
5055
{
51-
reportFilePatterns = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
56+
reportFilePatterns = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
5257
}
5358
else if (config.TryGetString(DotNetConfigSettingNames.Reports, out value))
5459
{
55-
reportFilePatterns = value.Split(new[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries);
60+
reportFilePatterns = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
5661
}
5762
else
5863
{
@@ -74,11 +79,11 @@ public ReportConfiguration Create(Dictionary<string, string> cliArguments)
7479

7580
if (namedArguments.TryGetValue(CommandLineArgumentNames.SourceDirectories, out value))
7681
{
77-
sourceDirectories = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
82+
sourceDirectories = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
7883
}
7984
else if (config.TryGetString(DotNetConfigSettingNames.SourceDirectories, out value))
8085
{
81-
sourceDirectories = value.Split(new[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries);
86+
sourceDirectories = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
8287
}
8388
else
8489
{
@@ -100,15 +105,15 @@ public ReportConfiguration Create(Dictionary<string, string> cliArguments)
100105

101106
if (namedArguments.TryGetValue(CommandLineArgumentNames.ReportTypes, out value))
102107
{
103-
reportTypes = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
108+
reportTypes = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
104109
}
105110
else if (namedArguments.TryGetValue(CommandLineArgumentNames.ReportType, out value))
106111
{
107112
reportTypes = new[] { value };
108113
}
109114
else if (config.TryGetString(DotNetConfigSettingNames.ReportTypes, out value))
110115
{
111-
reportTypes = value.Split(new[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries);
116+
reportTypes = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
112117
}
113118
else
114119
{
@@ -121,11 +126,11 @@ public ReportConfiguration Create(Dictionary<string, string> cliArguments)
121126

122127
if (namedArguments.TryGetValue(CommandLineArgumentNames.Plugins, out value))
123128
{
124-
plugins = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
129+
plugins = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
125130
}
126131
else if (config.TryGetString(DotNetConfigSettingNames.Plugins, out value))
127132
{
128-
plugins = value.Split(new[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries);
133+
plugins = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
129134
}
130135
else
131136
{
@@ -138,15 +143,15 @@ public ReportConfiguration Create(Dictionary<string, string> cliArguments)
138143

139144
if (namedArguments.TryGetValue(CommandLineArgumentNames.AssemblyFilters, out value))
140145
{
141-
assemblyFilters = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
146+
assemblyFilters = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
142147
}
143148
else if (namedArguments.TryGetValue(CommandLineArgumentNames.Filters, out value))
144149
{
145-
assemblyFilters = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
150+
assemblyFilters = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
146151
}
147152
else if (config.TryGetString(DotNetConfigSettingNames.AssemblyFilters, out value))
148153
{
149-
assemblyFilters = value.Split(new[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries);
154+
assemblyFilters = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
150155
}
151156
else
152157
{
@@ -159,11 +164,11 @@ public ReportConfiguration Create(Dictionary<string, string> cliArguments)
159164

160165
if (namedArguments.TryGetValue(CommandLineArgumentNames.ClassFilters, out value))
161166
{
162-
classFilters = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
167+
classFilters = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
163168
}
164169
else if (config.TryGetString(DotNetConfigSettingNames.ClassFilters, out value))
165170
{
166-
classFilters = value.Split(new[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries);
171+
classFilters = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
167172
}
168173
else
169174
{
@@ -176,11 +181,11 @@ public ReportConfiguration Create(Dictionary<string, string> cliArguments)
176181

177182
if (namedArguments.TryGetValue(CommandLineArgumentNames.FileFilters, out value))
178183
{
179-
fileFilters = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
184+
fileFilters = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
180185
}
181186
else if (config.TryGetString(DotNetConfigSettingNames.FileFilters, out value))
182187
{
183-
fileFilters = value.Split(new[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries);
188+
fileFilters = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
184189
}
185190
else
186191
{
@@ -193,11 +198,11 @@ public ReportConfiguration Create(Dictionary<string, string> cliArguments)
193198

194199
if (namedArguments.TryGetValue(CommandLineArgumentNames.RiskHotspotAssemblyFilters, out value))
195200
{
196-
riskHotspotAssemblyFilters = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
201+
riskHotspotAssemblyFilters = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
197202
}
198203
else if (config.TryGetString(DotNetConfigSettingNames.RiskHotspotAssemblyFilters, out value))
199204
{
200-
riskHotspotAssemblyFilters = value.Split(new[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries);
205+
riskHotspotAssemblyFilters = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
201206
}
202207
else
203208
{
@@ -210,11 +215,11 @@ public ReportConfiguration Create(Dictionary<string, string> cliArguments)
210215

211216
if (namedArguments.TryGetValue(CommandLineArgumentNames.RiskHotspotClassFilters, out value))
212217
{
213-
riskHotspotClassFilters = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
218+
riskHotspotClassFilters = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
214219
}
215220
else if (config.TryGetString(DotNetConfigSettingNames.RiskHotspotClassFilters, out value))
216221
{
217-
riskHotspotClassFilters = value.Split(new[] { ';', ',' }, StringSplitOptions.RemoveEmptyEntries);
222+
riskHotspotClassFilters = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
218223
}
219224
else
220225
{

src/ReportGenerator.MSBuild/ReportGenerator.cs

+14-9
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,11 @@ namespace Palmmedia.ReportGenerator.MSBuild
2727
/// </example>
2828
public class ReportGenerator : Task, ITask
2929
{
30+
/// <summary>
31+
/// The argument separators.
32+
/// </summary>
33+
private static readonly char[] ArgumentSeparators = new[] { ';', ',' };
34+
3035
/// <summary>
3136
/// Gets or sets the project directory where the tool is being run, for loading
3237
/// the relevant .netconfig.
@@ -185,7 +190,7 @@ public override bool Execute()
185190
}
186191
else if (config.TryGetString(DotNetConfigSettingNames.Reports, out value))
187192
{
188-
reportFilePatterns = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
193+
reportFilePatterns = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
189194
}
190195
else
191196
{
@@ -220,7 +225,7 @@ public override bool Execute()
220225
}
221226
else if (config.TryGetString(DotNetConfigSettingNames.SourceDirectories, out value))
222227
{
223-
sourceDirectories = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
228+
sourceDirectories = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
224229
}
225230
else
226231
{
@@ -243,7 +248,7 @@ public override bool Execute()
243248
}
244249
else if (config.TryGetString(DotNetConfigSettingNames.ReportTypes, out value))
245250
{
246-
reportTypes = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
251+
reportTypes = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
247252
}
248253
else
249254
{
@@ -260,7 +265,7 @@ public override bool Execute()
260265
}
261266
else if (config.TryGetString(DotNetConfigSettingNames.Plugins, out value))
262267
{
263-
plugins = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
268+
plugins = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
264269
}
265270
else
266271
{
@@ -281,7 +286,7 @@ public override bool Execute()
281286
}
282287
else if (config.TryGetString(DotNetConfigSettingNames.AssemblyFilters, out value))
283288
{
284-
assemblyFilters = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
289+
assemblyFilters = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
285290
}
286291
else
287292
{
@@ -298,7 +303,7 @@ public override bool Execute()
298303
}
299304
else if (config.TryGetString(DotNetConfigSettingNames.ClassFilters, out value))
300305
{
301-
classFilters = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
306+
classFilters = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
302307
}
303308
else
304309
{
@@ -315,7 +320,7 @@ public override bool Execute()
315320
}
316321
else if (config.TryGetString(DotNetConfigSettingNames.FileFilters, out value))
317322
{
318-
fileFilters = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
323+
fileFilters = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
319324
}
320325
else
321326
{
@@ -332,7 +337,7 @@ public override bool Execute()
332337
}
333338
else if (config.TryGetString(DotNetConfigSettingNames.RiskHotspotAssemblyFilters, out value))
334339
{
335-
riskHotspotAssemblyFilters = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
340+
riskHotspotAssemblyFilters = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
336341
}
337342
else
338343
{
@@ -349,7 +354,7 @@ public override bool Execute()
349354
}
350355
else if (config.TryGetString(DotNetConfigSettingNames.RiskHotspotClassFilters, out value))
351356
{
352-
riskHotspotClassFilters = value.Split(new[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
357+
riskHotspotClassFilters = value.Split(ArgumentSeparators, StringSplitOptions.RemoveEmptyEntries);
353358
}
354359
else
355360
{

0 commit comments

Comments
 (0)