blob: 5038002a56e8e5da39262f80784be6c8a5ad75e9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
namespace ReferenceClientProxyImplementation.Tasks;
public class Tasks(IServiceProvider serviceProvider) : BackgroundService {
protected override async Task ExecuteAsync(CancellationToken stoppingToken) {
var defaultColor = Console.ForegroundColor;
var tasks = serviceProvider.GetServices<ITask>().ToList();
// List<ITask> tasks = new()
// {
// new BuildClientTask(),
// new PatchClientAssetsTask()
// };
var i = 0;
foreach (var task in tasks.OrderBy(x => x.GetOrder())) {
Console.ForegroundColor = ConsoleColor.DarkBlue;
Console.Write("==> ");
Console.ForegroundColor = ConsoleColor.DarkGray;
Console.WriteLine($"Running task {++i}/{tasks.Count}: {task.GetName()} (Type<{task.GetType().Name}>)");
Console.ForegroundColor = defaultColor;
task.Execute();
}
}
}
public interface ITask {
public int GetOrder();
public string GetName();
public Task Execute();
}
|