@@ -24,7 +24,7 @@ internal abstract class ConfigurationBuilderBase<TConfigurationBuilder> : IConfi
24
24
private string ? commitDateFormat ;
25
25
private bool updateBuildNumber ;
26
26
private SemanticVersionFormat semanticVersionFormat ;
27
- private VersionStrategies [ ] versionStrategies ;
27
+ private VersionStrategies versionStrategy ;
28
28
private Dictionary < string , string > mergeMessageFormats = new ( ) ;
29
29
private readonly List < IReadOnlyDictionary < object , object ? > > overrides = new ( ) ;
30
30
private readonly Dictionary < string , BranchConfigurationBuilder > branchConfigurationBuilders = new ( ) ;
@@ -200,20 +200,9 @@ public virtual TConfigurationBuilder WithSemanticVersionFormat(SemanticVersionFo
200
200
return ( TConfigurationBuilder ) this ;
201
201
}
202
202
203
- public virtual TConfigurationBuilder WithVersionStrategies ( params VersionStrategies [ ] values )
204
- => WithVersionStrategies ( ( IEnumerable < VersionStrategies > ) values ) ;
205
-
206
- public virtual TConfigurationBuilder WithVersionStrategies ( IEnumerable < VersionStrategies > values )
203
+ public virtual TConfigurationBuilder WithVersionStrategy ( VersionStrategies value )
207
204
{
208
- HashSet < VersionStrategies > versionStrategies = new ( ) ;
209
- foreach ( var versionStrategy in values )
210
- {
211
- versionStrategies . AddRange (
212
- Enum . GetValues < VersionStrategies > ( ) . Where (
213
- element => element != VersionStrategies . None && versionStrategy . HasFlag ( element ) )
214
- ) ;
215
- }
216
- this . versionStrategies = versionStrategies . ToArray ( ) ;
205
+ this . versionStrategy = value ;
217
206
return ( TConfigurationBuilder ) this ;
218
207
}
219
208
@@ -339,7 +328,7 @@ public virtual TConfigurationBuilder WithConfiguration(IGitVersionConfiguration
339
328
WithCommitDateFormat ( value . CommitDateFormat ) ;
340
329
WithUpdateBuildNumber ( value . UpdateBuildNumber ) ;
341
330
WithSemanticVersionFormat ( value . SemanticVersionFormat ) ;
342
- WithVersionStrategies ( value . VersionStrategy ) ;
331
+ WithVersionStrategy ( value . VersionStrategy ) ;
343
332
WithMergeMessageFormats ( value . MergeMessageFormats ) ;
344
333
foreach ( var ( name , branchConfiguration ) in value . Branches )
345
334
{
@@ -377,6 +366,10 @@ public virtual IGitVersionConfiguration Build()
377
366
branches . Add ( name , ( BranchConfiguration ) branchConfigurationBuilder . Build ( ) ) ;
378
367
}
379
368
369
+ var versionStrategies = Enum . GetValues < VersionStrategies > ( )
370
+ . Where ( element => element != VersionStrategies . None && this . versionStrategy . HasFlag ( element ) )
371
+ . ToArray ( ) ;
372
+
380
373
IGitVersionConfiguration configuration = new GitVersionConfiguration
381
374
{
382
375
AssemblyVersioningScheme = this . assemblyVersioningScheme ,
@@ -396,7 +389,7 @@ public virtual IGitVersionConfiguration Build()
396
389
CommitDateFormat = this . commitDateFormat ,
397
390
UpdateBuildNumber = this . updateBuildNumber ,
398
391
SemanticVersionFormat = this . semanticVersionFormat ,
399
- VersionStrategies = this . versionStrategies ,
392
+ VersionStrategies = versionStrategies ,
400
393
Branches = branches ,
401
394
MergeMessageFormats = this . mergeMessageFormats ,
402
395
DeploymentMode = this . versioningMode ,
0 commit comments