Skip to content

Commit 8b6f878

Browse files
committed
use IGitVersionConfiguration instead of GitVersionConfiguration
1 parent 059ee5f commit 8b6f878

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+175
-273
lines changed

src/GitVersion.App.Tests/ArgumentParserTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ private static IEnumerable<TestCaseData> OverrideconfigWithInvalidOptionTestData
395395
}
396396

397397
[TestCaseSource(nameof(OverrideConfigWithSingleOptionTestData))]
398-
public void OverrideConfigWithSingleOptions(string options, GitVersionConfiguration expected)
398+
public void OverrideConfigWithSingleOptions(string options, IGitVersionConfiguration expected)
399399
{
400400
var arguments = this.argumentParser.ParseArguments($"/overrideconfig {options}");
401401

@@ -534,7 +534,7 @@ private static IEnumerable<TestCaseData> OverrideConfigWithSingleOptionTestData(
534534
}
535535

536536
[TestCaseSource(nameof(OverrideConfigWithMultipleOptionsTestData))]
537-
public void OverrideConfigWithMultipleOptions(string options, GitVersionConfiguration expected)
537+
public void OverrideConfigWithMultipleOptions(string options, IGitVersionConfiguration expected)
538538
{
539539
var arguments = this.argumentParser.ParseArguments(options);
540540
ConfigurationHelper configurationHelper = new(arguments.OverrideConfiguration);

src/GitVersion.BuildAgents/GitVersionBuildAgentsModule.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
namespace GitVersion.Agents;
44

5-
public class GitVersionBuildAgentsModule : GitVersionModule
5+
public class GitVersionBuildAgentsModule : IGitVersionModule
66
{
7-
public override void RegisterTypes(IServiceCollection services)
7+
public void RegisterTypes(IServiceCollection services)
88
{
9-
var buildAgents = FindAllDerivedTypes<BuildAgentBase>(Assembly.GetAssembly(GetType()));
9+
var buildAgents = IGitVersionModule.FindAllDerivedTypes<BuildAgentBase>(Assembly.GetAssembly(GetType()));
1010

1111
foreach (var buildAgent in buildAgents)
1212
{
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#nullable enable
22
GitVersion.Agents.GitVersionBuildAgentsModule
33
GitVersion.Agents.GitVersionBuildAgentsModule.GitVersionBuildAgentsModule() -> void
4-
override GitVersion.Agents.GitVersionBuildAgentsModule.RegisterTypes(Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> void
4+
GitVersion.Agents.GitVersionBuildAgentsModule.RegisterTypes(Microsoft.Extensions.DependencyInjection.IServiceCollection! services) -> void

src/GitVersion.Core.Tests/IntegrationTests/IgnoreBeforeScenarios.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public void ShouldFallbackToBaseVersionWhenAllCommitsAreIgnored(string? nextVers
1717
fixture.MakeACommit();
1818

1919
var configuration = GitFlowConfigurationBuilder.New.WithNextVersion(nextVersion)
20-
.WithIgnoreConfiguration(new() { Before = dateTimeNow.AddDays(1) }).Build();
20+
.WithIgnoreConfiguration(new IgnoreConfiguration() { Before = dateTimeNow.AddDays(1) }).Build();
2121

2222
fixture.AssertFullSemver(expectedFullSemVer, configuration);
2323
}
@@ -33,7 +33,7 @@ public void ShouldNotFallbackToBaseVersionWhenAllCommitsAreNotIgnored(string? ne
3333
fixture.MakeACommit();
3434

3535
var configuration = GitFlowConfigurationBuilder.New.WithNextVersion(nextVersion)
36-
.WithIgnoreConfiguration(new() { Before = dateTimeNow.AddDays(-1) }).Build();
36+
.WithIgnoreConfiguration(new IgnoreConfiguration() { Before = dateTimeNow.AddDays(-1) }).Build();
3737

3838
fixture.AssertFullSemver(expectedFullSemVer, configuration);
3939
}

src/GitVersion.Core/Agents/IBuildAgent.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@ public interface IBuildAgent
77
bool IsDefault { get; }
88

99
bool CanApplyToCurrentContext();
10-
void WriteIntegration(Action<string?> writer, GitVersionVariables variables, bool updateBuildNumber = true);
1110
string? GetCurrentBranch(bool usingDynamicRepos);
1211
bool PreventFetch();
1312
bool ShouldCleanUpRemotes();
13+
14+
void WriteIntegration(Action<string?> writer, GitVersionVariables variables, bool updateBuildNumber = true);
1415
}
1516

1617
public interface ICurrentBuildAgent : IBuildAgent { }

src/GitVersion.Core/Configuration/Abstractions/IConfigurationFileLocator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ namespace GitVersion.Configuration;
33
public interface IConfigurationFileLocator
44
{
55
bool TryGetConfigurationFile(string? workingDirectory, string? projectRootDirectory, out string? configFilePath);
6-
GitVersionConfiguration ReadConfiguration(string? configFilePath);
6+
IGitVersionConfiguration ReadConfiguration(string? configFilePath);
77
IReadOnlyDictionary<object, object?>? ReadOverrideConfiguration(string? configFilePath);
88
void Verify(string? workingDirectory, string? projectRootDirectory);
99
}

src/GitVersion.Core/Configuration/ConfigurationBuilderBase.cs

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -167,9 +167,9 @@ public virtual TConfigurationBuilder WithLabelPreReleaseWeight(int? value)
167167
return (TConfigurationBuilder)this;
168168
}
169169

170-
public virtual TConfigurationBuilder WithIgnoreConfiguration(IgnoreConfiguration value)
170+
public virtual TConfigurationBuilder WithIgnoreConfiguration(IIgnoreConfiguration value)
171171
{
172-
this.ignore = value;
172+
this.ignore = (IgnoreConfiguration) value;
173173
return (TConfigurationBuilder)this;
174174
}
175175

@@ -206,6 +206,9 @@ public virtual TConfigurationBuilder WithoutBranches()
206206
public virtual BranchConfigurationBuilder WithBranch(string value)
207207
=> this.branchConfigurationBuilders.GetOrAdd(value, () => BranchConfigurationBuilder.New);
208208

209+
public virtual BranchConfigurationBuilder WithBranch(string value, BranchConfigurationBuilder builder)
210+
=> this.branchConfigurationBuilders.GetOrAdd(value, () => builder);
211+
209212
public virtual TConfigurationBuilder WithBranch(string value, Action<BranchConfigurationBuilder> action)
210213
{
211214
var result = this.branchConfigurationBuilders.GetOrAdd(value, () => BranchConfigurationBuilder.New);
@@ -291,7 +294,7 @@ public virtual TConfigurationBuilder WithPreReleaseWeight(int? value)
291294
return (TConfigurationBuilder)this;
292295
}
293296

294-
public virtual TConfigurationBuilder WithConfiguration(GitVersionConfiguration value)
297+
public virtual TConfigurationBuilder WithConfiguration(IGitVersionConfiguration value)
295298
{
296299
WithAssemblyVersioningScheme(value.AssemblyVersioningScheme);
297300
WithAssemblyFileVersioningScheme(value.AssemblyFileVersioningScheme);
@@ -338,15 +341,15 @@ public void AddOverride(IReadOnlyDictionary<object, object?> value)
338341
}
339342
}
340343

341-
public virtual GitVersionConfiguration Build()
344+
public virtual IGitVersionConfiguration Build()
342345
{
343346
Dictionary<string, BranchConfiguration> branches = new();
344347
foreach (var (name, branchConfigurationBuilder) in this.branchConfigurationBuilders)
345348
{
346349
branches.Add(name, branchConfigurationBuilder.Build());
347350
}
348351

349-
GitVersionConfiguration configuration = new()
352+
IGitVersionConfiguration configuration = new GitVersionConfiguration
350353
{
351354
AssemblyVersioningScheme = this.assemblyVersioningScheme,
352355
AssemblyFileVersioningScheme = this.assemblyFileVersioningScheme,
@@ -397,26 +400,26 @@ public virtual GitVersionConfiguration Build()
397400
return configuration;
398401
}
399402

400-
private static void FinalizeConfiguration(GitVersionConfiguration configuration)
403+
private static void FinalizeConfiguration(IGitVersionConfiguration configuration)
401404
{
402405
foreach (var (name, branchConfiguration) in configuration.Branches)
403406
{
404407
FinalizeBranchConfiguration(configuration, name, branchConfiguration);
405408
}
406409
}
407410

408-
private static void FinalizeBranchConfiguration(GitVersionConfiguration configuration, string branchName,
411+
private static void FinalizeBranchConfiguration(IGitVersionConfiguration configuration, string branchName,
409412
IBranchConfiguration branchConfiguration)
410413
{
411-
var branches = new Dictionary<string, BranchConfiguration>(configuration.Branches);
414+
var branches = configuration.Branches.ToDictionary(x => x.Key, x => (BranchConfiguration)x.Value);
412415
foreach (var targetBranchName in branchConfiguration.IsSourceBranchFor)
413416
{
414417
var targetBranchConfiguration = branches[targetBranchName];
415418
targetBranchConfiguration.SourceBranches.Add(branchName);
416419
}
417420
}
418421

419-
private static void ValidateConfiguration(GitVersionConfiguration configuration)
422+
private static void ValidateConfiguration(IGitVersionConfiguration configuration)
420423
{
421424
foreach (var (name, branchConfiguration) in configuration.Branches)
422425
{

src/GitVersion.Core/Configuration/ConfigurationFileLocator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public void Verify(string? workingDirectory, string? projectRootDirectory)
3030
WarnAboutAmbiguousConfigFileSelection(workingDirectory, projectRootDirectory);
3131
}
3232

33-
public GitVersionConfiguration ReadConfiguration(string? configFilePath)
33+
public IGitVersionConfiguration ReadConfiguration(string? configFilePath)
3434
{
3535
if (configFilePath == null || !this.fileSystem.Exists(configFilePath)) return new GitVersionConfiguration();
3636

src/GitVersion.Core/Configuration/ConfigurationHelper.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,21 @@ internal class ConfigurationHelper
1616
if (this._dictionary == null)
1717
{
1818
this._yaml ??= ConfigurationSerializer.Serialize(this.configuration!);
19-
this._dictionary = ConfigurationSerializer.Deserialize<Dictionary<object, object?>>(this._yaml!);
19+
this._dictionary = ConfigurationSerializer.Deserialize<Dictionary<object, object?>>(this._yaml);
2020
}
2121
return this._dictionary;
2222
}
2323
}
2424
private IReadOnlyDictionary<object, object?>? _dictionary;
2525

26-
public GitVersionConfiguration Configuration => this.configuration ??= ConfigurationSerializer.Deserialize<GitVersionConfiguration>(Yaml);
27-
private GitVersionConfiguration? configuration;
26+
public IGitVersionConfiguration Configuration => this.configuration ??= ConfigurationSerializer.Deserialize<GitVersionConfiguration>(Yaml);
27+
private IGitVersionConfiguration? configuration;
2828

2929
internal ConfigurationHelper(string yaml) => this._yaml = yaml.NotNull();
3030

3131
internal ConfigurationHelper(IReadOnlyDictionary<object, object?> dictionary) => this._dictionary = dictionary.NotNull();
3232

33-
public ConfigurationHelper(GitVersionConfiguration configuration) => this.configuration = configuration.NotNull();
33+
public ConfigurationHelper(IGitVersionConfiguration configuration) => this.configuration = configuration.NotNull();
3434

3535
public void Override(IReadOnlyDictionary<object, object?> value)
3636
{

src/GitVersion.Core/Configuration/ConfigurationSerializer.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
namespace GitVersion.Configuration;
66

7-
public static class ConfigurationSerializer
7+
internal static class ConfigurationSerializer
88
{
99
private static IDeserializer Deserializer => new DeserializerBuilder()
1010
.WithNamingConvention(HyphenatedNamingConvention.Instance)
@@ -20,7 +20,7 @@ public static class ConfigurationSerializer
2020

2121
public static string Serialize(object graph) => Serializer.Serialize(graph);
2222

23-
public static GitVersionConfiguration Read(TextReader reader)
23+
public static IGitVersionConfiguration Read(TextReader reader)
2424
{
2525
var configuration = Deserializer.Deserialize<GitVersionConfiguration?>(reader);
2626
return configuration ?? new GitVersionConfiguration();

0 commit comments

Comments
 (0)