From 4be6553a1a2d60ccdba0244d10aedb2f38fbd19b Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Sun, 31 Mar 2024 22:13:38 +0800 Subject: [PATCH 01/29] =?UTF-8?q?=F0=9F=93=9D=20Chore(Submodules):=20Sync.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KitX Clients/KitX Dashboard | 2 +- KitX Clients/KitX Mobile | 2 +- KitX Standard | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/KitX Clients/KitX Dashboard b/KitX Clients/KitX Dashboard index 42277b1..48bf463 160000 --- a/KitX Clients/KitX Dashboard +++ b/KitX Clients/KitX Dashboard @@ -1 +1 @@ -Subproject commit 42277b1c41e465b9c3ec2cc66fa7c4b02137720e +Subproject commit 48bf463db28e702efc131678a4e2c8cd1725323d diff --git a/KitX Clients/KitX Mobile b/KitX Clients/KitX Mobile index 33c8575..6f6af99 160000 --- a/KitX Clients/KitX Mobile +++ b/KitX Clients/KitX Mobile @@ -1 +1 @@ -Subproject commit 33c8575330dd3fc47e8bfc87b3460565b0bb98cf +Subproject commit 6f6af9962ac9139c1fa514bf7bcad6e103545b29 diff --git a/KitX Standard b/KitX Standard index f1c2634..610e961 160000 --- a/KitX Standard +++ b/KitX Standard @@ -1 +1 @@ -Subproject commit f1c26342235521032b5eb384a000e36d1567713d +Subproject commit 610e96151cb2b7d10182ee1308839f648d698b38 From 968f8d64a939d31d77195ef501fd8ee6c2ce9fa6 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Sun, 7 Apr 2024 23:54:31 +0800 Subject: [PATCH 02/29] =?UTF-8?q?=F0=9F=93=9D=20Chore(Submodules):=20Sync?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - And we added files into solution file --- KitX Clients/KitX Mobile | 2 +- KitX Standard | 2 +- KitX.sln | 29 +++++++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/KitX Clients/KitX Mobile b/KitX Clients/KitX Mobile index 6f6af99..ad26d7b 160000 --- a/KitX Clients/KitX Mobile +++ b/KitX Clients/KitX Mobile @@ -1 +1 @@ -Subproject commit 6f6af9962ac9139c1fa514bf7bcad6e103545b29 +Subproject commit ad26d7bfd07463e4ef09c0cf3764c68dc01f9bae diff --git a/KitX Standard b/KitX Standard index 610e961..22d8067 160000 --- a/KitX Standard +++ b/KitX Standard @@ -1 +1 @@ -Subproject commit 610e96151cb2b7d10182ee1308839f648d698b38 +Subproject commit 22d80670d28fbef17a3319d21e01ebb0935d0580 diff --git a/KitX.sln b/KitX.sln index e9724fa..7814868 100644 --- a/KitX.sln +++ b/KitX.sln @@ -33,12 +33,31 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "KitX Clients", "KitX Clients", "{673CF32C-65BF-4EB3-83D3-47FEC77B47A0}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "KitX Standard", "KitX Standard", "{37E33B90-88B7-4404-9D42-D672A2916E6C}" + ProjectSection(SolutionItems) = preProject + KitX Standard\.gitignore = KitX Standard\.gitignore + KitX Standard\LICENSE = KitX Standard\LICENSE + KitX Standard\README.md = KitX Standard\README.md + EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "KitX SDK", "KitX SDK", "{69E9C41D-1848-4F9F-8C9C-0CAC1C167336}" + ProjectSection(SolutionItems) = preProject + KitX SDK\.gitignore = KitX SDK\.gitignore + KitX SDK\.gitmodules = KitX SDK\.gitmodules + KitX SDK\LICENSE = KitX SDK\LICENSE + KitX SDK\README.md = KitX SDK\README.md + EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "KitX Dashboard", "KitX Dashboard", "{0194E969-1457-4C16-AFAB-D2753DFA07F0}" + ProjectSection(SolutionItems) = preProject + KitX Clients\KitX Dashboard\.gitignore = KitX Clients\KitX Dashboard\.gitignore + KitX Clients\KitX Dashboard\LICENSE = KitX Clients\KitX Dashboard\LICENSE + KitX Clients\KitX Dashboard\README.md = KitX Clients\KitX Dashboard\README.md + EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "KitX Contracts", "KitX Contracts", "{42654B2B-4B5A-4B78-BC0A-8D3B3D82EC9A}" + ProjectSection(SolutionItems) = preProject + KitX Standard\KitX Contracts\README.md = KitX Standard\KitX Contracts\README.md + EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "KitX Script", "KitX Script", "{7C64F32B-E1EE-45F7-94A7-DA2AD9288249}" EndProject @@ -67,8 +86,18 @@ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KitX.Dashboard", "KitX Clients\KitX Dashboard\KitX Dashboard\KitX.Dashboard.csproj", "{1DA8715C-E5A1-40CC-9C6C-F39E90A0C3E7}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "KitX Loaders", "KitX Loaders", "{D6625876-40E0-4222-A6A9-4449BCA61D60}" + ProjectSection(SolutionItems) = preProject + KitX SDK\KitX Loaders\.gitignore = KitX SDK\KitX Loaders\.gitignore + KitX SDK\KitX Loaders\LICENSE = KitX SDK\KitX Loaders\LICENSE + KitX SDK\KitX Loaders\README.md = KitX SDK\KitX Loaders\README.md + EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "KitX Plugins", "KitX Plugins", "{447D9264-1F5D-4E66-801A-C43CA36B8D4F}" + ProjectSection(SolutionItems) = preProject + KitX SDK\KitX Plugins\.gitignore = KitX SDK\KitX Plugins\.gitignore + KitX SDK\KitX Plugins\LICENSE = KitX SDK\KitX Plugins\LICENSE + KitX SDK\KitX Plugins\README.md = KitX SDK\KitX Plugins\README.md + EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KitX.Loader.CSharp", "KitX SDK\KitX Loaders\KitX.Loader.CSharp\KitX.Loader.CSharp.csproj", "{5A8A4A32-653E-4DC5-99CB-5F1E59737835}" EndProject From faafe0e4aa433bd4cb1485ba7ec75bdc48a05208 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Tue, 16 Apr 2024 18:00:25 +0800 Subject: [PATCH 03/29] =?UTF-8?q?=F0=9F=93=84=20Docs(README):=20Overseas?= =?UTF-8?q?=20link=20support?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 861ef8a..94bf0e6 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ 

- + KitX Logo

@@ -8,7 +8,7 @@

- Docs website: English | 简体中文 + Docs website: English | 简体中文 🌐

From 803c2ad1eeb5c609d6b539bf8119c747b8a5c625 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Fri, 21 Jun 2024 20:16:40 +0800 Subject: [PATCH 04/29] =?UTF-8?q?=F0=9F=93=9D=20Chore(cheese):=20Adapt=20t?= =?UTF-8?q?o=20new=20cheese=20script=20engine?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cheese/references.cs | 58 +++++++++++++++++++ .cheese/references.json | 56 ------------------ .cheese/scripts/dev-maintainers/clean-root.cs | 11 ++++ 3 files changed, 69 insertions(+), 56 deletions(-) create mode 100644 .cheese/references.cs delete mode 100644 .cheese/references.json create mode 100644 .cheese/scripts/dev-maintainers/clean-root.cs diff --git a/.cheese/references.cs b/.cheese/references.cs new file mode 100644 index 0000000..3f7e747 --- /dev/null +++ b/.cheese/references.cs @@ -0,0 +1,58 @@ +return new List() +{ + new ReferenceItem + { + Name = "Common.Activity", + Location = "Reference/Common.Activity", + Url = "git@github.com:Crequency/Common.Activity.git", + Branch = "dev=main", + RemoteBranch = "origin/dev=main", + Type = ReferenceType.GitRepo, + }, + new ReferenceItem + { + Name = "Common.Algorithm", + Location = "Reference/Common.Algorithm", + Url = "git@github.com:Crequency/Common.Algorithm.git", + Branch = "dev=main", + RemoteBranch = "origin/dev=main", + Type = ReferenceType.GitRepo, + }, + new ReferenceItem + { + Name = "Common.BasicHelper", + Location = "Reference/Common.BasicHelper", + Url = "git@github.com:Crequency/Common.BasicHelper.git", + Branch = "dev=main", + RemoteBranch = "origin/dev=main", + Type = ReferenceType.GitRepo, + }, + new ReferenceItem + { + Name = "Common.Update", + Location = "Reference/Common.Update", + Url = "git@github.com:Crequency/Common.Update.git", + Branch = "dev=main", + RemoteBranch = "origin/dev=main", + Type = ReferenceType.GitRepo, + }, + new ReferenceItem + { + Name = "Csharpell", + Location = "Reference/Csharpell", + Url = "git@github.com:Dynesshely/Csharpell.git", + Branch = "dev=main", + RemoteBranch = "origin/dev=main", + Type = ReferenceType.GitRepo, + }, + new ReferenceItem + { + Name = "XamlMultiLanguageEditor", + Location = "KitX SDK/Reference/XamlMultiLanguageEditor", + Url = "git@github.com:Dynesshely/XamlMultiLanguageEditor.git", + Branch = "dev=main", + RemoteBranch = "origin/dev=main", + Type = ReferenceType.GitRepo, + InSubmodule = true, + }, +}; diff --git a/.cheese/references.json b/.cheese/references.json deleted file mode 100644 index 7d7b603..0000000 --- a/.cheese/references.json +++ /dev/null @@ -1,56 +0,0 @@ -[ - { - "Name": "Common.Activity", - "Location": "Reference/Common.Activity", - "Url": "git@github.com:Crequency/Common.Activity.git", - "Branch": "dev=main", - "RemoteBranch": "origin/dev=main", - "Type": 1, - "InSubmodule": false - }, - { - "Name": "Common.Algorithm", - "Location": "Reference/Common.Algorithm", - "Url": "git@github.com:Crequency/Common.Algorithm.git", - "Branch": "dev=main", - "RemoteBranch": "origin/dev=main", - "Type": 1, - "InSubmodule": false - }, - { - "Name": "Common.BasicHelper", - "Location": "Reference/Common.BasicHelper", - "Url": "git@github.com:Crequency/Common.BasicHelper.git", - "Branch": "dev=main", - "RemoteBranch": "origin/dev=main", - "Type": 1, - "InSubmodule": false - }, - { - "Name": "Common.Update", - "Location": "Reference/Common.Update", - "Url": "git@github.com:Crequency/Common.Update.git", - "Branch": "dev=main", - "RemoteBranch": "origin/dev=main", - "Type": 1, - "InSubmodule": false - }, - { - "Name": "Csharpell", - "Location": "Reference/Csharpell", - "Url": "git@github.com:Dynesshely/Csharpell.git", - "Branch": "dev=main", - "RemoteBranch": "origin/dev=main", - "Type": 1, - "InSubmodule": false - }, - { - "Name": "XamlMultiLanguageEditor", - "Location": "KitX SDK/Reference/XamlMultiLanguageEditor", - "Url": "git@github.com:Dynesshely/XamlMultiLanguageEditor.git", - "Branch": "dev=main", - "RemoteBranch": "origin/dev=main", - "Type": 1, - "InSubmodule": true - } -] \ No newline at end of file diff --git a/.cheese/scripts/dev-maintainers/clean-root.cs b/.cheese/scripts/dev-maintainers/clean-root.cs new file mode 100644 index 0000000..a25dd64 --- /dev/null +++ b/.cheese/scripts/dev-maintainers/clean-root.cs @@ -0,0 +1,11 @@ +using System; +using System.IO; +using System.Threading; + +while (true) +{ + if (Directory.Exists("Config")) + Directory.Delete("Config", true); + + Thread.Sleep(5000); +} From 26eceee4f481cb8ea3782baf81403aa3a7429b50 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Fri, 21 Jun 2024 20:17:09 +0800 Subject: [PATCH 05/29] =?UTF-8?q?=F0=9F=92=BE=20Feat:=20Try=20dotnet=20sou?= =?UTF-8?q?rce=20generator?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KitX.sln | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/KitX.sln b/KitX.sln index 7814868..704f5b3 100644 --- a/KitX.sln +++ b/KitX.sln @@ -123,6 +123,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KitX.Shared.CSharp", "KitX EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KitX.FileFormats.CSharp", "KitX Standard\KitX File Formats\KitX.FileFormats.CSharp\KitX.FileFormats.CSharp.csproj", "{78983ECE-5252-41C1-A8B3-6835FAF415F3}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Generators", "Generators", "{FF0F9B42-7FFA-4113-AD0E-15955D89BFEA}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KitX.Sdk.Generators.CSharp", "KitX SDK\Generators\KitX.Sdk.Generators.CSharp\KitX.Sdk.Generators.CSharp.csproj", "{DD575EF3-DF09-40A1-A89A-AB775D65A423}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -657,6 +661,26 @@ Global {78983ECE-5252-41C1-A8B3-6835FAF415F3}.Release|x64.Build.0 = Release|Any CPU {78983ECE-5252-41C1-A8B3-6835FAF415F3}.Release|x86.ActiveCfg = Release|Any CPU {78983ECE-5252-41C1-A8B3-6835FAF415F3}.Release|x86.Build.0 = Release|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Debug|ARM.ActiveCfg = Debug|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Debug|ARM.Build.0 = Debug|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Debug|ARM64.Build.0 = Debug|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Debug|x64.ActiveCfg = Debug|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Debug|x64.Build.0 = Debug|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Debug|x86.ActiveCfg = Debug|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Debug|x86.Build.0 = Debug|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Release|Any CPU.Build.0 = Release|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Release|ARM.ActiveCfg = Release|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Release|ARM.Build.0 = Release|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Release|ARM64.ActiveCfg = Release|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Release|ARM64.Build.0 = Release|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Release|x64.ActiveCfg = Release|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Release|x64.Build.0 = Release|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Release|x86.ActiveCfg = Release|Any CPU + {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -697,6 +721,8 @@ Global {21B43003-7DC5-4D0F-8097-0D0854BFD20D} = {37E33B90-88B7-4404-9D42-D672A2916E6C} {B5E52F06-2E2A-4EF7-A56B-DAFD8B7DFC7E} = {21B43003-7DC5-4D0F-8097-0D0854BFD20D} {78983ECE-5252-41C1-A8B3-6835FAF415F3} = {A0152BF5-A875-40C0-BD57-D99DDCDB5D4C} + {FF0F9B42-7FFA-4113-AD0E-15955D89BFEA} = {69E9C41D-1848-4F9F-8C9C-0CAC1C167336} + {DD575EF3-DF09-40A1-A89A-AB775D65A423} = {FF0F9B42-7FFA-4113-AD0E-15955D89BFEA} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {09BBC227-F41B-4D10-9E38-0EEE07ED17BC} From 2654a0aec94bbf64c67a6c697cedc81d648d7ac4 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Fri, 21 Jun 2024 20:19:32 +0800 Subject: [PATCH 06/29] =?UTF-8?q?=F0=9F=93=9D=20Chore(Submodules):=20Sync?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cheese/publishers/general.cs | 185 ++++++++++++++++++++++++++++++++++ KitX Clients/KitX Dashboard | 2 +- KitX Clients/KitX Installer | 2 +- KitX Clients/KitX Mobile | 2 +- KitX Clients/KitX Website | 2 +- KitX SDK | 2 +- KitX Standard | 2 +- 7 files changed, 191 insertions(+), 6 deletions(-) create mode 100644 .cheese/publishers/general.cs diff --git a/.cheese/publishers/general.cs b/.cheese/publishers/general.cs new file mode 100644 index 0000000..2da864b --- /dev/null +++ b/.cheese/publishers/general.cs @@ -0,0 +1,185 @@ +using System.Diagnostics; +using System.IO.Compression; +using Cheese.Options; +using Cheese.Utils.Cheese; +using Common.BasicHelper.Utils.Extensions; + +namespace Cheese.Utils.Publisher; + +public class Publisher +{ + private static Publisher? _instance; + + public static Publisher Instance => _instance ??= new(); + + internal static List AvailableColors = + [ + 1, + 2, + 3, + 5, + 9, + 10, + 11, + 13 + ]; + + public void Execute(PublishOptions options) + { + Console.WriteLine("Running Cheese Publisher"); + + if (PathHelper.Instance.BaseSlnDir is null) + { + Console.WriteLine("! You're not in KitX repo."); + return; + } + + var baseDir = PathHelper.Instance.BaseSlnDir; + + var publishDir = $"{baseDir}/KitX Publish".GetFullPath(); + + if (Directory.Exists(publishDir) && !options.SkipGenerating) + foreach (var dir in new DirectoryInfo(publishDir).GetDirectories()) + Directory.Delete(dir.FullName, true); + + var path = $"{baseDir}/KitX Clients/KitX Dashboard/KitX Dashboard/".GetFullPath(); + const string pro = "Properties/"; + const string pub = "PublishProfiles/"; + var abPubPath = $"{path}{pro}{pub}".GetFullPath(); + var files = Directory.GetFiles( + abPubPath, + "*.pubxml", + SearchOption.AllDirectories + ); + + var finishedThreads = 0; + var executingThreadIndex = 0; + + var updateFinishedThreadsLock = new object(); + var singleThreadUpdateLock = new object(); + + var random = new Random(); + + var threadOutputColors = new Dictionary(); + var usedColorsCount = 0; + var defaultColor = Console.ForegroundColor; + + var tasks = new List(); + + foreach (var item in files) + { + var index = executingThreadIndex++; + var color = GetRandomColor(); + threadOutputColors.Add(index, color); + var filename = Path.GetFileName(item); + + tasks.Add(() => + { + const string cmd = "dotnet"; + var arg = $"publish \"{(path + "/KitX.Dashboard.csproj").GetFullPath()}\" \"/p:PublishProfile={item}\""; + lock (singleThreadUpdateLock) + { + Print( + $""" + >>> On task_{index}: + Task file: {filename} + Executing: {cmd} {arg} + Output: + + """ + ); + } + var process = new Process(); + var psi = new ProcessStartInfo() + { + FileName = cmd, + Arguments = arg, + UseShellExecute = false, + CreateNoWindow = true, + RedirectStandardOutput = true, + RedirectStandardError = true + }; + process.StartInfo = psi; + process.Start(); + + while (!process.StandardOutput.EndOfStream) + { + var line = process.StandardOutput.ReadLine(); + Console.WriteLine($" {line}"); + } + + process.WaitForExit(); + + lock (updateFinishedThreadsLock) + { + ++finishedThreads; + Print($">>> Finished task_{index}, still {files.Length - finishedThreads} tasks running."); + } + }); + + Print($">>> New task: task_{index}\t-> {filename}"); + + continue; + + void Print(string msg) + { + Console.ForegroundColor = threadOutputColors[index]; + Console.WriteLine(msg); + Console.ForegroundColor = defaultColor; + } + } + + if (!options.SkipGenerating) + foreach (var task in tasks) + task.Invoke(); + + if (!options.SkipGenerating) + while (finishedThreads != files.Length) + { + } + + Console.WriteLine($">>> All tasks done."); + + if (options.SkipPacking) return; + + Console.WriteLine(">>> Begin packing."); + + var folders = new DirectoryInfo(publishDir).GetDirectories(); + + foreach (var folder in folders) + { + var name = folder.Name; + var zipFileName = $"{publishDir}/{name}.zip"; + + Console.WriteLine($">>> Packing {name}"); + + if (File.Exists(zipFileName)) + File.Delete(zipFileName); + + ZipFile.CreateFromDirectory( + folder.FullName, + zipFileName, + CompressionLevel.SmallestSize, + true + ); + } + + Console.WriteLine(">>> Packing done."); + + return; + + ConsoleColor GetRandomColor() + { + var cc = AvailableColors[GetRandomIndex(AvailableColors.Count)]; + if (usedColorsCount < AvailableColors.Count) + { + while (threadOutputColors.Values.ToList().Contains((ConsoleColor)cc)) + cc = AvailableColors[GetRandomIndex(AvailableColors.Count)]; + } + ++usedColorsCount; + return (ConsoleColor)cc; + } + + int GetRandomIndex(int max) => random.Next(0, max); + } +} diff --git a/KitX Clients/KitX Dashboard b/KitX Clients/KitX Dashboard index 48bf463..8f3ce1e 160000 --- a/KitX Clients/KitX Dashboard +++ b/KitX Clients/KitX Dashboard @@ -1 +1 @@ -Subproject commit 48bf463db28e702efc131678a4e2c8cd1725323d +Subproject commit 8f3ce1ee2f11f756179717bd4b3a456f13f66788 diff --git a/KitX Clients/KitX Installer b/KitX Clients/KitX Installer index 5b06184..a9de442 160000 --- a/KitX Clients/KitX Installer +++ b/KitX Clients/KitX Installer @@ -1 +1 @@ -Subproject commit 5b06184ea538a12b129d37b9eeec7bbb418d263c +Subproject commit a9de44296ca6fe528c440aae822e4e2f74bcd877 diff --git a/KitX Clients/KitX Mobile b/KitX Clients/KitX Mobile index ad26d7b..181bef4 160000 --- a/KitX Clients/KitX Mobile +++ b/KitX Clients/KitX Mobile @@ -1 +1 @@ -Subproject commit ad26d7bfd07463e4ef09c0cf3764c68dc01f9bae +Subproject commit 181bef4e754499a67e2280c97edba3b7f5f50d1f diff --git a/KitX Clients/KitX Website b/KitX Clients/KitX Website index 4b62aed..33f5440 160000 --- a/KitX Clients/KitX Website +++ b/KitX Clients/KitX Website @@ -1 +1 @@ -Subproject commit 4b62aed1aa9c9899ce7bc2320949e5f7aa706069 +Subproject commit 33f5440c6c9e657b4c68408d006b56d358d3aae1 diff --git a/KitX SDK b/KitX SDK index 7e9c2fd..67feebe 160000 --- a/KitX SDK +++ b/KitX SDK @@ -1 +1 @@ -Subproject commit 7e9c2fddaf9d924f91b38465e9d3ac5971a8eeba +Subproject commit 67feebed01e8fa11bd98bc4face88a88c6da7f5b diff --git a/KitX Standard b/KitX Standard index 22d8067..e6a7860 160000 --- a/KitX Standard +++ b/KitX Standard @@ -1 +1 @@ -Subproject commit 22d80670d28fbef17a3319d21e01ebb0935d0580 +Subproject commit e6a78609b07733e42c932f081d2b01ae6df5571e From f132306840233f0735aef5930bf282e818c55aee Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Wed, 26 Jun 2024 15:52:04 +0800 Subject: [PATCH 07/29] =?UTF-8?q?=F0=9F=93=9D=20Chore:=20Better=20publish?= =?UTF-8?q?=20script?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cheese/publishers/general.cs | 185 ---------------------------------- .cheese/scripts/publish.cs | 152 ++++++++++++++++++++++++++++ 2 files changed, 152 insertions(+), 185 deletions(-) delete mode 100644 .cheese/publishers/general.cs create mode 100644 .cheese/scripts/publish.cs diff --git a/.cheese/publishers/general.cs b/.cheese/publishers/general.cs deleted file mode 100644 index 2da864b..0000000 --- a/.cheese/publishers/general.cs +++ /dev/null @@ -1,185 +0,0 @@ -using System.Diagnostics; -using System.IO.Compression; -using Cheese.Options; -using Cheese.Utils.Cheese; -using Common.BasicHelper.Utils.Extensions; - -namespace Cheese.Utils.Publisher; - -public class Publisher -{ - private static Publisher? _instance; - - public static Publisher Instance => _instance ??= new(); - - internal static List AvailableColors = - [ - 1, - 2, - 3, - 5, - 9, - 10, - 11, - 13 - ]; - - public void Execute(PublishOptions options) - { - Console.WriteLine("Running Cheese Publisher"); - - if (PathHelper.Instance.BaseSlnDir is null) - { - Console.WriteLine("! You're not in KitX repo."); - return; - } - - var baseDir = PathHelper.Instance.BaseSlnDir; - - var publishDir = $"{baseDir}/KitX Publish".GetFullPath(); - - if (Directory.Exists(publishDir) && !options.SkipGenerating) - foreach (var dir in new DirectoryInfo(publishDir).GetDirectories()) - Directory.Delete(dir.FullName, true); - - var path = $"{baseDir}/KitX Clients/KitX Dashboard/KitX Dashboard/".GetFullPath(); - const string pro = "Properties/"; - const string pub = "PublishProfiles/"; - var abPubPath = $"{path}{pro}{pub}".GetFullPath(); - var files = Directory.GetFiles( - abPubPath, - "*.pubxml", - SearchOption.AllDirectories - ); - - var finishedThreads = 0; - var executingThreadIndex = 0; - - var updateFinishedThreadsLock = new object(); - var singleThreadUpdateLock = new object(); - - var random = new Random(); - - var threadOutputColors = new Dictionary(); - var usedColorsCount = 0; - var defaultColor = Console.ForegroundColor; - - var tasks = new List(); - - foreach (var item in files) - { - var index = executingThreadIndex++; - var color = GetRandomColor(); - threadOutputColors.Add(index, color); - var filename = Path.GetFileName(item); - - tasks.Add(() => - { - const string cmd = "dotnet"; - var arg = $"publish \"{(path + "/KitX.Dashboard.csproj").GetFullPath()}\" \"/p:PublishProfile={item}\""; - lock (singleThreadUpdateLock) - { - Print( - $""" - >>> On task_{index}: - Task file: {filename} - Executing: {cmd} {arg} - Output: - - """ - ); - } - var process = new Process(); - var psi = new ProcessStartInfo() - { - FileName = cmd, - Arguments = arg, - UseShellExecute = false, - CreateNoWindow = true, - RedirectStandardOutput = true, - RedirectStandardError = true - }; - process.StartInfo = psi; - process.Start(); - - while (!process.StandardOutput.EndOfStream) - { - var line = process.StandardOutput.ReadLine(); - Console.WriteLine($" {line}"); - } - - process.WaitForExit(); - - lock (updateFinishedThreadsLock) - { - ++finishedThreads; - Print($">>> Finished task_{index}, still {files.Length - finishedThreads} tasks running."); - } - }); - - Print($">>> New task: task_{index}\t-> {filename}"); - - continue; - - void Print(string msg) - { - Console.ForegroundColor = threadOutputColors[index]; - Console.WriteLine(msg); - Console.ForegroundColor = defaultColor; - } - } - - if (!options.SkipGenerating) - foreach (var task in tasks) - task.Invoke(); - - if (!options.SkipGenerating) - while (finishedThreads != files.Length) - { - } - - Console.WriteLine($">>> All tasks done."); - - if (options.SkipPacking) return; - - Console.WriteLine(">>> Begin packing."); - - var folders = new DirectoryInfo(publishDir).GetDirectories(); - - foreach (var folder in folders) - { - var name = folder.Name; - var zipFileName = $"{publishDir}/{name}.zip"; - - Console.WriteLine($">>> Packing {name}"); - - if (File.Exists(zipFileName)) - File.Delete(zipFileName); - - ZipFile.CreateFromDirectory( - folder.FullName, - zipFileName, - CompressionLevel.SmallestSize, - true - ); - } - - Console.WriteLine(">>> Packing done."); - - return; - - ConsoleColor GetRandomColor() - { - var cc = AvailableColors[GetRandomIndex(AvailableColors.Count)]; - if (usedColorsCount < AvailableColors.Count) - { - while (threadOutputColors.Values.ToList().Contains((ConsoleColor)cc)) - cc = AvailableColors[GetRandomIndex(AvailableColors.Count)]; - } - ++usedColorsCount; - return (ConsoleColor)cc; - } - - int GetRandomIndex(int max) => random.Next(0, max); - } -} diff --git a/.cheese/scripts/publish.cs b/.cheese/scripts/publish.cs new file mode 100644 index 0000000..4345091 --- /dev/null +++ b/.cheese/scripts/publish.cs @@ -0,0 +1,152 @@ +using System.Diagnostics; +using System.Text.Json; +using System.IO.Compression; +using Common.BasicHelper.Utils.Extensions; +using Spectre.Console; + +AnsiConsole.Write( + new FigletText("KitX Publisher") + .Centered() + .Color(Color.Blue)); + +PathHelper.Instance.AssertInSlnDirectory(out _); + +var baseDir = PathHelper.Instance.BaseSlnDir; + +var publishDir = $"{baseDir}/KitX Publish".GetFullPath(); + +if (Directory.Exists(publishDir) /* && !options.SkipGenerating */) + foreach (var dir in new DirectoryInfo(publishDir).GetDirectories()) + Directory.Delete(dir.FullName, true); + +const string pro = "Properties/"; +const string pub = "PublishProfiles/"; + +var path = $"{baseDir}/KitX Clients/KitX Dashboard/KitX Dashboard/".GetFullPath(); +var abPubPath = $"{path}{pro}{pub}".GetFullPath(); +var files = Directory.GetFiles( + abPubPath, + "*.pubxml", + SearchOption.AllDirectories +); + +var logsDir = $"{publishDir}/logs".GetFullPath(); +var log = $"{logsDir}/log-{DateTime.Now:yyyy-MM-dd-HH-mm-ss}.log".GetFullPath(); +if (!Directory.Exists(logsDir)) + Directory.CreateDirectory(logsDir); + +var packIgnore = $"{publishDir}/.packignore".GetFullPath(); + +var finishedThreads = 0; +var executingThreadIndex = 0; + +const string prompt = "[white]>>>[/]"; + +AnsiConsole.Progress() + .Columns(new ProgressColumn[] + { + new TaskDescriptionColumn(), + new ProgressBarColumn(), + new PercentageColumn(), + // new RemainingTimeColumn(), + new SpinnerColumn(), + }) + .Start(ctx => + { + var genTask = ctx.AddTask("[green]Publishing[/]"); + var packTask = ctx.AddTask("[blue]Packing[/]"); + + { + AnsiConsole.Write(new Rule($"[blue]Begin Generating[/]")); + + AnsiConsole.MarkupLine($"{prompt} Found {files.Length} profiles"); + AnsiConsole.Markup($"{prompt} Generating logs at: \"{Path.GetRelativePath(baseDir, log)}\""); + AnsiConsole.WriteLine(); + + packTask.IsIndeterminate = true; + + foreach (var item in files) + { + var index = executingThreadIndex++; + var filename = Path.GetFileName(item); + const string cmd = "dotnet"; + var arg = $"publish \"{(path + "/KitX.Dashboard.csproj").GetFullPath()}\" \"/p:PublishProfile={item}\""; + + AnsiConsole.MarkupLine($"{prompt} 📄 [white]{filename}[/]: [gray]{cmd} {arg}[/]"); + + var process = new Process(); + var psi = new ProcessStartInfo() + { + FileName = cmd, + Arguments = arg, + UseShellExecute = false, + CreateNoWindow = true, + RedirectStandardOutput = true, + RedirectStandardError = true + }; + process.StartInfo = psi; + process.Start(); + + while (!process.StandardOutput.EndOfStream) + { + var line = process.StandardOutput.ReadLine(); + + File.AppendAllText(log, Environment.NewLine + line); + } + + // Thread.Sleep(700); + + process.WaitForExit(); + + ++finishedThreads; + + genTask.Increment((1.0 / files.Length) * 100); + + AnsiConsole.MarkupLine($"{prompt} Finished task_{index}, still {files.Length - finishedThreads} tasks waiting"); + + AnsiConsole.Write(new Rule($"[red]Finished task-{index}[/]")); + } + + AnsiConsole.MarkupLine($"{prompt} All tasks done."); + + genTask.StopTask(); + } + + { + AnsiConsole.MarkupLine($"{prompt} Begin packing."); + + packTask.IsIndeterminate = false; + + var ignoredDirectories = JsonSerializer.Deserialize>(File.ReadAllText(packIgnore)); + + var folders = new DirectoryInfo(publishDir).GetDirectories().ToList(); + + folders.RemoveAll(f => ignoredDirectories.Contains(f.Name)); + + foreach (var folder in folders) + { + var name = folder.Name; + var zipFileName = $"{publishDir}/{name}.zip"; + + AnsiConsole.MarkupLine($"{prompt} Packing 📂 [yellow]{name}[/]"); + + if (File.Exists(zipFileName)) + File.Delete(zipFileName); + + ZipFile.CreateFromDirectory( + folder.FullName, + zipFileName, + CompressionLevel.SmallestSize, + true + ); + + AnsiConsole.MarkupLine($" Packed to {Path.GetRelativePath(baseDir, zipFileName)}"); + + packTask.Increment((1.0 / folders.Count) * 100); + } + + AnsiConsole.MarkupLine($"{prompt} Packing done."); + + packTask.StopTask(); + } + }); From 75ebf40a078168eef9f3f36239ab00a32b5e4ea1 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Wed, 26 Jun 2024 23:09:36 +0800 Subject: [PATCH 08/29] =?UTF-8?q?=F0=9F=93=9D=20Chore(ReSharper):=20Dictio?= =?UTF-8?q?nary?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KitX.sln.DotSettings | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 KitX.sln.DotSettings diff --git a/KitX.sln.DotSettings b/KitX.sln.DotSettings new file mode 100644 index 0000000..33a532e --- /dev/null +++ b/KitX.sln.DotSettings @@ -0,0 +1,5 @@ + + True + True + True + True \ No newline at end of file From 601f75bce06027afc354a867779e5f43d25723a3 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Thu, 27 Jun 2024 00:40:00 +0800 Subject: [PATCH 09/29] =?UTF-8?q?=F0=9F=93=9D=20Chore(i18n):=20Available?= =?UTF-8?q?=20to=20execute=20XamlMLE=20through=20cheese?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cheese/scripts/i18n.cs | 46 +++++++++++ .cheese/scripts/publish.cs | 155 +++++++++++++++++++------------------ 2 files changed, 124 insertions(+), 77 deletions(-) create mode 100644 .cheese/scripts/i18n.cs diff --git a/.cheese/scripts/i18n.cs b/.cheese/scripts/i18n.cs new file mode 100644 index 0000000..cf1a83f --- /dev/null +++ b/.cheese/scripts/i18n.cs @@ -0,0 +1,46 @@ +using System.Diagnostics; +using Common.BasicHelper.Core.Shell; +using Common.BasicHelper.Utils.Extensions; +using Spectre.Console; + +var utilsToLaunch = AnsiConsole.Prompt( + new MultiSelectionPrompt() + .Title("Which [green]i18n utils[/] are to be launched ?") + .NotRequired() + .PageSize(10) + .MoreChoicesText("[grey](Move up and down to reveal more utils)[/]") + .InstructionsText("[grey](Press [blue][/] to toggle a i18n util, [green][/] to accept)[/]") + .AddChoices( + new[] { + "KitX Dashboard (XamlMLE)" + } + ) + ); + +var baseDir = PathHelper.Instance.BaseSlnDir; + +foreach (var util in utilsToLaunch) +{ + AnsiConsole.MarkupLine($"@ Launching {util}"); + + switch (util) + { + case "KitX Dashboard (XamlMLE)": + var xamlMleDir = $"{baseDir}/KitX SDK/Reference/XamlMultiLanguageEditor".GetFullPath(); + var scriptPath = $"{xamlMleDir}/run.ps1".GetFullPath(); + + var args = new StringBuilder() + .Append($" -WorkingDirectory \"{xamlMleDir}\"") + .Append($" -Command \"& '{scriptPath}'\"") + .ToString() + ; + + Console.WriteLine(args); + + var result = "pwsh".ExecuteAsCommand(args: args, findInPath: true); + + Console.WriteLine(result); + + break; + } +} diff --git a/.cheese/scripts/publish.cs b/.cheese/scripts/publish.cs index 4345091..027e51b 100644 --- a/.cheese/scripts/publish.cs +++ b/.cheese/scripts/publish.cs @@ -7,7 +7,8 @@ AnsiConsole.Write( new FigletText("KitX Publisher") .Centered() - .Color(Color.Blue)); + .Color(Color.Blue) +); PathHelper.Instance.AssertInSlnDirectory(out _); @@ -42,111 +43,111 @@ const string prompt = "[white]>>>[/]"; -AnsiConsole.Progress() - .Columns(new ProgressColumn[] +AnsiConsole + .Progress() + .Columns( + new ProgressColumn[] { new TaskDescriptionColumn(), new ProgressBarColumn(), new PercentageColumn(), - // new RemainingTimeColumn(), new SpinnerColumn(), - }) - .Start(ctx => - { - var genTask = ctx.AddTask("[green]Publishing[/]"); - var packTask = ctx.AddTask("[blue]Packing[/]"); - - { - AnsiConsole.Write(new Rule($"[blue]Begin Generating[/]")); - - AnsiConsole.MarkupLine($"{prompt} Found {files.Length} profiles"); - AnsiConsole.Markup($"{prompt} Generating logs at: \"{Path.GetRelativePath(baseDir, log)}\""); - AnsiConsole.WriteLine(); - - packTask.IsIndeterminate = true; + } + ) + .Start(ctx => + { + var genTask = ctx.AddTask("[green]Publishing[/]"); + var packTask = ctx.AddTask("[blue]Packing[/]"); - foreach (var item in files) - { - var index = executingThreadIndex++; - var filename = Path.GetFileName(item); - const string cmd = "dotnet"; - var arg = $"publish \"{(path + "/KitX.Dashboard.csproj").GetFullPath()}\" \"/p:PublishProfile={item}\""; - - AnsiConsole.MarkupLine($"{prompt} 📄 [white]{filename}[/]: [gray]{cmd} {arg}[/]"); + { + AnsiConsole.Write(new Rule($"[blue]Begin Generating[/]")); - var process = new Process(); - var psi = new ProcessStartInfo() - { - FileName = cmd, - Arguments = arg, - UseShellExecute = false, - CreateNoWindow = true, - RedirectStandardOutput = true, - RedirectStandardError = true - }; - process.StartInfo = psi; - process.Start(); + AnsiConsole.MarkupLine($"{prompt} Found {files.Length} profiles"); + AnsiConsole.Markup($"{prompt} Generating logs at: \"{Path.GetRelativePath(baseDir, log)}\""); + AnsiConsole.WriteLine(); - while (!process.StandardOutput.EndOfStream) - { - var line = process.StandardOutput.ReadLine(); + packTask.IsIndeterminate = true; - File.AppendAllText(log, Environment.NewLine + line); - } + foreach (var item in files) + { + var index = executingThreadIndex++; + var filename = Path.GetFileName(item); + const string cmd = "dotnet"; + var arg = $"publish \"{(path + "/KitX.Dashboard.csproj").GetFullPath()}\" \"/p:PublishProfile={item}\""; - // Thread.Sleep(700); + AnsiConsole.MarkupLine($"{prompt} 📄 [white]{filename}[/]: [gray]{cmd} {arg}[/]"); - process.WaitForExit(); + var process = new Process(); + var psi = new ProcessStartInfo() + { + FileName = cmd, + Arguments = arg, + UseShellExecute = false, + CreateNoWindow = true, + RedirectStandardOutput = true, + RedirectStandardError = true + }; + process.StartInfo = psi; + process.Start(); + + while (!process.StandardOutput.EndOfStream) + { + var line = process.StandardOutput.ReadLine(); - ++finishedThreads; + File.AppendAllText(log, Environment.NewLine + line); + } - genTask.Increment((1.0 / files.Length) * 100); + process.WaitForExit(); - AnsiConsole.MarkupLine($"{prompt} Finished task_{index}, still {files.Length - finishedThreads} tasks waiting"); + ++finishedThreads; - AnsiConsole.Write(new Rule($"[red]Finished task-{index}[/]")); - } + genTask.Increment((1.0 / files.Length) * 100); - AnsiConsole.MarkupLine($"{prompt} All tasks done."); + AnsiConsole.MarkupLine($"{prompt} Finished task_{index}, still {files.Length - finishedThreads} tasks waiting"); - genTask.StopTask(); + AnsiConsole.Write(new Rule($"[red]Finished task-{index}[/]")); } - { - AnsiConsole.MarkupLine($"{prompt} Begin packing."); + AnsiConsole.MarkupLine($"{prompt} All tasks done."); - packTask.IsIndeterminate = false; + genTask.StopTask(); + } - var ignoredDirectories = JsonSerializer.Deserialize>(File.ReadAllText(packIgnore)); + { + AnsiConsole.MarkupLine($"{prompt} Begin packing."); - var folders = new DirectoryInfo(publishDir).GetDirectories().ToList(); + packTask.IsIndeterminate = false; - folders.RemoveAll(f => ignoredDirectories.Contains(f.Name)); + var ignoredDirectories = JsonSerializer.Deserialize>(File.ReadAllText(packIgnore)); - foreach (var folder in folders) - { - var name = folder.Name; - var zipFileName = $"{publishDir}/{name}.zip"; + var folders = new DirectoryInfo(publishDir).GetDirectories().ToList(); - AnsiConsole.MarkupLine($"{prompt} Packing 📂 [yellow]{name}[/]"); + folders.RemoveAll(f => ignoredDirectories.Contains(f.Name)); - if (File.Exists(zipFileName)) - File.Delete(zipFileName); + foreach (var folder in folders) + { + var name = folder.Name; + var zipFileName = $"{publishDir}/{name}.zip"; - ZipFile.CreateFromDirectory( - folder.FullName, - zipFileName, - CompressionLevel.SmallestSize, - true - ); + AnsiConsole.MarkupLine($"{prompt} Packing 📂 [yellow]{name}[/]"); - AnsiConsole.MarkupLine($" Packed to {Path.GetRelativePath(baseDir, zipFileName)}"); + if (File.Exists(zipFileName)) + File.Delete(zipFileName); - packTask.Increment((1.0 / folders.Count) * 100); - } + ZipFile.CreateFromDirectory( + folder.FullName, + zipFileName, + CompressionLevel.SmallestSize, + true + ); - AnsiConsole.MarkupLine($"{prompt} Packing done."); + AnsiConsole.MarkupLine($" Packed to {Path.GetRelativePath(baseDir, zipFileName)}"); - packTask.StopTask(); + packTask.Increment((1.0 / folders.Count) * 100); } - }); + + AnsiConsole.MarkupLine($"{prompt} Packing done."); + + packTask.StopTask(); + } + }); From 58f26946fee273d9692315ce99b6051f392cef77 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Tue, 10 Sep 2024 02:08:01 +0800 Subject: [PATCH 10/29] =?UTF-8?q?=F0=9F=93=9D=20Chore:=20Sync=20`KitX=20SD?= =?UTF-8?q?K`=20and=20other=20submodules?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KitX Clients/KitX Dashboard | 2 +- KitX Clients/KitX Installer | 2 +- KitX Clients/KitX Mobile | 2 +- KitX Clients/KitX Website | 2 +- KitX SDK | 2 +- KitX Standard | 2 +- KitX.sln | 28 +++++++++++++++++++++++++++- 7 files changed, 33 insertions(+), 7 deletions(-) diff --git a/KitX Clients/KitX Dashboard b/KitX Clients/KitX Dashboard index 8f3ce1e..139bd39 160000 --- a/KitX Clients/KitX Dashboard +++ b/KitX Clients/KitX Dashboard @@ -1 +1 @@ -Subproject commit 8f3ce1ee2f11f756179717bd4b3a456f13f66788 +Subproject commit 139bd39a63974aa7dd97bb863a1e66e0262405c8 diff --git a/KitX Clients/KitX Installer b/KitX Clients/KitX Installer index a9de442..94bdca7 160000 --- a/KitX Clients/KitX Installer +++ b/KitX Clients/KitX Installer @@ -1 +1 @@ -Subproject commit a9de44296ca6fe528c440aae822e4e2f74bcd877 +Subproject commit 94bdca7fdf020c50aebf1b75f19d7b8a06cf7ba1 diff --git a/KitX Clients/KitX Mobile b/KitX Clients/KitX Mobile index 181bef4..bcc11f4 160000 --- a/KitX Clients/KitX Mobile +++ b/KitX Clients/KitX Mobile @@ -1 +1 @@ -Subproject commit 181bef4e754499a67e2280c97edba3b7f5f50d1f +Subproject commit bcc11f42b6217b115b9ecdc16e38aadc7e396fe5 diff --git a/KitX Clients/KitX Website b/KitX Clients/KitX Website index 33f5440..ca78cf4 160000 --- a/KitX Clients/KitX Website +++ b/KitX Clients/KitX Website @@ -1 +1 @@ -Subproject commit 33f5440c6c9e657b4c68408d006b56d358d3aae1 +Subproject commit ca78cf4cf6eabc2a97706ccfd5aab948a37887ee diff --git a/KitX SDK b/KitX SDK index 67feebe..4851a31 160000 --- a/KitX SDK +++ b/KitX SDK @@ -1 +1 @@ -Subproject commit 67feebed01e8fa11bd98bc4face88a88c6da7f5b +Subproject commit 4851a31499ac06189fda4896db11726034941e97 diff --git a/KitX Standard b/KitX Standard index e6a7860..c7524d0 160000 --- a/KitX Standard +++ b/KitX Standard @@ -1 +1 @@ -Subproject commit e6a78609b07733e42c932f081d2b01ae6df5571e +Subproject commit c7524d0f8745c9f404e4ef1e45e581816ef21c80 diff --git a/KitX.sln b/KitX.sln index 704f5b3..4c45fc8 100644 --- a/KitX.sln +++ b/KitX.sln @@ -125,7 +125,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KitX.FileFormats.CSharp", " EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Generators", "Generators", "{FF0F9B42-7FFA-4113-AD0E-15955D89BFEA}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KitX.Sdk.Generators.CSharp", "KitX SDK\Generators\KitX.Sdk.Generators.CSharp\KitX.Sdk.Generators.CSharp.csproj", "{DD575EF3-DF09-40A1-A89A-AB775D65A423}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KitX.Sdk.Generators.CSharp", "KitX SDK\Generators\KitX.Sdk.Generators.CSharp\KitX.Sdk.Generators.CSharp.csproj", "{DD575EF3-DF09-40A1-A89A-AB775D65A423}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Units", "Units", "{2E7D2566-EAFF-4921-A312-88CF0ABC40E6}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SyncCodes", "KitX SDK\Utils\SyncCodes\SyncCodes.csproj", "{4D8ED1CF-E2FF-4666-88D5-7D5300014301}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -681,6 +685,26 @@ Global {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Release|x64.Build.0 = Release|Any CPU {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Release|x86.ActiveCfg = Release|Any CPU {DD575EF3-DF09-40A1-A89A-AB775D65A423}.Release|x86.Build.0 = Release|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Debug|ARM.ActiveCfg = Debug|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Debug|ARM.Build.0 = Debug|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Debug|ARM64.Build.0 = Debug|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Debug|x64.ActiveCfg = Debug|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Debug|x64.Build.0 = Debug|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Debug|x86.ActiveCfg = Debug|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Debug|x86.Build.0 = Debug|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Release|Any CPU.Build.0 = Release|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Release|ARM.ActiveCfg = Release|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Release|ARM.Build.0 = Release|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Release|ARM64.ActiveCfg = Release|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Release|ARM64.Build.0 = Release|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Release|x64.ActiveCfg = Release|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Release|x64.Build.0 = Release|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Release|x86.ActiveCfg = Release|Any CPU + {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -723,6 +747,8 @@ Global {78983ECE-5252-41C1-A8B3-6835FAF415F3} = {A0152BF5-A875-40C0-BD57-D99DDCDB5D4C} {FF0F9B42-7FFA-4113-AD0E-15955D89BFEA} = {69E9C41D-1848-4F9F-8C9C-0CAC1C167336} {DD575EF3-DF09-40A1-A89A-AB775D65A423} = {FF0F9B42-7FFA-4113-AD0E-15955D89BFEA} + {2E7D2566-EAFF-4921-A312-88CF0ABC40E6} = {69E9C41D-1848-4F9F-8C9C-0CAC1C167336} + {4D8ED1CF-E2FF-4666-88D5-7D5300014301} = {2E7D2566-EAFF-4921-A312-88CF0ABC40E6} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {09BBC227-F41B-4D10-9E38-0EEE07ED17BC} From 3d81b0d7be09c3d5a9c9db4170f0f7509668723c Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Tue, 10 Sep 2024 02:11:32 +0800 Subject: [PATCH 11/29] =?UTF-8?q?=F0=9F=93=9D=20Chore:=20Sync=20submodules?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KitX Clients/KitX Mobile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KitX Clients/KitX Mobile b/KitX Clients/KitX Mobile index bcc11f4..50e19a6 160000 --- a/KitX Clients/KitX Mobile +++ b/KitX Clients/KitX Mobile @@ -1 +1 @@ -Subproject commit bcc11f42b6217b115b9ecdc16e38aadc7e396fe5 +Subproject commit 50e19a6a6d49f44d0161f4fa6e31ae87ef6e840c From a1a3e3143fb79a6087061a9dc7befe66b83063a9 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Sat, 28 Sep 2024 11:53:21 +0800 Subject: [PATCH 12/29] =?UTF-8?q?=F0=9F=92=BE=20Feat(Publisher):=20Availab?= =?UTF-8?q?le=20to=20ignore=20`.packignore`=20file=20when=20it=20not=20exi?= =?UTF-8?q?sts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cheese/scripts/publish.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.cheese/scripts/publish.cs b/.cheese/scripts/publish.cs index 027e51b..e494971 100644 --- a/.cheese/scripts/publish.cs +++ b/.cheese/scripts/publish.cs @@ -37,6 +37,7 @@ Directory.CreateDirectory(logsDir); var packIgnore = $"{publishDir}/.packignore".GetFullPath(); +var packIgnoreExists = File.Exists(packIgnore); var finishedThreads = 0; var executingThreadIndex = 0; @@ -116,9 +117,14 @@ { AnsiConsole.MarkupLine($"{prompt} Begin packing."); + if (packIgnoreExists) + AnsiConsole.MarkupLine($"{prompt} `.packignore` not exists, all folder will be packed."); + packTask.IsIndeterminate = false; - var ignoredDirectories = JsonSerializer.Deserialize>(File.ReadAllText(packIgnore)); + var ignoredDirectories = packIgnoreExists + ? JsonSerializer.Deserialize>(File.ReadAllText(packIgnore)) + : new List(); var folders = new DirectoryInfo(publishDir).GetDirectories().ToList(); From db5a04aee8d3d05e11b7e94824916d1acdd133c9 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Sat, 28 Sep 2024 12:12:46 +0800 Subject: [PATCH 13/29] =?UTF-8?q?=F0=9F=93=9D=20Chore:=20Better=20cheese?= =?UTF-8?q?=20scripts=20support?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cheese/KitX.cheese.csproj | 10 ++++++++++ .cheese/scripts/publish.cs | 40 +++++++++++++++++++++----------------- KitX Clients/KitX Website | 2 +- KitX.sln | 22 +++++++++++++++++++++ 4 files changed, 55 insertions(+), 19 deletions(-) create mode 100644 .cheese/KitX.cheese.csproj diff --git a/.cheese/KitX.cheese.csproj b/.cheese/KitX.cheese.csproj new file mode 100644 index 0000000..a5c4ebf --- /dev/null +++ b/.cheese/KitX.cheese.csproj @@ -0,0 +1,10 @@ + + + + + net8.0 + enable + enable + + + diff --git a/.cheese/scripts/publish.cs b/.cheese/scripts/publish.cs index e494971..c3a684e 100644 --- a/.cheese/scripts/publish.cs +++ b/.cheese/scripts/publish.cs @@ -1,14 +1,10 @@ using System.Diagnostics; -using System.Text.Json; using System.IO.Compression; +using System.Text.Json; using Common.BasicHelper.Utils.Extensions; using Spectre.Console; -AnsiConsole.Write( - new FigletText("KitX Publisher") - .Centered() - .Color(Color.Blue) -); +AnsiConsole.Write(new FigletText("KitX Publisher").Centered().Color(Color.Blue)); PathHelper.Instance.AssertInSlnDirectory(out _); @@ -16,7 +12,7 @@ var publishDir = $"{baseDir}/KitX Publish".GetFullPath(); -if (Directory.Exists(publishDir) /* && !options.SkipGenerating */) +if (Directory.Exists(publishDir)) foreach (var dir in new DirectoryInfo(publishDir).GetDirectories()) Directory.Delete(dir.FullName, true); @@ -25,11 +21,7 @@ var path = $"{baseDir}/KitX Clients/KitX Dashboard/KitX Dashboard/".GetFullPath(); var abPubPath = $"{path}{pro}{pub}".GetFullPath(); -var files = Directory.GetFiles( - abPubPath, - "*.pubxml", - SearchOption.AllDirectories -); +var files = Directory.GetFiles(abPubPath, "*.pubxml", SearchOption.AllDirectories); var logsDir = $"{publishDir}/logs".GetFullPath(); var log = $"{logsDir}/log-{DateTime.Now:yyyy-MM-dd-HH-mm-ss}.log".GetFullPath(); @@ -64,7 +56,9 @@ AnsiConsole.Write(new Rule($"[blue]Begin Generating[/]")); AnsiConsole.MarkupLine($"{prompt} Found {files.Length} profiles"); - AnsiConsole.Markup($"{prompt} Generating logs at: \"{Path.GetRelativePath(baseDir, log)}\""); + AnsiConsole.Markup( + $"{prompt} Generating logs at: \"{Path.GetRelativePath(baseDir, log)}\"" + ); AnsiConsole.WriteLine(); packTask.IsIndeterminate = true; @@ -74,7 +68,11 @@ var index = executingThreadIndex++; var filename = Path.GetFileName(item); const string cmd = "dotnet"; - var arg = $"publish \"{(path + "/KitX.Dashboard.csproj").GetFullPath()}\" \"/p:PublishProfile={item}\""; + var arg = new StringBuilder() + .Append("publish ") + .Append($"\"{(path + "/KitX.Dashboard.csproj").GetFullPath()}\" ") + .Append($"\"/p:PublishProfile={item}\"") + .ToString(); AnsiConsole.MarkupLine($"{prompt} 📄 [white]{filename}[/]: [gray]{cmd} {arg}[/]"); @@ -86,7 +84,7 @@ UseShellExecute = false, CreateNoWindow = true, RedirectStandardOutput = true, - RedirectStandardError = true + RedirectStandardError = true, }; process.StartInfo = psi; process.Start(); @@ -104,7 +102,9 @@ genTask.Increment((1.0 / files.Length) * 100); - AnsiConsole.MarkupLine($"{prompt} Finished task_{index}, still {files.Length - finishedThreads} tasks waiting"); + AnsiConsole.MarkupLine( + $"{prompt} Finished task_{index}, still {files.Length - finishedThreads} tasks waiting" + ); AnsiConsole.Write(new Rule($"[red]Finished task-{index}[/]")); } @@ -118,7 +118,9 @@ AnsiConsole.MarkupLine($"{prompt} Begin packing."); if (packIgnoreExists) - AnsiConsole.MarkupLine($"{prompt} `.packignore` not exists, all folder will be packed."); + AnsiConsole.MarkupLine( + $"{prompt} `.packignore` not exists, all folder will be packed." + ); packTask.IsIndeterminate = false; @@ -147,7 +149,9 @@ true ); - AnsiConsole.MarkupLine($" Packed to {Path.GetRelativePath(baseDir, zipFileName)}"); + AnsiConsole.MarkupLine( + $" Packed to {Path.GetRelativePath(baseDir, zipFileName)}" + ); packTask.Increment((1.0 / folders.Count) * 100); } diff --git a/KitX Clients/KitX Website b/KitX Clients/KitX Website index ca78cf4..9c695af 160000 --- a/KitX Clients/KitX Website +++ b/KitX Clients/KitX Website @@ -1 +1 @@ -Subproject commit ca78cf4cf6eabc2a97706ccfd5aab948a37887ee +Subproject commit 9c695af3e90d42c804bba5ceb9d87222dd4418bb diff --git a/KitX.sln b/KitX.sln index 4c45fc8..26fa514 100644 --- a/KitX.sln +++ b/KitX.sln @@ -131,6 +131,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Units", "Units", "{2E7D2566 EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SyncCodes", "KitX SDK\Utils\SyncCodes\SyncCodes.csproj", "{4D8ED1CF-E2FF-4666-88D5-7D5300014301}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KitX.cheese", ".cheese\KitX.cheese.csproj", "{3EF56BF7-2969-4FBB-A445-1D43F8666502}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -705,6 +707,26 @@ Global {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Release|x64.Build.0 = Release|Any CPU {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Release|x86.ActiveCfg = Release|Any CPU {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Release|x86.Build.0 = Release|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|ARM.ActiveCfg = Debug|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|ARM.Build.0 = Debug|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|ARM64.Build.0 = Debug|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|x64.ActiveCfg = Debug|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|x64.Build.0 = Debug|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|x86.ActiveCfg = Debug|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|x86.Build.0 = Debug|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|Any CPU.Build.0 = Release|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|ARM.ActiveCfg = Release|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|ARM.Build.0 = Release|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|ARM64.ActiveCfg = Release|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|ARM64.Build.0 = Release|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|x64.ActiveCfg = Release|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|x64.Build.0 = Release|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|x86.ActiveCfg = Release|Any CPU + {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 7d3996a6ac41801f0b3c1211270746c587ce7aa7 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Sat, 28 Sep 2024 12:15:38 +0800 Subject: [PATCH 14/29] =?UTF-8?q?=F0=9F=93=9D=20Chore:=20Updated?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...{KitX.cheese.csproj => KitX.Cheese.csproj} | 1 - KitX.sln | 42 +++++++++---------- 2 files changed, 21 insertions(+), 22 deletions(-) rename .cheese/{KitX.cheese.csproj => KitX.Cheese.csproj} (82%) diff --git a/.cheese/KitX.cheese.csproj b/.cheese/KitX.Cheese.csproj similarity index 82% rename from .cheese/KitX.cheese.csproj rename to .cheese/KitX.Cheese.csproj index a5c4ebf..8a91831 100644 --- a/.cheese/KitX.cheese.csproj +++ b/.cheese/KitX.Cheese.csproj @@ -1,7 +1,6 @@ - net8.0 enable enable diff --git a/KitX.sln b/KitX.sln index 26fa514..61f3013 100644 --- a/KitX.sln +++ b/KitX.sln @@ -131,7 +131,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Units", "Units", "{2E7D2566 EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SyncCodes", "KitX SDK\Utils\SyncCodes\SyncCodes.csproj", "{4D8ED1CF-E2FF-4666-88D5-7D5300014301}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KitX.cheese", ".cheese\KitX.cheese.csproj", "{3EF56BF7-2969-4FBB-A445-1D43F8666502}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KitX.Cheese", ".cheese\KitX.Cheese.csproj", "{4FF6F614-F88E-4621-9A30-F6A75873218D}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -707,26 +707,26 @@ Global {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Release|x64.Build.0 = Release|Any CPU {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Release|x86.ActiveCfg = Release|Any CPU {4D8ED1CF-E2FF-4666-88D5-7D5300014301}.Release|x86.Build.0 = Release|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|ARM.ActiveCfg = Debug|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|ARM.Build.0 = Debug|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|ARM64.Build.0 = Debug|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|x64.ActiveCfg = Debug|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|x64.Build.0 = Debug|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|x86.ActiveCfg = Debug|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Debug|x86.Build.0 = Debug|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|Any CPU.Build.0 = Release|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|ARM.ActiveCfg = Release|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|ARM.Build.0 = Release|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|ARM64.ActiveCfg = Release|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|ARM64.Build.0 = Release|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|x64.ActiveCfg = Release|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|x64.Build.0 = Release|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|x86.ActiveCfg = Release|Any CPU - {3EF56BF7-2969-4FBB-A445-1D43F8666502}.Release|x86.Build.0 = Release|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Debug|ARM.ActiveCfg = Debug|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Debug|ARM.Build.0 = Debug|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Debug|ARM64.Build.0 = Debug|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Debug|x64.ActiveCfg = Debug|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Debug|x64.Build.0 = Debug|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Debug|x86.ActiveCfg = Debug|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Debug|x86.Build.0 = Debug|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Release|Any CPU.Build.0 = Release|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Release|ARM.ActiveCfg = Release|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Release|ARM.Build.0 = Release|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Release|ARM64.ActiveCfg = Release|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Release|ARM64.Build.0 = Release|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Release|x64.ActiveCfg = Release|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Release|x64.Build.0 = Release|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Release|x86.ActiveCfg = Release|Any CPU + {4FF6F614-F88E-4621-9A30-F6A75873218D}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 0fc66890a030a4a56d22a8ca5ceefb3a1ec1700b Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Sun, 29 Sep 2024 09:28:19 +0800 Subject: [PATCH 15/29] =?UTF-8?q?=F0=9F=93=9D=20Chore:=20Sync?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KitX Clients/KitX Dashboard | 2 +- KitX SDK | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/KitX Clients/KitX Dashboard b/KitX Clients/KitX Dashboard index 139bd39..9560c21 160000 --- a/KitX Clients/KitX Dashboard +++ b/KitX Clients/KitX Dashboard @@ -1 +1 @@ -Subproject commit 139bd39a63974aa7dd97bb863a1e66e0262405c8 +Subproject commit 9560c21376820b16574450be019fdd4da462ade1 diff --git a/KitX SDK b/KitX SDK index 4851a31..d7ba74f 160000 --- a/KitX SDK +++ b/KitX SDK @@ -1 +1 @@ -Subproject commit 4851a31499ac06189fda4896db11726034941e97 +Subproject commit d7ba74fb1729ee8ed060012a6797498601c69551 From b51a6626375146b4052180def5f114df5c4b1bb2 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Mon, 30 Dec 2024 23:47:43 +0800 Subject: [PATCH 16/29] =?UTF-8?q?=F0=9F=93=9D=20Chore:=20Added=20?= =?UTF-8?q?,=20but=20it=20seems=20not=20took=20effect?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cheese/KitX.Cheese.csproj | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.cheese/KitX.Cheese.csproj b/.cheese/KitX.Cheese.csproj index 8a91831..d19cb69 100644 --- a/.cheese/KitX.Cheese.csproj +++ b/.cheese/KitX.Cheese.csproj @@ -6,4 +6,11 @@ enable + + CS8802 + CS0246 + CS0103 + CS0136 + + From 8d7e9b26e66d26fcced8fd3fa6a4e0f076f29710 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Tue, 31 Dec 2024 00:09:09 +0800 Subject: [PATCH 17/29] =?UTF-8?q?=F0=9F=93=9D=20Chore:=20Updated=20NuGet?= =?UTF-8?q?=20packages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KitX.sln | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/KitX.sln b/KitX.sln index 61f3013..90dcc89 100644 --- a/KitX.sln +++ b/KitX.sln @@ -26,8 +26,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.Update.Manual", "Ref EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.Update.Replacer", "Reference\Common.Update\Common.Update.Replacer\Common.Update.Replacer.csproj", "{00E4BCFB-9FBC-44BC-8AA5-3A24E790B23F}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.Algorithm.Interop", "Reference\Common.Algorithm\Common.Algorithm.Interop\Common.Algorithm.Interop.csproj", "{9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Common.Activity", "Reference\Common.Activity\Common.Activity\Common.Activity.csproj", "{C2489F7B-49C0-418C-8A63-0A6C134A3E08}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "KitX Clients", "KitX Clients", "{673CF32C-65BF-4EB3-83D3-47FEC77B47A0}" @@ -227,26 +225,6 @@ Global {00E4BCFB-9FBC-44BC-8AA5-3A24E790B23F}.Release|x64.Build.0 = Release|Any CPU {00E4BCFB-9FBC-44BC-8AA5-3A24E790B23F}.Release|x86.ActiveCfg = Release|Any CPU {00E4BCFB-9FBC-44BC-8AA5-3A24E790B23F}.Release|x86.Build.0 = Release|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Debug|ARM.ActiveCfg = Debug|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Debug|ARM.Build.0 = Debug|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Debug|ARM64.Build.0 = Debug|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Debug|x64.ActiveCfg = Debug|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Debug|x64.Build.0 = Debug|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Debug|x86.ActiveCfg = Debug|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Debug|x86.Build.0 = Debug|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Release|Any CPU.Build.0 = Release|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Release|ARM.ActiveCfg = Release|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Release|ARM.Build.0 = Release|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Release|ARM64.ActiveCfg = Release|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Release|ARM64.Build.0 = Release|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Release|x64.ActiveCfg = Release|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Release|x64.Build.0 = Release|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Release|x86.ActiveCfg = Release|Any CPU - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1}.Release|x86.Build.0 = Release|Any CPU {C2489F7B-49C0-418C-8A63-0A6C134A3E08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C2489F7B-49C0-418C-8A63-0A6C134A3E08}.Debug|Any CPU.Build.0 = Debug|Any CPU {C2489F7B-49C0-418C-8A63-0A6C134A3E08}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -736,7 +714,6 @@ Global {F926585B-E9EC-4158-857E-E6310C70DCEE} = {F021B1E7-44AC-469B-AB4D-36541902C694} {80C5352A-5ECD-4CC1-B6B2-033E624524DA} = {F021B1E7-44AC-469B-AB4D-36541902C694} {00E4BCFB-9FBC-44BC-8AA5-3A24E790B23F} = {F021B1E7-44AC-469B-AB4D-36541902C694} - {9EC8B0AF-3AD8-49FB-A9DA-154E6EA617C1} = {F021B1E7-44AC-469B-AB4D-36541902C694} {C2489F7B-49C0-418C-8A63-0A6C134A3E08} = {F021B1E7-44AC-469B-AB4D-36541902C694} {0194E969-1457-4C16-AFAB-D2753DFA07F0} = {673CF32C-65BF-4EB3-83D3-47FEC77B47A0} {42654B2B-4B5A-4B78-BC0A-8D3B3D82EC9A} = {37E33B90-88B7-4404-9D42-D672A2916E6C} From 1225dae338ff4b73de1259d8be7ac24831fb310e Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Tue, 31 Dec 2024 00:11:11 +0800 Subject: [PATCH 18/29] =?UTF-8?q?=F0=9F=93=9D=20Chore:=20Sync=20submodules?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KitX Clients/KitX Dashboard | 2 +- KitX Clients/KitX Website | 2 +- KitX SDK | 2 +- KitX Standard | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/KitX Clients/KitX Dashboard b/KitX Clients/KitX Dashboard index 9560c21..1d126de 160000 --- a/KitX Clients/KitX Dashboard +++ b/KitX Clients/KitX Dashboard @@ -1 +1 @@ -Subproject commit 9560c21376820b16574450be019fdd4da462ade1 +Subproject commit 1d126de5e2052c569991ba5f2a3dad51acc69daa diff --git a/KitX Clients/KitX Website b/KitX Clients/KitX Website index 9c695af..31e9aa9 160000 --- a/KitX Clients/KitX Website +++ b/KitX Clients/KitX Website @@ -1 +1 @@ -Subproject commit 9c695af3e90d42c804bba5ceb9d87222dd4418bb +Subproject commit 31e9aa917fa529ae4582375c1c6fe53bbdba5b74 diff --git a/KitX SDK b/KitX SDK index d7ba74f..f82e010 160000 --- a/KitX SDK +++ b/KitX SDK @@ -1 +1 @@ -Subproject commit d7ba74fb1729ee8ed060012a6797498601c69551 +Subproject commit f82e010fd3b7c7726122179fb346c2e98ecce9ea diff --git a/KitX Standard b/KitX Standard index c7524d0..bd9a2c0 160000 --- a/KitX Standard +++ b/KitX Standard @@ -1 +1 @@ -Subproject commit c7524d0f8745c9f404e4ef1e45e581816ef21c80 +Subproject commit bd9a2c0b577deb894be87bc307a2fc8dbe02105a From cce76ce7dbe6304b3e923b22690e44784c1ed2a2 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Tue, 31 Dec 2024 00:42:34 +0800 Subject: [PATCH 19/29] =?UTF-8?q?=F0=9F=93=84=20Docs:=20Better=20versions?= =?UTF-8?q?=20list?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index 94bf0e6..d037c9f 100644 --- a/README.md +++ b/README.md @@ -179,6 +179,11 @@ cheese setup --reference
+
+Not Finished Versions + +
+ | Version | Info | Code | Support | Term | Require | Runs on | |-----------------------------------------------------------------------------------|---------|-----------|--------------------|--------------------|---------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [v3.0.6187.47831](https://github.com/Crequency/KitX/releases/tag/v3.0.6187.47831) | Preview | Fly | :x: | 2022.04 -> 2023.04 | `Desktop`: .Net 6 (Also Self-Contained)
`Mobile`: Native | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) | @@ -186,6 +191,13 @@ cheese setup --reference | [v3.22.04.6235](https://github.com/Crequency/KitX/releases/tag/v3.22.04.6235) | Release | Break | :x: | 2022.04 -> 2023.04 | `Desktop`: .Net 6 (Also Self-Contained)
`Mobile`: Native | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) | | [v3.22.04.6287](https://github.com/Crequency/KitX/releases/tag/v3.22.04.6287) | Release | Evolution | :x: | 2022.04 -> 2023.04 | `Desktop`: .Net 6 (Also Self-Contained)
`Mobile`: Native | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) | | [v3.23.04.6488](https://github.com/Crequency/KitX/releases/tag/v3.23.04.6488) | Release | ToYou | :white_check_mark: | 2023.04 -> 2024.04 | `Desktop`: .Net 6 (Also Self-Contained)
`Mobile`: Native | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) ![Android](https://img.shields.io/badge/Android-3DDC84?logo=android&logoColor=white) ![Raspberry Pi](https://img.shields.io/badge/-RaspberryPi-C51A4A?logo=Raspberry-Pi) | + +
+ +
+ +| Version | Info | Code | Support | Term | Require | Runs on | +|-----------------------------------------------------------------------------------|---------|-----------|--------------------|--------------------|---------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | v3.24.10.x | Release | - | developing | 2024.10 -> 2025.04 | `Desktop`: .Net 8 (Also Self-Contained)
`Mobile`: Native | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) ![Android](https://img.shields.io/badge/Android-3DDC84?logo=android&logoColor=white) ![iOS](https://img.shields.io/badge/iOS-000000?logo=ios&logoColor=white) ![Raspberry Pi](https://img.shields.io/badge/-RaspberryPi-C51A4A?logo=Raspberry-Pi) | See details in [ChangeLog](./ChangeLog.md) From 362b94752cf6cecd6b7c377d313406f56a22b76d Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Wed, 1 Jan 2025 22:29:43 +0800 Subject: [PATCH 20/29] =?UTF-8?q?=F0=9F=93=84=20Docs:=20Updated=20target?= =?UTF-8?q?=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d037c9f..fbc4bad 100644 --- a/README.md +++ b/README.md @@ -198,7 +198,7 @@ cheese setup --reference | Version | Info | Code | Support | Term | Require | Runs on | |-----------------------------------------------------------------------------------|---------|-----------|--------------------|--------------------|---------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| v3.24.10.x | Release | - | developing | 2024.10 -> 2025.04 | `Desktop`: .Net 8 (Also Self-Contained)
`Mobile`: Native | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) ![Android](https://img.shields.io/badge/Android-3DDC84?logo=android&logoColor=white) ![iOS](https://img.shields.io/badge/iOS-000000?logo=ios&logoColor=white) ![Raspberry Pi](https://img.shields.io/badge/-RaspberryPi-C51A4A?logo=Raspberry-Pi) | +| v3.25.04.x | Release | - | developing | 2024.10 -> 2025.04 | `Desktop`: .Net 8 (Also Self-Contained)
`Mobile`: Native | ![Windows](https://img.shields.io/badge/Windows-0078D6?logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?logo=linux&logoColor=black) ![MacOS](https://img.shields.io/badge/mac%20os-000000?logo=macos&logoColor=F0F0F0) ![Android](https://img.shields.io/badge/Android-3DDC84?logo=android&logoColor=white) ![iOS](https://img.shields.io/badge/iOS-000000?logo=ios&logoColor=white) ![Raspberry Pi](https://img.shields.io/badge/-RaspberryPi-C51A4A?logo=Raspberry-Pi) | See details in [ChangeLog](./ChangeLog.md) From 5564e7b8630d3fa7650c721771f28b1be0a47af6 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Fri, 10 Jan 2025 03:07:27 +0800 Subject: [PATCH 21/29] =?UTF-8?q?=F0=9F=92=BE=20=F0=9F=8E=87=20Feat,=20Sty?= =?UTF-8?q?le(Dashboard):=20All-round=20optimization?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Separate platform specific operations out - Fixed some typo errors --- KitX Clients/KitX Dashboard | 2 +- KitX.sln | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/KitX Clients/KitX Dashboard b/KitX Clients/KitX Dashboard index 1d126de..5b17387 160000 --- a/KitX Clients/KitX Dashboard +++ b/KitX Clients/KitX Dashboard @@ -1 +1 @@ -Subproject commit 1d126de5e2052c569991ba5f2a3dad51acc69daa +Subproject commit 5b173878f53d0326b62551b501ff7e2083eefbda diff --git a/KitX.sln b/KitX.sln index 90dcc89..4d00b91 100644 --- a/KitX.sln +++ b/KitX.sln @@ -131,6 +131,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SyncCodes", "KitX SDK\Utils EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KitX.Cheese", ".cheese\KitX.Cheese.csproj", "{4FF6F614-F88E-4621-9A30-F6A75873218D}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Specific", "Specific", "{B2234097-D037-4126-9CC0-F7ECF3FEEEA5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KitX.Dashboard.Specific.MsWindows", "KitX Clients\KitX Dashboard\Specific\KitX Dashboard Specific MsWindows\KitX.Dashboard.Specific.MsWindows.csproj", "{91F13EBC-53CE-4032-AAFC-268E90C32E5F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -705,6 +709,26 @@ Global {4FF6F614-F88E-4621-9A30-F6A75873218D}.Release|x64.Build.0 = Release|Any CPU {4FF6F614-F88E-4621-9A30-F6A75873218D}.Release|x86.ActiveCfg = Release|Any CPU {4FF6F614-F88E-4621-9A30-F6A75873218D}.Release|x86.Build.0 = Release|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Debug|ARM.ActiveCfg = Debug|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Debug|ARM.Build.0 = Debug|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Debug|ARM64.Build.0 = Debug|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Debug|x64.ActiveCfg = Debug|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Debug|x64.Build.0 = Debug|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Debug|x86.ActiveCfg = Debug|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Debug|x86.Build.0 = Debug|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Release|Any CPU.Build.0 = Release|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Release|ARM.ActiveCfg = Release|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Release|ARM.Build.0 = Release|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Release|ARM64.ActiveCfg = Release|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Release|ARM64.Build.0 = Release|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Release|x64.ActiveCfg = Release|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Release|x64.Build.0 = Release|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Release|x86.ActiveCfg = Release|Any CPU + {91F13EBC-53CE-4032-AAFC-268E90C32E5F}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -748,6 +772,8 @@ Global {DD575EF3-DF09-40A1-A89A-AB775D65A423} = {FF0F9B42-7FFA-4113-AD0E-15955D89BFEA} {2E7D2566-EAFF-4921-A312-88CF0ABC40E6} = {69E9C41D-1848-4F9F-8C9C-0CAC1C167336} {4D8ED1CF-E2FF-4666-88D5-7D5300014301} = {2E7D2566-EAFF-4921-A312-88CF0ABC40E6} + {B2234097-D037-4126-9CC0-F7ECF3FEEEA5} = {0194E969-1457-4C16-AFAB-D2753DFA07F0} + {91F13EBC-53CE-4032-AAFC-268E90C32E5F} = {B2234097-D037-4126-9CC0-F7ECF3FEEEA5} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {09BBC227-F41B-4D10-9E38-0EEE07ED17BC} From ebbd7b055ac14646059df14b2d91a287727c284e Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Sat, 15 Feb 2025 23:29:34 +0800 Subject: [PATCH 22/29] =?UTF-8?q?=F0=9F=93=9D=20Chore:=20Adapt=20to=20vsco?= =?UTF-8?q?de=20stand-alone=20development?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KitX.code-workspace | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 KitX.code-workspace diff --git a/KitX.code-workspace b/KitX.code-workspace new file mode 100644 index 0000000..a80fe3d --- /dev/null +++ b/KitX.code-workspace @@ -0,0 +1,14 @@ +{ + "folders": [ + { + "path": "." + } + ], + "settings": { + "[python]": { + "editor.defaultFormatter": "ms-python.black-formatter" + }, + "python.formatting.provider": "none", + "dotnet.defaultSolution": "disable" + } +} From 3c6c7d90c6bc6c087695b7241454c8fa9b99a34a Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Sun, 16 Feb 2025 02:45:32 +0800 Subject: [PATCH 23/29] =?UTF-8?q?=F0=9F=93=9D=20Chore(vscode-workspace):?= =?UTF-8?q?=20Auto=20refresh=20git=20repositories?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KitX.code-workspace | 1 + 1 file changed, 1 insertion(+) diff --git a/KitX.code-workspace b/KitX.code-workspace index a80fe3d..fd910f0 100644 --- a/KitX.code-workspace +++ b/KitX.code-workspace @@ -5,6 +5,7 @@ } ], "settings": { + "git.autorefresh": true, "[python]": { "editor.defaultFormatter": "ms-python.black-formatter" }, From 8c80cee42badeb990cf2a09c6bb2ccfbf5c15cba Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Sun, 16 Feb 2025 02:54:45 +0800 Subject: [PATCH 24/29] =?UTF-8?q?=F0=9F=93=9D=20Chore(formatter):=20Turn?= =?UTF-8?q?=20to=20csharpier?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .csharpierrc.yaml | 4 + .editorconfig | 189 ---------------------------------------------- 2 files changed, 4 insertions(+), 189 deletions(-) create mode 100644 .csharpierrc.yaml delete mode 100644 .editorconfig diff --git a/.csharpierrc.yaml b/.csharpierrc.yaml new file mode 100644 index 0000000..7a64347 --- /dev/null +++ b/.csharpierrc.yaml @@ -0,0 +1,4 @@ +printWidth: 200 +useTabs: false +tabWidth: 4 +endOfLine: auto diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index f0b6c0a..0000000 --- a/.editorconfig +++ /dev/null @@ -1,189 +0,0 @@ - -file_header_template = Copyright (c) Crequency Studio. All Rights Reserved.\nLicense under the AGPL, Version 3.0.\nFile Name: {fileName} - - -[*] -end_of_line = lf -charset = utf-8-bom -trim_trailing_whitespace = true -insert_final_newline = true -indent_style = space -indent_size = 4 -dotnet_style_qualification_for_field = false:silent -dotnet_style_qualification_for_property = false:silent -dotnet_style_qualification_for_method = false:silent -dotnet_style_qualification_for_event = false:silent -dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent -dotnet_code_quality_unused_parameters = all:suggestion -dotnet_style_readonly_field = true:suggestion -dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent -dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent -dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent -dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent -dotnet_style_allow_multiple_blank_lines_experimental = true:silent -tab_width = 4 -dotnet_style_allow_statement_immediately_after_block_experimental = true:silent -dotnet_style_operator_placement_when_wrapping = beginning_of_line -dotnet_style_coalesce_expression = true:suggestion -dotnet_style_null_propagation = true:suggestion -dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion -dotnet_style_prefer_auto_properties = true:silent -dotnet_style_object_initializer = true:suggestion -dotnet_style_collection_initializer = true:suggestion -dotnet_style_prefer_simplified_boolean_expressions = true:suggestion -dotnet_style_prefer_conditional_expression_over_assignment = true:silent -dotnet_style_prefer_conditional_expression_over_return = true:silent -dotnet_style_explicit_tuple_names = true:suggestion -dotnet_style_prefer_inferred_tuple_names = true:suggestion -dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion -dotnet_style_prefer_compound_assignment = true:suggestion -dotnet_style_prefer_simplified_interpolation = true:suggestion -dotnet_style_namespace_match_folder = true:suggestion -dotnet_style_predefined_type_for_locals_parameters_members = true:silent -dotnet_style_predefined_type_for_member_access = true:silent -dotnet_style_prefer_collection_expression = true:suggestion - - -[*.cs] -#### ������ʽ #### - -# �������� - -dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion -dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface -dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i - -dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion -dotnet_naming_rule.types_should_be_pascal_case.symbols = types -dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case - -dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion -dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members -dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case - -# ���Ź淶 - -dotnet_naming_symbols.interface.applicable_kinds = interface -dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected -dotnet_naming_symbols.interface.required_modifiers = - -dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum -dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected -dotnet_naming_symbols.types.required_modifiers = - -dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method -dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected -dotnet_naming_symbols.non_field_members.required_modifiers = - -# ������ʽ - -dotnet_naming_style.begins_with_i.required_prefix = I -dotnet_naming_style.begins_with_i.required_suffix = -dotnet_naming_style.begins_with_i.word_separator = -dotnet_naming_style.begins_with_i.capitalization = pascal_case - -dotnet_naming_style.pascal_case.required_prefix = -dotnet_naming_style.pascal_case.required_suffix = -dotnet_naming_style.pascal_case.word_separator = -dotnet_naming_style.pascal_case.capitalization = pascal_case - -dotnet_naming_style.pascal_case.required_prefix = -dotnet_naming_style.pascal_case.required_suffix = -dotnet_naming_style.pascal_case.word_separator = -dotnet_naming_style.pascal_case.capitalization = pascal_case -csharp_using_directive_placement = outside_namespace:silent -csharp_style_expression_bodied_methods = when_on_single_line:silent -csharp_style_expression_bodied_constructors = when_on_single_line:silent -csharp_style_expression_bodied_operators = true:silent -csharp_style_expression_bodied_properties = true:silent -csharp_style_expression_bodied_indexers = true:silent -csharp_style_expression_bodied_accessors = true:silent -csharp_style_expression_bodied_lambdas = true:silent -csharp_style_expression_bodied_local_functions = when_on_single_line:silent -csharp_style_conditional_delegate_call = true:suggestion -csharp_style_var_for_built_in_types = false:silent -csharp_style_var_when_type_is_apparent = false:silent -csharp_style_var_elsewhere = false:silent -csharp_prefer_simple_using_statement = true:suggestion -csharp_prefer_braces = true:silent -csharp_style_namespace_declarations = block_scoped:silent -csharp_style_prefer_method_group_conversion = true:silent -csharp_style_prefer_top_level_statements = true:silent -csharp_prefer_static_local_function = true:suggestion -csharp_space_around_binary_operators = before_and_after -csharp_indent_labels = one_less_than_current -csharp_style_allow_embedded_statements_on_same_line_experimental = true:silent -csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true:silent -csharp_style_allow_blank_lines_between_consecutive_braces_experimental = true:silent -csharp_style_prefer_switch_expression = true:suggestion -csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion -csharp_style_prefer_pattern_matching = true:silent -csharp_style_pattern_matching_over_as_with_null_check = true:suggestion -csharp_style_prefer_not_pattern = true:suggestion -csharp_style_prefer_extended_property_pattern = true:suggestion -csharp_style_throw_expression = true:suggestion -csharp_style_prefer_null_check_over_type_check = true:suggestion -csharp_prefer_simple_default_expression = true:suggestion -csharp_style_prefer_local_over_anonymous_function = true:suggestion -csharp_style_prefer_index_operator = true:suggestion -csharp_style_prefer_range_operator = true:suggestion -csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion -csharp_style_prefer_tuple_swap = true:suggestion -csharp_style_prefer_utf8_string_literals = true:suggestion -csharp_style_inlined_variable_declaration = true:suggestion -csharp_style_deconstructed_variable_declaration = true:suggestion -csharp_style_unused_value_assignment_preference = discard_variable:suggestion -csharp_style_unused_value_expression_statement_preference = discard_variable:silent -csharp_style_prefer_readonly_struct = true:suggestion -csharp_style_prefer_primary_constructors = true:suggestion -csharp_style_prefer_readonly_struct_member = true:suggestion -csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = true:silent -csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = true:silent - -[*.vb] -#### ������ʽ #### - -# �������� - -dotnet_naming_rule.interface_should_be_��_i_��ʼ.severity = suggestion -dotnet_naming_rule.interface_should_be_��_i_��ʼ.symbols = interface -dotnet_naming_rule.interface_should_be_��_i_��ʼ.style = ��_i_��ʼ - -dotnet_naming_rule.����_should_be_��˹��ƴд��.severity = suggestion -dotnet_naming_rule.����_should_be_��˹��ƴд��.symbols = ���� -dotnet_naming_rule.����_should_be_��˹��ƴд��.style = ��˹��ƴд�� - -dotnet_naming_rule.���ֶγ�Ա_should_be_��˹��ƴд��.severity = suggestion -dotnet_naming_rule.���ֶγ�Ա_should_be_��˹��ƴд��.symbols = ���ֶγ�Ա -dotnet_naming_rule.���ֶγ�Ա_should_be_��˹��ƴд��.style = ��˹��ƴд�� - -# ���Ź淶 - -dotnet_naming_symbols.interface.applicable_kinds = interface -dotnet_naming_symbols.interface.applicable_accessibilities = public, friend, private, protected, protected_friend, private_protected -dotnet_naming_symbols.interface.required_modifiers = - -dotnet_naming_symbols.����.applicable_kinds = class, struct, interface, enum -dotnet_naming_symbols.����.applicable_accessibilities = public, friend, private, protected, protected_friend, private_protected -dotnet_naming_symbols.����.required_modifiers = - -dotnet_naming_symbols.���ֶγ�Ա.applicable_kinds = property, event, method -dotnet_naming_symbols.���ֶγ�Ա.applicable_accessibilities = public, friend, private, protected, protected_friend, private_protected -dotnet_naming_symbols.���ֶγ�Ա.required_modifiers = - -# ������ʽ - -dotnet_naming_style.��_i_��ʼ.required_prefix = I -dotnet_naming_style.��_i_��ʼ.required_suffix = -dotnet_naming_style.��_i_��ʼ.word_separator = -dotnet_naming_style.��_i_��ʼ.capitalization = pascal_case - -dotnet_naming_style.��˹��ƴд��.required_prefix = -dotnet_naming_style.��˹��ƴд��.required_suffix = -dotnet_naming_style.��˹��ƴд��.word_separator = -dotnet_naming_style.��˹��ƴд��.capitalization = pascal_case - -dotnet_naming_style.��˹��ƴд��.required_prefix = -dotnet_naming_style.��˹��ƴд��.required_suffix = -dotnet_naming_style.��˹��ƴд��.word_separator = -dotnet_naming_style.��˹��ƴд��.capitalization = pascal_case From c3cd3954d1dd550a2cc6ebc5c1a66d421a659e65 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Sun, 16 Feb 2025 03:12:10 +0800 Subject: [PATCH 25/29] =?UTF-8?q?=F0=9F=93=9D=20Chore(vscode-workspace):?= =?UTF-8?q?=20Sync=20default=20formatter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KitX.code-workspace | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/KitX.code-workspace b/KitX.code-workspace index fd910f0..9edb0c9 100644 --- a/KitX.code-workspace +++ b/KitX.code-workspace @@ -1,15 +1,27 @@ { "folders": [ - { - "path": "." - } + { + "path": "." + } ], "settings": { - "git.autorefresh": true, - "[python]": { - "editor.defaultFormatter": "ms-python.black-formatter" - }, - "python.formatting.provider": "none", - "dotnet.defaultSolution": "disable" + "git.autorefresh": true, + "dotnet.defaultSolution": "KitX.sln", + "[python]": { + "editor.defaultFormatter": "ms-python.black-formatter" + }, + "[csharp]": { + "editor.defaultFormatter": "csharpier.csharpier-vscode", + "editor.formatOnSave": true + }, + "[xml]": { + "editor.defaultFormatter": "PrateekMahendrakar.prettyxml" + }, + "[xaml]": { + "editor.defaultFormatter": "PrateekMahendrakar.prettyxml" + }, + "prettyxml.settings.formatOnSave": true, + "prettyxml.settings.preserveWhiteSpacesInComment": true } -} + } + \ No newline at end of file From 52ce53ab5728860139270a22e324c5505657d3bf Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Sun, 16 Feb 2025 03:34:53 +0800 Subject: [PATCH 26/29] =?UTF-8?q?=F0=9F=93=9D=20Chore(UDE):=20Better=20for?= =?UTF-8?q?mat=20options?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - This is the first time I use `UDE` this word, it means the Universe Development Environment --- .csharpierrc.yaml | 2 +- KitX.code-workspace | 50 +++++++++++++++++++++++---------------------- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/.csharpierrc.yaml b/.csharpierrc.yaml index 7a64347..8fade32 100644 --- a/.csharpierrc.yaml +++ b/.csharpierrc.yaml @@ -1,4 +1,4 @@ -printWidth: 200 +printWidth: 140 useTabs: false tabWidth: 4 endOfLine: auto diff --git a/KitX.code-workspace b/KitX.code-workspace index 9edb0c9..6b947f9 100644 --- a/KitX.code-workspace +++ b/KitX.code-workspace @@ -1,27 +1,29 @@ { - "folders": [ - { - "path": "." - } - ], - "settings": { - "git.autorefresh": true, - "dotnet.defaultSolution": "KitX.sln", - "[python]": { - "editor.defaultFormatter": "ms-python.black-formatter" - }, - "[csharp]": { - "editor.defaultFormatter": "csharpier.csharpier-vscode", - "editor.formatOnSave": true - }, - "[xml]": { - "editor.defaultFormatter": "PrateekMahendrakar.prettyxml" - }, - "[xaml]": { - "editor.defaultFormatter": "PrateekMahendrakar.prettyxml" - }, - "prettyxml.settings.formatOnSave": true, - "prettyxml.settings.preserveWhiteSpacesInComment": true + "folders": [ + { + "path": "." } + ], + "settings": { + "git.autorefresh": true, + "dotnet.defaultSolution": "KitX.sln", + "[python]": { + "editor.defaultFormatter": "ms-python.black-formatter" + }, + "[csharp]": { + "editor.defaultFormatter": "csharpier.csharpier-vscode", + "editor.formatOnSave": true, + "editor.rulers": [140, 160] + }, + "[xml]": { + "editor.defaultFormatter": "PrateekMahendrakar.prettyxml", + "editor.formatOnSave": true + }, + "[xaml]": { + "editor.defaultFormatter": "PrateekMahendrakar.prettyxml", + "editor.formatOnSave": true + }, + "prettyxml.settings.formatOnSave": true, + "prettyxml.settings.preserveWhiteSpacesInComment": true } - \ No newline at end of file +} From 5fdd192b1ce46cc1c129a89dd70ae8d3f9d7a69f Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Wed, 19 Feb 2025 02:16:48 +0800 Subject: [PATCH 27/29] =?UTF-8?q?=F0=9F=93=9D=20Chore(dotnet):=20Migrate?= =?UTF-8?q?=20to=20`.slnx`=20format=20solution=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KitX.slnx | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 KitX.slnx diff --git a/KitX.slnx b/KitX.slnx new file mode 100644 index 0000000..01a3290 --- /dev/null +++ b/KitX.slnx @@ -0,0 +1,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 69f114bbb5ee467c908048f6bf71d070fc22810b Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Fri, 21 Feb 2025 04:54:30 +0800 Subject: [PATCH 28/29] =?UTF-8?q?=F0=9F=93=9D=20Chore(dotnet):=20Make=20vs?= =?UTF-8?q?code=20to=20open=20`KitX.slnx`=20at=20startup?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KitX.code-workspace | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/KitX.code-workspace b/KitX.code-workspace index 6b947f9..41c181a 100644 --- a/KitX.code-workspace +++ b/KitX.code-workspace @@ -6,7 +6,7 @@ ], "settings": { "git.autorefresh": true, - "dotnet.defaultSolution": "KitX.sln", + "dotnet.defaultSolution": "KitX.slnx", "[python]": { "editor.defaultFormatter": "ms-python.black-formatter" }, From 619b1a2fbf36ed889664dd8ca9f87d2b4e4cbb04 Mon Sep 17 00:00:00 2001 From: Dynesshely Date: Wed, 2 Apr 2025 11:36:13 +0800 Subject: [PATCH 29/29] =?UTF-8?q?=F0=9F=93=9D=20Chore(Submodules):=20Sync?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- KitX Clients/KitX Dashboard | 2 +- KitX Clients/KitX Mobile | 2 +- KitX Clients/KitX Website | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/KitX Clients/KitX Dashboard b/KitX Clients/KitX Dashboard index 5b17387..6493ce1 160000 --- a/KitX Clients/KitX Dashboard +++ b/KitX Clients/KitX Dashboard @@ -1 +1 @@ -Subproject commit 5b173878f53d0326b62551b501ff7e2083eefbda +Subproject commit 6493ce1630f96896ca7b9573e09ed5391f7c6ac7 diff --git a/KitX Clients/KitX Mobile b/KitX Clients/KitX Mobile index 50e19a6..b3d1c19 160000 --- a/KitX Clients/KitX Mobile +++ b/KitX Clients/KitX Mobile @@ -1 +1 @@ -Subproject commit 50e19a6a6d49f44d0161f4fa6e31ae87ef6e840c +Subproject commit b3d1c19f54bbacf6b1600f9f06cdc6ff5eb9646f diff --git a/KitX Clients/KitX Website b/KitX Clients/KitX Website index 31e9aa9..0615941 160000 --- a/KitX Clients/KitX Website +++ b/KitX Clients/KitX Website @@ -1 +1 @@ -Subproject commit 31e9aa917fa529ae4582375c1c6fe53bbdba5b74 +Subproject commit 0615941ac539ff115d93ca1245f736407e28e977