Bilibili-Evolved/builder/dotnet/Program.cs
2019-08-29 23:15:19 +08:00

56 lines
1.7 KiB
C#

using System;
using System.Linq;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Diagnostics;
using Microsoft.Extensions.Configuration;
namespace BilibiliEvolved.Build
{
class Program
{
public static void Main(string[] args)
{
try
{
var configFile = new ConfigurationBuilder()
.AddJsonFile(
Path.Combine(Environment.CurrentDirectory, "builder/builder-config.json"),
optional: false,
reloadOnChange: false)
.Build();
var config = new BuilderConfig();
configFile.Bind(config);
var builder = new ProjectBuilder(config);
builder
.BuildClient()
.BuildPreview()
.BuildMaster()
.BuildVue()
.BuildTypeScripts()
.BuildSass()
.BuildResources()
.BuildPreviewOffline()
.BuildOffline()
.BuildBundle()
.BuildFinalOutput();
if (config.CopyOnBuild)
{
var text = File.ReadAllText(config.PreviewOffline);
TextCopy.Clipboard.SetText(text);
builder.WriteHint($"Copied {text.Length} characters");
}
}
catch (Exception ex)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Error.WriteLine($"Unexpected Error: {ex.Message}");
throw;
}
}
}
}