diff --git a/src/Ryujinx.BuildValidationTasks/LocalesValidationTask.cs b/src/Ryujinx.BuildValidationTasks/LocalesValidationTask.cs index 62096cb18..63bbeb72f 100644 --- a/src/Ryujinx.BuildValidationTasks/LocalesValidationTask.cs +++ b/src/Ryujinx.BuildValidationTasks/LocalesValidationTask.cs @@ -1,22 +1,17 @@ using System; -using Microsoft.Build.Utilities; using System.Collections.Generic; using System.Linq; using System.IO; using System.Text.Json; -using Microsoft.Build.Framework; using System.Text.Encodings.Web; namespace Ryujinx.BuildValidationTasks { - public class LocalesValidationTask : Task + public class LocalesValidationTask : ValidationTask { - public string Path { get; set; } - - public override bool Execute() + public static bool Execute(string projectPath) { - string path = Path; - + string path = projectPath + "src\\Ryujinx\\Assets\\locales.json"; string data; using (StreamReader sr = new(path)) @@ -34,7 +29,7 @@ namespace Ryujinx.BuildValidationTasks } catch (Exception e) { - Log.LogError($"Json Validation failed! {e.Message}"); + //Log.LogError($"Json Validation failed! {e.Message}"); return false; } @@ -47,7 +42,7 @@ namespace Ryujinx.BuildValidationTasks foreach (string langCode in json.Languages.Where(it => !locale.Translations.ContainsKey(it))) { locale.Translations.Add(langCode, string.Empty); - Log.LogMessage(MessageImportance.High, $"Added '{langCode}' to Locale '{locale.ID}'"); + //Log.LogMessage(MessageImportance.High, $"Added '{langCode}' to Locale '{locale.ID}'"); } locale.Translations = locale.Translations.OrderBy(pair => pair.Key).ToDictionary(pair => pair.Key, pair => pair.Value); diff --git a/src/Ryujinx.BuildValidationTasks/Ryujinx.BuildValidationTasks.csproj b/src/Ryujinx.BuildValidationTasks/Ryujinx.BuildValidationTasks.csproj index c9f687f0e..12db48287 100644 --- a/src/Ryujinx.BuildValidationTasks/Ryujinx.BuildValidationTasks.csproj +++ b/src/Ryujinx.BuildValidationTasks/Ryujinx.BuildValidationTasks.csproj @@ -1,60 +1,23 @@ + net9.0 true $(MSBuildThisFileDirectory)temp_assemblies/ - - - - - - - - - - - - - - - - - - - - - - - - - - LocalesValidation + Exe + + - - - - - - - - - - - - - - - - - - - + - + \ No newline at end of file diff --git a/src/Ryujinx.BuildValidationTasks/ValidationTask.cs b/src/Ryujinx.BuildValidationTasks/ValidationTask.cs new file mode 100644 index 000000000..9577fa973 --- /dev/null +++ b/src/Ryujinx.BuildValidationTasks/ValidationTask.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Ryujinx.BuildValidationTasks +{ + public interface ValidationTask + { + public static bool Execute(string projectPath) { return true; } + } +} diff --git a/src/Ryujinx.BuildValidationTasks/program.cs b/src/Ryujinx.BuildValidationTasks/program.cs new file mode 100644 index 000000000..14dabc662 --- /dev/null +++ b/src/Ryujinx.BuildValidationTasks/program.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Ryujinx.BuildValidationTasks +{ + public class Program + { + static void Main(string[] args) + { + // Display the number of command line arguments. + if (args.Length != 1) + { + if (args.Length == 0) + throw new ArgumentException("Error: too few arguments!"); + else + throw new ArgumentException("Error: too many arguments!"); + } + if (string.IsNullOrEmpty(args[0])) + throw new ArgumentException("Error: path is null or empty!"); + + if (!Path.Exists(args[0])) + throw new ArgumentException("Error: path does not exist!"); + + Console.WriteLine(args[0]); + Console.WriteLine(Path.GetFullPath(args[0])); + LocalesValidationTask.Execute(args[0]); + } + } +} diff --git a/src/Ryujinx/Ryujinx.csproj b/src/Ryujinx/Ryujinx.csproj index 5ce148630..3594997b9 100644 --- a/src/Ryujinx/Ryujinx.csproj +++ b/src/Ryujinx/Ryujinx.csproj @@ -14,8 +14,9 @@ - - + + +