Files
NixOS_WindowsWrapper/src/NixWslWrapper.Cli/Program.cs
T

30 lines
977 B
C#

using System;
using Microsoft.Extensions.DependencyInjection;
using NixWslWrapper.Core.Interfaces;
using NixWslWrapper.Infrastructure.IO;
using NixWslWrapper.Infrastructure.Executors;
using NixWslWrapper.Infrastructure.Services;
namespace NixWslWrapper.Cli
{
internal class Program
{
private static int Main(string[] args)
{
var serviceProvider = ConfigureServices();
var controller = serviceProvider.GetRequiredService<CliController>();
return controller.Run(args);
}
private static IServiceProvider ConfigureServices()
{
return new ServiceCollection()
.AddSingleton<IStreamCopier, ThreadedStreamCopier>()
.AddSingleton<ICommandExecutor, WslCommandExecutor>()
.AddSingleton<IPrerequisiteVerifier, WslPrerequisiteVerifier>()
.AddSingleton<CliController>()
.BuildServiceProvider();
}
}
}