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 }; } }