From d2f03874f5897d115d6f2269de7f5b687a6488be Mon Sep 17 00:00:00 2001 From: Mira <56395159+TheXorog@users.noreply.github.com> Date: Sat, 20 Jan 2024 13:52:52 +0100 Subject: [PATCH] nerushfgbhjkze4ghbieurzdh789izouehzbugk4789ziogh --- GetGitDir/GetGitDir.csproj | 18 ++ GetGitDir/GetGitDir.exe | Bin 0 -> 157157 bytes GetGitDir/GetGitDir.sln | 25 ++ GetGitDir/Program.cs | 20 ++ .../GlobalSuppressions.cs | 9 + TranslationSourceGenerator/Log.cs | 15 + TranslationSourceGenerator/Program.cs | 295 ++++++++++++++++++ .../Properties/launchSettings.json | 8 + TranslationSourceGenerator/RunDefault.sh | 1 + .../TranslationSourceGenerator.csproj | 16 + .../TranslationSourceGenerator.sln | 44 +++ 11 files changed, 451 insertions(+) create mode 100644 GetGitDir/GetGitDir.csproj create mode 100644 GetGitDir/GetGitDir.exe create mode 100644 GetGitDir/GetGitDir.sln create mode 100644 GetGitDir/Program.cs create mode 100644 TranslationSourceGenerator/GlobalSuppressions.cs create mode 100644 TranslationSourceGenerator/Log.cs create mode 100644 TranslationSourceGenerator/Program.cs create mode 100644 TranslationSourceGenerator/Properties/launchSettings.json create mode 100644 TranslationSourceGenerator/RunDefault.sh create mode 100644 TranslationSourceGenerator/TranslationSourceGenerator.csproj create mode 100644 TranslationSourceGenerator/TranslationSourceGenerator.sln diff --git a/GetGitDir/GetGitDir.csproj b/GetGitDir/GetGitDir.csproj new file mode 100644 index 0000000..cf3fec2 --- /dev/null +++ b/GetGitDir/GetGitDir.csproj @@ -0,0 +1,18 @@ + + + + Exe + net8.0 + enable + enable + + + + embedded + + + + embedded + + + diff --git a/GetGitDir/GetGitDir.exe b/GetGitDir/GetGitDir.exe new file mode 100644 index 0000000000000000000000000000000000000000..d15b7d1e03ad59992bc64b21008e9c3743edb35b GIT binary patch literal 157157 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 z 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 s$W& x.StartsWith("gitdir: "))) + return 1; + + var gitDirLine = content.First(x => x.StartsWith("gitdir: ")); + + Console.WriteLine(gitDirLine[8..]); + return 0; + +} +catch (Exception) +{ + return 1; +} \ No newline at end of file diff --git a/TranslationSourceGenerator/GlobalSuppressions.cs b/TranslationSourceGenerator/GlobalSuppressions.cs new file mode 100644 index 0000000..ea6a637 --- /dev/null +++ b/TranslationSourceGenerator/GlobalSuppressions.cs @@ -0,0 +1,9 @@ +// This file is used by Code Analysis to maintain SuppressMessage +// attributes that are applied to this project. +// Project-level suppressions either have no target or are given +// a specific target and scoped to a namespace, type, member, etc. + +using System.Diagnostics.CodeAnalysis; + +[assembly: SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "", Scope = "member", Target = "~P:TranslationSourceGenerator.Log._logger")] +[assembly: SuppressMessage("GeneratedRegex", "SYSLIB1045:Convert to 'GeneratedRegexAttribute'.", Justification = "")] diff --git a/TranslationSourceGenerator/Log.cs b/TranslationSourceGenerator/Log.cs new file mode 100644 index 0000000..ade0837 --- /dev/null +++ b/TranslationSourceGenerator/Log.cs @@ -0,0 +1,15 @@ +// Project Makoto +// Copyright (C) 2023 Fortunevale +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY + +namespace TranslationSourceGenerator; + +internal class Log +{ + internal static LoggerClient _logger { get; set; } +} diff --git a/TranslationSourceGenerator/Program.cs b/TranslationSourceGenerator/Program.cs new file mode 100644 index 0000000..0cc9cb6 --- /dev/null +++ b/TranslationSourceGenerator/Program.cs @@ -0,0 +1,295 @@ +// Project Makoto +// Copyright (C) 2023 Fortunevale +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY + +global using Xorog.Logger; +global using Xorog.UniversalExtensions; +global using Xorog.UniversalExtensions.Entities; +global using static TranslationSourceGenerator.Log; +global using static Xorog.UniversalExtensions.UniversalExtensions; +global using Newtonsoft.Json; +using System.Reflection; +using Newtonsoft.Json.Linq; +using System.Text.RegularExpressions; + +namespace TranslationSourceGenerator; + +internal class Program +{ + public string MakotoSourceOrigin => $@" +// Project Makoto +// Copyright (C) 2023 Fortunevale +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY + +namespace {this.Namespace}; + +#pragma warning disable CS8981 +#pragma warning disable CS8618 +#pragma warning disable IDE1006 +public class Translations : ITranslations +{{ + public Dictionary Progress = new(); + public CommandTranslation[] CommandList {{ get; set; }} + + + #region AutoGenerated + // InsertPoint + #endregion AutoGenerated +}} +"; + + public string StringsJson { get; set; } + + public string TranslationCs { get; set; } + + public string Namespace { get; set; } + + static void Main(string[] args) + => new Program().Execute(args).GetAwaiter().GetResult(); + + public async Task Execute(string[] args) + { + if (!Directory.Exists($"{new FileInfo(Assembly.GetExecutingAssembly().FullName).Directory.FullName}/logs")) + _ = Directory.CreateDirectory($"{new FileInfo(Assembly.GetExecutingAssembly().FullName).Directory.FullName}/logs"); + + _logger = LoggerClient.StartLogger($"{new FileInfo(Assembly.GetExecutingAssembly().FullName).Directory.FullName}/logs/{DateTime.UtcNow:dd-MM-yyyy_HH-mm-ss}.log", CustomLogLevel.Debug, DateTime.UtcNow.AddDays(-3), false); + + _ = Task.Run(async () => + { + if (!File.Exists(args.Length > 0 ? args[0] : "e252zru2rjb2rtb23jbrj2bthj2bthjb2jtb4jbtb2jtb4hj")) + { + _logger.LogError("Translation json expected as arg0"); + return; + } + + if (!File.Exists(args.Length > 1 ? args[1] : "e252zru2rjb2rtb23jbrj2bthj2bthjb2jtb4jbtb2jtb4hj")) + { + _logger.LogError("Translation json expected as arg1"); + return; + } + + if (args.Length < 2) + { + _logger.LogError("Namespace expected as arg2"); + return; + } + + this.StringsJson = args[0]; + this.TranslationCs = args[1]; + this.Namespace = args[2]; + + _logger.LogDebug("Project Makoto Translation Source Generator started up."); + _logger.LogDebug("Strings.json Location: {0}", Path.GetFullPath(this.StringsJson)); + _logger.LogDebug("Translation.cs Location: {0}", Path.GetFullPath(this.TranslationCs)); + DateTime lastModify = new(); + while (true) + { + try + { + Dictionary> addedFields = new(); + + FileInfo fileInfo = new(this.StringsJson); + + if (lastModify != fileInfo.LastWriteTimeUtc) + { + try + { + List Warnings = new(); + var Insert = ""; + + _logger.LogDebug("Translation file updated. Updating Translations.cs.."); + + var jsonFile = (JObject)JsonConvert.DeserializeObject(File.ReadAllText(this.StringsJson)); + + string CreateValidValueName(string str) + => Regex.Replace(str, @"[^a-zA-Z0-9]", "_"); + + void RecursiveHandle(JObject token, string ParentPath, int depth) + { + foreach (var item in token) + { + var className = CreateValidValueName($"{item.Key.First().ToString().ToLower()}{item.Key.Remove(0, 1)}"); + + switch (className) + { + case "object": + className = $"@{className}"; + break; + default: + break; + } + + var fieldName = CreateValidValueName(item.Key.FirstLetterToUpper()); + var entryPoint = $"{ParentPath}/{className}"; + var IndexPath = $"// {ParentPath} InsertPoint"; + + var InsertPosition = 0; + if (!ParentPath.IsNullOrWhiteSpace()) + { + InsertPosition = Insert.IndexOf(IndexPath) + IndexPath.Length; + } + + if (!addedFields.ContainsKey(IndexPath)) + addedFields.Add(IndexPath, new()); + + switch (item.Value.Type) + { + case JTokenType.Object: + { + var containsLocaleCode = false; + var localeCodeIsArray = false; + + List> tokens = new(); + foreach (var subItem in item.Value.ToObject()) + { + tokens.Add(subItem); + + if (subItem.Key == "en") + { + containsLocaleCode = true; + localeCodeIsArray = subItem.Value.Type == JTokenType.Array; + } + } + + if (containsLocaleCode) + { + if (!localeCodeIsArray) + { + var line = $"{new string(' ', depth * 4)}public SingleTranslationKey {CreateValidValueName(item.Key)};"; + + if (addedFields[IndexPath].Contains(line)) + continue; + + _logger.LogDebug("Found SingleKey '{0}'", item.Key); + Insert = Insert.Insert(InsertPosition, $"\n{line}"); + + addedFields[IndexPath].Add(line); + + if (!tokens.Any(x => x.Key == "de")) + Warnings.Add($"String at path {entryPoint} has no de translation"); + } + else + { + var line = $"{new string(' ', depth * 4)}public MultiTranslationKey {CreateValidValueName(item.Key)};"; + + if (addedFields[IndexPath].Contains(line)) + continue; + + _logger.LogDebug("Found MultiKey '{0}'", item.Key); + Insert = Insert.Insert(InsertPosition, $"\n{line}"); + + addedFields[IndexPath].Add(line); + + if (!tokens.Any(x => x.Key == "de")) + Warnings.Add($"String at path {entryPoint} has no de translation"); + } + continue; + } + else + { + _logger.LogDebug("Found Group '{0}'", item.Key); + + var line = $"\n{new string(' ', depth * 4)}public {className} {fieldName};\n" + + $"{new string(' ', depth * 4)}public sealed class {className}\n" + + $"{new string(' ', depth * 4)}{{\n" + + $"{new string(' ', depth * 4)}// {entryPoint} InsertPoint\n" + + $"{new string(' ', depth * 4)}}}\n"; + + if (addedFields[IndexPath].Contains(line)) + break; + + Insert = Insert.Insert(InsertPosition, line); + addedFields[IndexPath].Add(line); + } + + RecursiveHandle(item.Value.ToObject(), entryPoint, depth + 1); + break; + } + case JTokenType.Integer: + { + _logger.LogDebug("Found Int '{0}'", item.Key); + + var line = $"\n{new string(' ', depth * 4)}public int {CreateValidValueName(item.Key)};"; + + if (addedFields[IndexPath].Contains(line)) + continue; + + Insert = Insert.Insert(InsertPosition, line); + addedFields[IndexPath].Add(line); + break; + } + case JTokenType.Array: + { + _logger.LogDebug("Found Array '{0}'", item.Key); + + var line = $"\n{new string(' ', depth * 4)}public {className}[] {fieldName};\n" + + $"{new string(' ', depth * 4)}public sealed class {className}\n" + + $"{new string(' ', depth * 4)}{{\n" + + $"{new string(' ', depth * 4)}// {entryPoint} InsertPoint\n" + + $"{new string(' ', depth * 4)}}}\n"; + + if (fieldName == "CommandList" && IndexPath == "// InsertPoint") + { + continue; + } + + if (!addedFields[IndexPath].Contains(line)) + { + Insert = Insert.Insert(InsertPosition, line); + addedFields[IndexPath].Add(line); + } + + foreach (var b in item.Value.ToObject()) + RecursiveHandle(b.ToObject(), entryPoint, depth + 1); + break; + } + default: + break; + } + } + } + RecursiveHandle(jsonFile, "", 1); + foreach (var b in Warnings) + { + _logger.LogWarn(b); + } + + _logger.LogWarn("Source Generation finished with {Count} warnings.", Warnings.Count); + + Insert = string.Join("\n", Insert.Split("\n").Where(x => !x.Contains("InsertPoint"))); + + File.WriteAllText(this.TranslationCs, string.Join("\n", this.MakotoSourceOrigin.Replace("// InsertPoint", Insert).ReplaceLineEndings("\n").Split("\n", StringSplitOptions.RemoveEmptyEntries).Where(x => !x.IsNullOrWhiteSpace()))); + + _logger.LogDebug("Updated Translations.cs."); + } + catch (Exception ex) + { + _logger.LogError("Failed to update Translations.cs.", ex); + } + } + + lastModify = fileInfo.LastWriteTimeUtc; + + await Task.Delay(1000); + } + catch (Exception ex) + { + _logger.LogError("Failed to watch file", ex); + await Task.Delay(10000); + } + } + }); + + await Task.Delay(-1); + } +} diff --git a/TranslationSourceGenerator/Properties/launchSettings.json b/TranslationSourceGenerator/Properties/launchSettings.json new file mode 100644 index 0000000..ce5e3c2 --- /dev/null +++ b/TranslationSourceGenerator/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "TranslationSourceGenerator": { + "commandName": "Project", + "commandLineArgs": "\"C:\\Users\\Xorog\\Documents\\GitHub\\ProjectIchigo\\ProjectMakoto\\Translations\\strings.json\" \"C:\\Users\\Xorog\\Documents\\GitHub\\ProjectIchigo\\ProjectMakoto\\Entities\\Translation\\Translations.cs\"" + } + } +} \ No newline at end of file diff --git a/TranslationSourceGenerator/RunDefault.sh b/TranslationSourceGenerator/RunDefault.sh new file mode 100644 index 0000000..2160252 --- /dev/null +++ b/TranslationSourceGenerator/RunDefault.sh @@ -0,0 +1 @@ +dotnet run -- ../../ProjectMakoto/Translations/strings.json ../../ProjectMakoto/Entities/Translation/Translations.cs ProjectMakoto.Entities \ No newline at end of file diff --git a/TranslationSourceGenerator/TranslationSourceGenerator.csproj b/TranslationSourceGenerator/TranslationSourceGenerator.csproj new file mode 100644 index 0000000..c340171 --- /dev/null +++ b/TranslationSourceGenerator/TranslationSourceGenerator.csproj @@ -0,0 +1,16 @@ + + + + Exe + net8.0 + enable + annotations + x64 + + + + + + + + diff --git a/TranslationSourceGenerator/TranslationSourceGenerator.sln b/TranslationSourceGenerator/TranslationSourceGenerator.sln new file mode 100644 index 0000000..4206f54 --- /dev/null +++ b/TranslationSourceGenerator/TranslationSourceGenerator.sln @@ -0,0 +1,44 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.8.34309.116 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TranslationSourceGenerator", "TranslationSourceGenerator.csproj", "{1962E64F-BFA8-4ECA-83C6-FD09959D7E98}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xorog.Logger", "..\..\Dependencies\Xorog.Logger\Xorog.Logger.csproj", "{8A8883E2-C01C-48A5-9CFF-16DB013DA0C8}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Xorog.UniversalExtensions", "..\..\Dependencies\Xorog.UniversalExtensions\Xorog.UniversalExtensions.csproj", "{1082AEE5-F298-412D-BE0D-12253D25AF1C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Release|x64 = Release|x64 + x64|x64 = x64|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1962E64F-BFA8-4ECA-83C6-FD09959D7E98}.Debug|x64.ActiveCfg = Debug|x64 + {1962E64F-BFA8-4ECA-83C6-FD09959D7E98}.Debug|x64.Build.0 = Debug|x64 + {1962E64F-BFA8-4ECA-83C6-FD09959D7E98}.Release|x64.ActiveCfg = Release|x64 + {1962E64F-BFA8-4ECA-83C6-FD09959D7E98}.Release|x64.Build.0 = Release|x64 + {1962E64F-BFA8-4ECA-83C6-FD09959D7E98}.x64|x64.ActiveCfg = Debug|x64 + {1962E64F-BFA8-4ECA-83C6-FD09959D7E98}.x64|x64.Build.0 = Debug|x64 + {8A8883E2-C01C-48A5-9CFF-16DB013DA0C8}.Debug|x64.ActiveCfg = Debug|x64 + {8A8883E2-C01C-48A5-9CFF-16DB013DA0C8}.Debug|x64.Build.0 = Debug|x64 + {8A8883E2-C01C-48A5-9CFF-16DB013DA0C8}.Release|x64.ActiveCfg = Release|x64 + {8A8883E2-C01C-48A5-9CFF-16DB013DA0C8}.Release|x64.Build.0 = Release|x64 + {8A8883E2-C01C-48A5-9CFF-16DB013DA0C8}.x64|x64.ActiveCfg = x64|x64 + {8A8883E2-C01C-48A5-9CFF-16DB013DA0C8}.x64|x64.Build.0 = x64|x64 + {1082AEE5-F298-412D-BE0D-12253D25AF1C}.Debug|x64.ActiveCfg = Debug|x64 + {1082AEE5-F298-412D-BE0D-12253D25AF1C}.Debug|x64.Build.0 = Debug|x64 + {1082AEE5-F298-412D-BE0D-12253D25AF1C}.Release|x64.ActiveCfg = Release|x64 + {1082AEE5-F298-412D-BE0D-12253D25AF1C}.Release|x64.Build.0 = Release|x64 + {1082AEE5-F298-412D-BE0D-12253D25AF1C}.x64|x64.ActiveCfg = x64|x64 + {1082AEE5-F298-412D-BE0D-12253D25AF1C}.x64|x64.Build.0 = x64|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {0B29991B-405D-41AD-8AAA-56C1A701ED99} + EndGlobalSection +EndGlobal