From 8c0a82bb6ea5b12a7b5d82648ab8a52ff2beff2a Mon Sep 17 00:00:00 2001
From: LotP1 <68976644+LotP1@users.noreply.github.com>
Date: Thu, 26 Dec 2024 19:54:02 +0100
Subject: [PATCH] v4
---
.../LocalesValidationTask.cs | 15 ++---
.../Ryujinx.BuildValidationTasks.csproj | 55 +++----------------
.../ValidationTask.cs | 13 +++++
src/Ryujinx.BuildValidationTasks/program.cs | 33 +++++++++++
src/Ryujinx/Ryujinx.csproj | 5 +-
5 files changed, 63 insertions(+), 58 deletions(-)
create mode 100644 src/Ryujinx.BuildValidationTasks/ValidationTask.cs
create mode 100644 src/Ryujinx.BuildValidationTasks/program.cs
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 @@
-
-
+
+
+