From 7c6e0021c2da353932a2008fa477a6825044c2c6 Mon Sep 17 00:00:00 2001 From: Zontreck Date: Thu, 10 Aug 2023 04:33:29 -0700 Subject: [PATCH] Add text generator to prebuild --- Prebuild.sln | 21 --- bootstrap/prebuild.dll | Bin 270336 -> 270336 bytes prebuild.xml | 4 +- src/Core/Nodes/ProjectNode.cs | 7 + src/Core/Nodes/TextGenNode.cs | 76 ++++++++ src/Core/Targets/VSGenericTarget.cs | 22 ++- src/Prebuild.csproj | 259 ---------------------------- src/Properties/AssemblyInfo.cs | 4 +- 8 files changed, 108 insertions(+), 285 deletions(-) delete mode 100644 Prebuild.sln create mode 100644 src/Core/Nodes/TextGenNode.cs delete mode 100644 src/Prebuild.csproj diff --git a/Prebuild.sln b/Prebuild.sln deleted file mode 100644 index 55f02ff..0000000 --- a/Prebuild.sln +++ /dev/null @@ -1,21 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 22 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Prebuild", "..\Prebuild\src\Prebuild.csproj", "{BCE0B56D-0000-0000-0000-000000000000}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Files", "Solution Files", "{198FE683-AA28-459F-9818-EF8F29428DFC}" - ProjectSection(SolutionItems) = preProject - prebuild.xml = prebuild.xml - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {BCE0B56D-0000-0000-0000-000000000000}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {BCE0B56D-0000-0000-0000-000000000000}.Debug|Any CPU.Build.0 = Debug|Any CPU - {BCE0B56D-0000-0000-0000-000000000000}.Release|Any CPU.ActiveCfg = Release|Any CPU - {BCE0B56D-0000-0000-0000-000000000000}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection -EndGlobal diff --git a/bootstrap/prebuild.dll b/bootstrap/prebuild.dll index 6939f20ce150924600930d03533f83614d1d9734..c8f18f67c8f1c11d4eb297fa9b394e813af0c99c 100644 GIT binary patch delta 56039 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 delta 54684 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 IY)Hoc0fKOHQUCw| diff --git a/prebuild.xml b/prebuild.xml index 7ec22b0..f4a5f0b 100644 --- a/prebuild.xml +++ b/prebuild.xml @@ -1,6 +1,6 @@ - + true @@ -33,7 +33,7 @@ type="Exe" rootNamespace="Prebuild" startupObject="Prebuild.Prebuild" - version="2.0.8" + version="2.0.9" > Matthew Holmes (matthew@wildfiregames.com) Dan Moorehead (dan05a@gmail.com) diff --git a/src/Core/Nodes/ProjectNode.cs b/src/Core/Nodes/ProjectNode.cs index b070327..bc99504 100644 --- a/src/Core/Nodes/ProjectNode.cs +++ b/src/Core/Nodes/ProjectNode.cs @@ -247,6 +247,7 @@ public class ProjectNode : DataNode, IComparable else if (dataNode is AuthorNode) Authors.Add((AuthorNode)dataNode); else if (dataNode is FilesNode) Files = (FilesNode)dataNode; + else if(dataNode is TextGenNode) TextGenNodes.Add((TextGenNode)dataNode); } } finally @@ -428,6 +429,12 @@ public class ProjectNode : DataNode, IComparable } } + /// + /// Gets the text generator nodes + /// + public List TextGenNodes { get; private set; } = new(); + + /// /// Gets the configurations table. /// diff --git a/src/Core/Nodes/TextGenNode.cs b/src/Core/Nodes/TextGenNode.cs new file mode 100644 index 0000000..d32090b --- /dev/null +++ b/src/Core/Nodes/TextGenNode.cs @@ -0,0 +1,76 @@ +using Prebuild.Core.Attributes; +using Prebuild.Core.Utilities; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml; + +namespace Prebuild.Core.Nodes +{ + [DataNode("TextGen")] + public class TextGenNode : DataNode + { + #region Values + private string m_Name; + private string m_Generator; + private bool m_AutoGen = true; + private string m_OutputName; + + #endregion + + #region Methods + public override void Parse(XmlNode node) + { + m_Name = Helper.AttributeValue(node, "name", ""); + m_Generator = Helper.AttributeValue(node, "generator", "TextTemplatingFileGenerator"); + m_AutoGen = Helper.ParseBoolean(node, "autogen", true); + m_OutputName = Helper.AttributeValue(node, "output", ""); + } + #endregion + + #region Fields + public string Name + { + get + { + return m_Name; + } + } + + public string Generator + { + get + { + return m_Generator; + } + } + + public bool AutoGen + { + get + { + return m_AutoGen; + } + } + + public string AutoGenerate + { + get + { + return AutoGen ? "True" : "False"; + } + } + + public string OutputName + { + get + { + return m_OutputName; + } + } + + #endregion + } +} diff --git a/src/Core/Targets/VSGenericTarget.cs b/src/Core/Targets/VSGenericTarget.cs index 10067e2..7b4b798 100644 --- a/src/Core/Targets/VSGenericTarget.cs +++ b/src/Core/Targets/VSGenericTarget.cs @@ -687,6 +687,23 @@ public abstract class VSGenericTarget : ITarget } } + private void WriteTextGeneratorNodes(ProjectNode project, StreamWriter ps) + { + foreach(TextGenNode node in project.TextGenNodes) + { + ps.WriteLine(" "); + ps.WriteLine($" "); + ps.WriteLine($" {node.Generator}"); + ps.WriteLine($" "); + ps.WriteLine($" "); + ps.WriteLine($" True"); + ps.WriteLine($" {node.AutoGenerate}"); + ps.WriteLine($" {node.Name}"); + ps.WriteLine($" "); + ps.WriteLine($" "); + } + } + private void WriteProjectDotNet(SolutionNode solution, ProjectNode project, StreamWriter ps) { #region Project File @@ -838,6 +855,8 @@ public abstract class VSGenericTarget : ITarget // Output the ItemGroup for project.References WriteProjectReferencesDotNet(solution, project, ps); + WriteTextGeneratorNodes(project, ps); + if (project.Files.Count > 0) { var list = new List(); @@ -1044,8 +1063,9 @@ public abstract class VSGenericTarget : ITarget ps.WriteLine(""); - #endregion } + + #endregion } private void WriteProjectReferencesDotNet(SolutionNode solution, ProjectNode project, StreamWriter ps) diff --git a/src/Prebuild.csproj b/src/Prebuild.csproj deleted file mode 100644 index efcec55..0000000 --- a/src/Prebuild.csproj +++ /dev/null @@ -1,259 +0,0 @@ - - - - net7.0 - false - Exe - false - disable - prebuild - true - false - false - false - True -False - - - - False - 285212672 - - - DEBUG;TRACE - - True - 4096 - False - false - False - True - True - bin\Debug\ - False - False - False - 4 - False - 1595 - AnyCPU - - - False - 285212672 - - - TRACE - - False - 4096 - True - false - False - True - True - bin\Release\ - False - False - False - 4 - False - 1595 - AnyCPU - - - - System.EnterpriseServices - False - - - - - - - - - - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - Code - - - diff --git a/src/Properties/AssemblyInfo.cs b/src/Properties/AssemblyInfo.cs index 7c4c576..2e73f83 100644 --- a/src/Properties/AssemblyInfo.cs +++ b/src/Properties/AssemblyInfo.cs @@ -60,7 +60,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyConfiguration(".NET CLR")] [assembly: AssemblyCompany("The Prebuild Project")] [assembly: AssemblyProduct("")] -[assembly: AssemblyCopyright("Copyright 2004-2015 " + +[assembly: AssemblyCopyright("Copyright 2004-2023 " + "Tara Piccari (Aria's Creations)" + "Matthew Holmes, " + "Dan Moorehead, " + @@ -73,7 +73,7 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: NeutralResourcesLanguageAttribute("en-US")] -[assembly: AssemblyVersion("2.0.8.0")] +[assembly: AssemblyVersion("2.0.9.0")] // // Version information for an assembly consists of the following four values: