From cd9616c87cd6ed84feaf5e73c1e14f522f214e9f Mon Sep 17 00:00:00 2001 From: PJB3005 Date: Fri, 25 Jul 2025 15:57:47 +0200 Subject: [PATCH] Add new text file merge asset pass to RobustClientAssetGraph --- Robust.Packaging/RobustClientAssetGraph.cs | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/Robust.Packaging/RobustClientAssetGraph.cs b/Robust.Packaging/RobustClientAssetGraph.cs index 4a7ebfb8e..c6404cf83 100644 --- a/Robust.Packaging/RobustClientAssetGraph.cs +++ b/Robust.Packaging/RobustClientAssetGraph.cs @@ -15,6 +15,9 @@ public sealed class RobustClientAssetGraph public AssetPassPipe PresetPasses { get; } public AssetPassPipe Output { get; } public AssetPassNormalizeText NormalizeText { get; } + public AssetPassMergeTextDirectories MergePrototypeDirectories { get; } + public AssetPassMergeTextDirectories MergeLocaleDirectories { get; } + // internal AssetPassPackRsis PackRsis { get; } /// /// Collection of all passes in this preset graph. @@ -30,11 +33,38 @@ public sealed class RobustClientAssetGraph PresetPasses = new AssetPassPipe { Name = "RobustClientAssetGraphPresetPasses" }; Output = new AssetPassPipe { Name = "RobustClientAssetGraphOutput", CheckDuplicates = true }; NormalizeText = new AssetPassNormalizeText { Name = "RobustClientAssetGraphNormalizeText" }; + MergePrototypeDirectories = new AssetPassMergeTextDirectories( + "Prototypes", + "yml", + // Separate each merged YAML file with a document to provide proper isolation. + formatterHead: file => $"--- # BEGIN {file}", + formatterTail: file => $"# END {file}") + { + Name = "RobustClientAssetGraphMergePrototypeDirectories" + }; + MergeLocaleDirectories = new AssetPassMergeTextDirectories( + "Locale", + "ftl", + formatterHead: file => $"# BEGIN {file}", + formatterTail: file => $"# END {file}") + { + Name = "RobustClientAssetGraphMergeLocaleDirectories" + }; + // PackRsis = new AssetPassPackRsis + // { + // Name = "RobustClientAssetGraphPackRsis", + // }; PresetPasses.AddDependency(Input); + //PackRsis.AddDependency(PresetPasses).AddBefore(NormalizeText); + MergePrototypeDirectories.AddDependency(PresetPasses).AddBefore(NormalizeText); + MergeLocaleDirectories.AddDependency(PresetPasses).AddBefore(NormalizeText); NormalizeText.AddDependency(PresetPasses).AddBefore(Output); Output.AddDependency(PresetPasses); Output.AddDependency(NormalizeText); + Output.AddDependency(MergePrototypeDirectories); + Output.AddDependency(MergeLocaleDirectories); + //Output.AddDependency(PackRsis); AllPasses = new AssetPass[] { @@ -42,6 +72,9 @@ public sealed class RobustClientAssetGraph PresetPasses, Output, NormalizeText, + MergePrototypeDirectories, + MergeLocaleDirectories, + // texPackRsis }; } }