Files
ForgejoReleaseSync/Program.cs
T

25 lines
688 B
C#

using ForgejoReleaseSync.Services;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
var builder = Host.CreateApplicationBuilder(args);
var config = AppConfigLoader.LoadConfigFromEnv();
builder.Services.AddSingleton(config);
var repositoryConfig = await RepoConfigLoader.LoadConfigAsync(
config.RepositoryConfigFilePath);
builder.Services.AddSingleton(repositoryConfig);
builder.Services.AddSingleton<GithubService>();
builder.Services.AddSingleton<SyncService>();
var app = builder.Build();
using var scope = app.Services.CreateScope();
await scope.ServiceProvider
.GetRequiredService<SyncService>()
.Sync();
await app.RunAsync();