Skip to content

Commit 47f00e1

Browse files
committed
Refactors RegisterTypes method to return IServiceCollection
Updates the `RegisterTypes` method signature across `IGitVersionModule` implementations and usage. This simplifies service registration by enabling method chaining in IoC configuration.
1 parent 8b99fde commit 47f00e1

File tree

7 files changed

+10
-12
lines changed

7 files changed

+10
-12
lines changed

new-cli/GitVersion.Cli.Generator.Tests/SystemCommandlineGeneratorTests.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,13 +105,14 @@ namespace {{Constants.GeneratedNamespaceName}};
105105
106106
public class CommandsModule : IGitVersionModule
107107
{
108-
public void RegisterTypes(IServiceCollection services)
108+
public IServiceCollection RegisterTypes(IServiceCollection services)
109109
{
110110
services.AddSingleton<ICliApp, CliAppImpl>();
111111
services.AddSingleton<RootCommandImpl>();
112112
113113
services.AddSingleton<TestCommand>();
114114
services.AddSingleton<ICommandImpl, TestCommandImpl>();
115+
return services;
115116
}
116117
}
117118
""";

new-cli/GitVersion.Cli.Generator/SystemCommandlineContent.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ namespace {{GeneratedNamespaceName}};
109109
110110
public class CommandsModule : IGitVersionModule
111111
{
112-
public void RegisterTypes(IServiceCollection services)
112+
public IServiceCollection RegisterTypes(IServiceCollection services)
113113
{
114114
services.AddSingleton<ICliApp, CliAppImpl>();
115115
services.AddSingleton<RootCommandImpl>();
@@ -120,6 +120,7 @@ public void RegisterTypes(IServiceCollection services)
120120
services.AddSingleton<{{ if $command.CommandTypeNamespace != CommandNamespaceName }}{{$command.CommandTypeNamespace}}.{{ end }}{{$command.CommandTypeName}}>();
121121
services.AddSingleton<ICommandImpl, {{$command.CommandTypeName}}Impl>();
122122
{{~ end ~}}
123+
return services;
123124
}
124125
}
125126
""";

new-cli/GitVersion.Cli/Program.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
var result = await app.RunAsync(args, cts.Token).ConfigureAwait(false);
2121
if (!Console.IsInputRedirected) Console.ReadKey();
22+
2223
return result;
2324

2425
static ServiceProvider RegisterModules(IEnumerable<IGitVersionModule> gitVersionModules)

new-cli/GitVersion.Common/Infrastructure/IGitVersionModule.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ namespace GitVersion.Infrastructure;
44

55
public interface IGitVersionModule
66
{
7-
void RegisterTypes(IServiceCollection services);
7+
IServiceCollection RegisterTypes(IServiceCollection services);
88
}

new-cli/GitVersion.Core.Libgit2Sharp/LibGit2SharpCoreModule.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@ namespace GitVersion.Git;
55

66
public class LibGit2SharpCoreModule : IGitVersionModule
77
{
8-
public void RegisterTypes(IServiceCollection services) => services.AddSingleton<IGitRepository, GitRepository>();
8+
public IServiceCollection RegisterTypes(IServiceCollection services) => services.AddSingleton<IGitRepository, GitRepository>();
99
}

new-cli/GitVersion.Core/CoreModule.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@ namespace GitVersion;
66

77
public class CoreModule : IGitVersionModule
88
{
9-
public void RegisterTypes(IServiceCollection services)
9+
public IServiceCollection RegisterTypes(IServiceCollection services)
1010
{
1111
services.AddSingleton<IFileSystem, FileSystem>();
1212
services.AddSingleton<IEnvironment, Environment>();
1313
services.AddSingleton<IService, Service>();
14+
return services;
1415
}
1516
}

new-cli/GitVersion.Core/Extensions/ServiceCollectionExtensions.cs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,7 @@ namespace GitVersion.Extensions;
77
public static class ServiceCollectionExtensions
88
{
99
public static IServiceCollection RegisterModules(this IServiceCollection services, IEnumerable<IGitVersionModule> gitVersionModules)
10-
=> gitVersionModules.Aggregate(services, (current, gitVersionModule) => current.RegisterModule(gitVersionModule));
11-
12-
public static IServiceCollection RegisterModule(this IServiceCollection services, IGitVersionModule gitVersionModule)
13-
{
14-
gitVersionModule.RegisterTypes(services);
15-
return services;
16-
}
10+
=> gitVersionModules.Aggregate(services, (current, gitVersionModule) => gitVersionModule.RegisterTypes(current));
1711

1812
public static IServiceCollection RegisterLogging(this IServiceCollection services)
1913
{

0 commit comments

Comments
 (0)