30 lines
977 B
C#
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();
|
|
}
|
|
}
|
|
}
|