Import from internal git

This commit is contained in:
2025-10-11 13:08:09 +02:00
commit 97aaa715dc
175 changed files with 7014 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
using Core.Exceptions;
using Core.SpecConfig;
using Generator.Repo;
namespace Generator.Services;
public class GenerationService
{
private readonly GenerateRepo _repo;
private readonly PublicationService _pubService;
public GenerationService(PublicationService publicationService, GenerateRepo repo)
{
_repo = repo;
_pubService = publicationService;
}
public async Task Launch(ProcessTask task)
{
switch (task.Language)
{
case Language.Dotnet:
await LaunchDotnet(task);
break;
case Language.Java:
await LaunchJava(task);
break;
case Language.Javascript:
await LaunchJavascript(task);
break;
default:
throw new WeirdException("You broke me :(");
}
}
public async Task LaunchDotnet(ProcessTask task)
{
while (task.Tasks.TryDequeue(out var file))
{
await _repo.GenerateDotnet(task.GenerationType, file);
if (task.PublishType == PublishType.No) continue;
await _pubService.PublishDotnet(file, task.GenerationType, task.PublishType);
}
}
public async Task LaunchJava(ProcessTask task)
{
while (task.Tasks.TryDequeue(out var file))
{
await _repo.GenerateJava(file);
if (task.PublishType == PublishType.No) continue;
await _pubService.PublishJava(file, task.GenerationType, task.PublishType);
}
}
public async Task LaunchJavascript(ProcessTask task)
{
while (task.Tasks.TryDequeue(out var file))
{
await _repo.GenerateJavascript(file);
if (task.PublishType == PublishType.No) continue;
await _pubService.PublishJavascript(file, task.GenerationType, task.PublishType);
}
}
}