From fa717ee709f439a87521151ee03b5296033d1a40 Mon Sep 17 00:00:00 2001 From: Josh Dassinger Date: Sat, 7 Feb 2026 13:51:19 -0600 Subject: [PATCH] Fixed #30 File Order not being respected across Plugin and Data file types. This fix only applies to Plugin and Framework modes. --- src/PluginMerge/Creator/FileCreator.cs | 27 ++++++++++++-------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/src/PluginMerge/Creator/FileCreator.cs b/src/PluginMerge/Creator/FileCreator.cs index 0dcfc5a..a259b40 100644 --- a/src/PluginMerge/Creator/FileCreator.cs +++ b/src/PluginMerge/Creator/FileCreator.cs @@ -83,10 +83,16 @@ public bool Create() WriteNamespaceUsings(); if (IsMergeFrameworkMode) _writer.WriteFramework(); StartPluginClass(); - WritePluginFiles(); - if (IsPluginMode || IsFrameworkMode) WriteDataFiles(); + if (IsPluginMode || IsFrameworkMode) + { + WriteFiles(_pluginFiles.Concat(_dataFiles).OrderBy(f => f.Order), "Plugin & Data"); + } + else + { + WriteFiles(_pluginFiles, "Plugin"); + } EndPluginClass(); - if (IsMergeFrameworkMode) WriteDataFiles(); + if (IsMergeFrameworkMode) WriteFiles(_dataFiles, "Data"); WriteFrameworks(); if (hasExtensionMethods) { @@ -343,20 +349,11 @@ private void Write(FileHandler file) _writer.WriteLine(); } - private void WritePluginFiles() - { - foreach (FileHandler file in _pluginFiles) - { - _logger.LogDebug("Writing plugin file: {Path}", file.FilePath); - Write(file); - } - } - - private void WriteDataFiles() + private void WriteFiles(IEnumerable files, string type) { - foreach (FileHandler file in _dataFiles) + foreach (FileHandler file in files) { - _logger.LogDebug("Writing data file: {Path}", file.FilePath); + _logger.LogDebug("Writing {Type} file: {Path}", type, file.FilePath); Write(file); } }