using Build.Modules;
using Build.Options;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using ModularPipelines;
using ModularPipelines.Extensions;
var builder = Pipeline.CreateBuilder();
builder.Configuration.AddJsonFile("appsettings.json");
builder.Configuration.AddUserSecrets();
builder.Configuration.AddEnvironmentVariables();
builder.Services.AddOptions().Bind(builder.Configuration.GetSection("Build"));
builder.Services.AddOptions().Bind(builder.Configuration.GetSection("Bundle"));
builder.Services.AddOptions().Bind(builder.Configuration.GetSection("Publish"));
if (args.Length == 0)
{
builder.Services.AddModule();
builder.Services.AddModule();
builder.Services.AddModule();
}
if (args.Contains("test"))
{
builder.Services.AddModule();
}
if (args.Contains("pack"))
{
builder.Services.AddModule();
builder.Services.AddModule();
builder.Services.AddModule();
}
if (args.Contains("publish"))
{
builder.Services.AddModule();
}
await builder.Build().RunAsync();