diff --git a/Prebuild/runprebuild.bat b/Prebuild/runprebuild.bat old mode 100644 new mode 100755 index 5cdef31222..11d6de1dec --- a/Prebuild/runprebuild.bat +++ b/Prebuild/runprebuild.bat @@ -123,5 +123,5 @@ echo. if %framework%==4_5 set %vstudio%=2012 echo Calling Prebuild for target %vstudio% with framework %framework%... -Prebuild.exe /target vs%vstudio% /targetframework v%framework% /conditionals ISWIN;NET_%framework% +..\bin\Prebuild.exe /target vs%vstudio% /targetframework v%framework% /conditionals ISWIN;NET_%framework% diff --git a/Prebuild/src/Core/Kernel.cs b/Prebuild/src/Core/Kernel.cs old mode 100644 new mode 100755 index 3db92efb88..225fdb8dab --- a/Prebuild/src/Core/Kernel.cs +++ b/Prebuild/src/Core/Kernel.cs @@ -82,7 +82,8 @@ namespace Prebuild.Core private CommandLineCollection m_CommandLine; private Log m_Log; private CurrentDirectory m_CurrentWorkingDirectory; - private XmlSchemaCollection m_Schemas; + [Obsolete] + private XmlSchemaCollection m_Schemas; private readonly Dictionary m_Targets = new Dictionary(); private readonly Dictionary m_Nodes = new Dictionary(); diff --git a/Prebuild/src/Core/Nodes/OptionsNode.cs b/Prebuild/src/Core/Nodes/OptionsNode.cs old mode 100644 new mode 100755 index 490fd6f540..86ca0a9f79 --- a/Prebuild/src/Core/Nodes/OptionsNode.cs +++ b/Prebuild/src/Core/Nodes/OptionsNode.cs @@ -26,6 +26,7 @@ IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY O using System; using System.Collections.Generic; using System.Reflection; +using System.Text; using System.Xml; using Prebuild.Core.Attributes; @@ -314,6 +315,42 @@ namespace Prebuild.Core.Nodes } } + [OptionNode("OutputType")] + private string m_OutputType = "Exe"; + + /// + /// + /// + public string OutputType + { + get + { + return m_OutputType; + } + set + { + m_OutputType = value; + } + } + + [OptionNode("RootNamespace")] + private string m_RootNamespace = ""; + + /// + /// + /// + public string RootNamespace + { + get + { + return m_RootNamespace; + } + set + { + m_RootNamespace = value; + } + } + [OptionNode("GenerateDocumentation")] private bool m_GenerateDocumentation; @@ -626,6 +663,16 @@ namespace Prebuild.Core.Nodes } } + /// + /// Return 'true' if the option symbol has had a value set + /// + /// + /// 'true' if the option value has been set + public bool IsDefined(string name) + { + return m_FieldsDefined.Contains("m_" + name); + } + /// /// Copies to. /// @@ -647,6 +694,22 @@ namespace Prebuild.Core.Nodes } } - #endregion - } + public override string ToString() + { + StringBuilder buff = new StringBuilder(); + foreach(FieldInfo f in m_OptionFields.Values) + { + if(m_FieldsDefined.Contains(f.Name)) + { + buff.Append(f.Name); + buff.Append("="); + buff.Append(f.GetValue(this).ToString()); + buff.Append(","); + } + } + return buff.ToString(); + } + + #endregion + } } diff --git a/Prebuild/src/Core/Nodes/PackageReferenceNode.cs b/Prebuild/src/Core/Nodes/PackageReferenceNode.cs new file mode 100755 index 0000000000..6d3c7fc9e8 --- /dev/null +++ b/Prebuild/src/Core/Nodes/PackageReferenceNode.cs @@ -0,0 +1,100 @@ +#region BSD License +/* +Copyright (c) 2004-2005 Matthew Holmes (matthew@wildfiregames.com), Dan Moorehead (dan05a@gmail.com) + +Redistribution and use in source and binary forms, with or without modification, are permitted +provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions + and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions + and the following disclaimer in the documentation and/or other materials provided with the + distribution. +* The name of the author may not be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +#endregion + +using System; +using System.Xml; + +using Prebuild.Core.Attributes; +using Prebuild.Core.Interfaces; +using Prebuild.Core.Utilities; + +namespace Prebuild.Core.Nodes +{ + /// + /// + /// + [DataNode("PackageReference")] + public class PackageReferenceNode : DataNode, IComparable + { + #region Fields + + private string m_Name = "unknown"; + private string m_Version; + + #endregion + + #region Properties + + /// + /// Gets the name. + /// + /// The name. + public string Name + { + get + { + return m_Name; + } + } + + /// + /// Gets the version. + /// + /// The version. + public string Version + { + get + { + return m_Version; + } + } + + #endregion + + #region Public Methods + + /// + /// Parses the specified node. + /// + /// The node. + public override void Parse(XmlNode node) + { + m_Name = Helper.AttributeValue(node, "name", m_Name); + m_Version = Helper.AttributeValue(node, "version", m_Version); + } + + #endregion + + #region IComparable Members + + public int CompareTo(object obj) + { + PackageReferenceNode that = (PackageReferenceNode)obj; + return this.m_Name.CompareTo(that.m_Name); + } + + #endregion + } +} diff --git a/Prebuild/src/Core/Nodes/ProjectNode.cs b/Prebuild/src/Core/Nodes/ProjectNode.cs old mode 100644 new mode 100755 index 671564fd0c..9b62cbff37 --- a/Prebuild/src/Core/Nodes/ProjectNode.cs +++ b/Prebuild/src/Core/Nodes/ProjectNode.cs @@ -114,7 +114,10 @@ namespace Prebuild.Core.Nodes v4_7, v4_7_1, v4_7_2, - v4_8 + v4_8, + netstandard2_0, + net5_0, + net6_0 } /// /// The Node object representing /Prebuild/Solution/Project elements @@ -146,6 +149,8 @@ namespace Prebuild.Core.Nodes private readonly Dictionary m_Configurations = new Dictionary(); private readonly List m_ReferencePaths = new List(); + private readonly List m_ProjectReferences = new List(); + private readonly List m_PackageReferences = new List(); private readonly List m_References = new List(); private readonly List m_Authors = new List(); private FilesNode m_Files; @@ -417,6 +422,34 @@ namespace Prebuild.Core.Nodes return tmp; } } + + /// + /// Gets the references. + /// + /// The references. + public List ProjectReferences + { + get + { + List tmp = new List(m_ProjectReferences); + tmp.Sort(); + return tmp; + } + } + + /// + /// Gets the package references. + /// + /// The references. + public List PackageReferences + { + get + { + List tmp = new List(m_PackageReferences); + tmp.Sort(); + return tmp; + } + } /// /// Gets the Authors list. @@ -591,6 +624,14 @@ namespace Prebuild.Core.Nodes else if(dataNode is ReferenceNode) { m_References.Add((ReferenceNode)dataNode); + } + else if(dataNode is PackageReferenceNode) + { + m_PackageReferences.Add((PackageReferenceNode)dataNode); + } + else if(dataNode is ProjectReferenceNode) + { + m_ProjectReferences.Add((ProjectReferenceNode)dataNode); } else if(dataNode is AuthorNode) { diff --git a/Prebuild/src/Core/Nodes/ProjectReferenceNode.cs b/Prebuild/src/Core/Nodes/ProjectReferenceNode.cs new file mode 100755 index 0000000000..55b2bafb24 --- /dev/null +++ b/Prebuild/src/Core/Nodes/ProjectReferenceNode.cs @@ -0,0 +1,100 @@ +#region BSD License +/* +Copyright (c) 2004-2005 Matthew Holmes (matthew@wildfiregames.com), Dan Moorehead (dan05a@gmail.com) + +Redistribution and use in source and binary forms, with or without modification, are permitted +provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions + and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions + and the following disclaimer in the documentation and/or other materials provided with the + distribution. +* The name of the author may not be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +#endregion + +using System; +using System.Xml; + +using Prebuild.Core.Attributes; +using Prebuild.Core.Interfaces; +using Prebuild.Core.Utilities; + +namespace Prebuild.Core.Nodes +{ + /// + /// + /// + [DataNode("ProjectReference")] + public class ProjectReferenceNode : DataNode, IComparable + { + #region Fields + + private string m_Name = "unknown"; + private string m_Include; + + #endregion + + #region Properties + + /// + /// Gets the name. + /// + /// The name. + public string Name + { + get + { + return m_Name; + } + } + + /// + /// Gets the path. + /// + /// The path. + public string Include + { + get + { + return m_Include; + } + } + + #endregion + + #region Public Methods + + /// + /// Parses the specified node. + /// + /// The node. + public override void Parse(XmlNode node) + { + m_Name = Helper.AttributeValue(node, "name", m_Name); + m_Include = Helper.AttributeValue(node, "include", m_Include); + } + + #endregion + + #region IComparable Members + + public int CompareTo(object obj) + { + ProjectReferenceNode that = (ProjectReferenceNode)obj; + return this.m_Name.CompareTo(that.m_Name); + } + + #endregion + } +} diff --git a/Prebuild/src/Core/Targets/VSGenericTarget.cs b/Prebuild/src/Core/Targets/VSGenericTarget.cs old mode 100644 new mode 100755 index c12120f761..d05702024e --- a/Prebuild/src/Core/Targets/VSGenericTarget.cs +++ b/Prebuild/src/Core/Targets/VSGenericTarget.cs @@ -154,9 +154,9 @@ namespace Prebuild.Core.Targets } private void WriteProject(SolutionNode solution, ProjectNode project) - { + { if (!tools.ContainsKey(project.Language)) - { + { throw new UnknownLanguageException("Unknown .NET language: " + project.Language); } @@ -167,6 +167,23 @@ namespace Prebuild.Core.Targets kernel.CurrentWorkingDirectory.Push(); Helper.SetCurrentDir(Path.GetDirectoryName(projectFile)); + FrameworkVersion fv = project.FrameworkVersion; + if (fv == FrameworkVersion.net5_0 || fv == FrameworkVersion.net6_0 || fv == FrameworkVersion.netstandard2_0) + { + // Write the newer .csproj file format + WriteProjectDotNet(solution, project, ps); + } + else + { + WriteProjectFramework(solution, project, toolInfo, projectFile, ps); + } + + kernel.CurrentWorkingDirectory.Pop(); + } + + private void WriteProjectFramework(SolutionNode solution, ProjectNode project, ToolInfo toolInfo, string projectFile, StreamWriter ps) + { + #region Project File using (ps) { @@ -260,77 +277,16 @@ namespace Prebuild.Core.Targets //ps.WriteLine(" "); - Dictionary projectReferences = new Dictionary(); - List otherReferences = new List(); + // Output warnings if NET6 stuff is in a Framework4 definition + if (project.ProjectReferences.Count > 0) { + kernel.Log.Write(LogType.Warning, "ProjectReference is not processed for Frameworks."); + } + if (project.PackageReferences.Count > 0) { + kernel.Log.Write(LogType.Warning, "PackageReference is not processed for Frameworks."); + } - foreach (ReferenceNode refr in project.References) - { - ProjectNode projectNode = FindProjectInSolution(refr.Name, solution); - - if (projectNode == null) - otherReferences.Add(refr); - else - projectReferences.Add(refr, projectNode); - } - // Assembly References - ps.WriteLine(" "); - - foreach (ReferenceNode refr in otherReferences) - { - ps.Write(" "); - ps.Write(" "); - ps.Write(refr.Name); - ps.WriteLine(""); - - if(!String.IsNullOrEmpty(refr.Path)) - { - // Use absolute path to assembly (for determining assembly type) - string absolutePath = Path.Combine(project.FullPath, refr.Path); - if(File.Exists(Helper.MakeFilePath(absolutePath, refr.Name, "exe"))) { - // Assembly is an executable (exe) - ps.WriteLine(" {0}", Helper.MakeFilePath(refr.Path, refr.Name, "exe")); - } else if(File.Exists(Helper.MakeFilePath(absolutePath, refr.Name, "dll"))) { - // Assembly is an library (dll) - ps.WriteLine(" {0}", Helper.MakeFilePath(refr.Path, refr.Name, "dll")); - } else { - string referencePath = Helper.MakeFilePath(refr.Path, refr.Name, "dll"); - kernel.Log.Write(LogType.Warning, "Reference \"{0}\": The specified file doesn't exist.", referencePath); - ps.WriteLine(" {0}", Helper.MakeFilePath(refr.Path, refr.Name, "dll")); - } - } - - ps.WriteLine(" {0}", refr.LocalCopy); - ps.WriteLine(" "); - } - ps.WriteLine(" "); - - //Project References - ps.WriteLine(" "); - foreach (KeyValuePair pair in projectReferences) - { - ToolInfo tool = tools[pair.Value.Language]; - if (tools == null) - throw new UnknownLanguageException(); - - string path = - Helper.MakePathRelativeTo(project.FullPath, - Helper.MakeFilePath(pair.Value.FullPath, pair.Value.Name, tool.FileExtension)); - ps.WriteLine(" ", path); - - // TODO: Allow reference to visual basic projects - ps.WriteLine(" {0}", pair.Value.Name); - ps.WriteLine(" {0}", pair.Value.Guid.ToString("B").ToUpper()); - ps.WriteLine(" {0}", tool.Guid.ToUpper()); - - //This is the Copy Local flag in VS - ps.WriteLine(" {0}", pair.Key.LocalCopy); - - ps.WriteLine(" "); - } - ps.WriteLine(" "); + // Output the ItemGroup for project.References + WriteProjectReferences(solution, project, ps); // ps.WriteLine(" "); ps.WriteLine(" "); @@ -351,7 +307,8 @@ namespace Prebuild.Core.Targets } - foreach (string filePath in project.Files) + #region Files + foreach (string filePath in project.Files) { // Add the filePath with the destination as the key // will use it later to form the copy parameters with Include lists @@ -526,6 +483,7 @@ namespace Prebuild.Core.Targets } } ps.WriteLine(" "); + #endregion /* * Copy Task @@ -611,11 +569,159 @@ namespace Prebuild.Core.Targets ps.WriteLine(""); } #endregion - - kernel.CurrentWorkingDirectory.Pop(); } - private void WriteSolution(SolutionNode solution, bool writeSolutionToDisk) + private void WriteProjectDotNet(SolutionNode solution, ProjectNode project, StreamWriter ps) + { + #region Project File + using (ps) + { + ps.WriteLine(""); + ps.WriteLine(); + + ps.WriteLine(" "); + ps.WriteLine(" {0}", project.FrameworkVersion.ToString().Replace("_",".")); + ps.WriteLine(" {0}", project.Name); + ps.WriteLine(" "); + ps.WriteLine(); + + // For .NET5/6 files, the Configuration section does not specify a build target + // so here we look for the "unknown" target type for the specified parameters. + foreach (ConfigurationNode conf in project.Configurations) + { + if (conf.Name == "unknown") + { + ps.WriteLine(" "); + string[] optionNames = new string[] { "OutputPath", "OutputType", "RootNamespace" }; + foreach (var opt in optionNames) + { + if (conf.Options.IsDefined(opt)) + { + ps.WriteLine(" <{0}>{1}", opt, + Helper.EndPath(Helper.NormalizePath(conf.Options[opt].ToString()))); + } + } + ps.WriteLine(" "); + ps.WriteLine(); + } + } + + if (project.ProjectReferences.Count > 0) + { + ps.WriteLine(" "); + foreach (ProjectReferenceNode refer in project.ProjectReferences) + { + ps.WriteLine(" ", refer.Include); + } + ps.WriteLine(" "); + ps.WriteLine(); + } + if (project.PackageReferences.Count > 0) + { + ps.WriteLine(" "); + foreach (PackageReferenceNode pack in project.PackageReferences) + { + ps.WriteLine(" ", + pack.Name, pack.Version); + } + ps.WriteLine(" "); + ps.WriteLine(); + } + // Output the ItemGroup for project.References + WriteProjectReferences(solution, project, ps); + + ps.WriteLine(""); + } + #endregion + } + + private void WriteProjectReferences(SolutionNode solution, ProjectNode project, StreamWriter ps) + { + Dictionary projectReferences = new Dictionary(); + List otherReferences = new List(); + + foreach (ReferenceNode refr in project.References) + { + ProjectNode projectNode = FindProjectInSolution(refr.Name, solution); + + if (projectNode == null) + otherReferences.Add(refr); + else + projectReferences.Add(refr, projectNode); + } + // Assembly References + if (otherReferences.Count > 0) + { + ps.WriteLine(" "); + + foreach (ReferenceNode refr in otherReferences) + { + ps.Write(" "); + ps.Write(" "); + ps.Write(refr.Name); + ps.WriteLine(""); + + if(!String.IsNullOrEmpty(refr.Path)) + { + // Use absolute path to assembly (for determining assembly type) + string absolutePath = Path.Combine(project.FullPath, refr.Path); + if(File.Exists(Helper.MakeFilePath(absolutePath, refr.Name, "exe"))) + { + // Assembly is an executable (exe) + ps.WriteLine(" {0}", Helper.MakeFilePath(refr.Path, refr.Name, "exe")); + } else if(File.Exists(Helper.MakeFilePath(absolutePath, refr.Name, "dll"))) + { + // Assembly is an library (dll) + ps.WriteLine(" {0}", Helper.MakeFilePath(refr.Path, refr.Name, "dll")); + } else + { + string referencePath = Helper.MakeFilePath(refr.Path, refr.Name, "dll"); + kernel.Log.Write(LogType.Warning, "Reference \"{0}\": The specified file doesn't exist.", referencePath); + ps.WriteLine(" {0}", Helper.MakeFilePath(refr.Path, refr.Name, "dll")); + } + } + + ps.WriteLine(" {0}", refr.LocalCopy); + ps.WriteLine(" "); + } + ps.WriteLine(" "); + ps.WriteLine(); + } + + //Project References + if (projectReferences.Count > 0) + { + ps.WriteLine(" "); + foreach (KeyValuePair pair in projectReferences) + { + ToolInfo tool = tools[pair.Value.Language]; + if (tools == null) + throw new UnknownLanguageException(); + + string path = + Helper.MakePathRelativeTo(project.FullPath, + Helper.MakeFilePath(pair.Value.FullPath, pair.Value.Name, tool.FileExtension)); + ps.WriteLine(" ", path); + + // TODO: Allow reference to visual basic projects + ps.WriteLine(" {0}", pair.Value.Name); + ps.WriteLine(" {0}", pair.Value.Guid.ToString("B").ToUpper()); + ps.WriteLine(" {0}", tool.Guid.ToUpper()); + + //This is the Copy Local flag in VS + ps.WriteLine(" {0}", pair.Key.LocalCopy); + + ps.WriteLine(" "); + } + ps.WriteLine(" "); + ps.WriteLine(); + } + } + + private void WriteSolution(SolutionNode solution, bool writeSolutionToDisk) { kernel.Log.Write("Creating {0} solution and project files", VersionName); diff --git a/Prebuild/src/Prebuild.csproj b/Prebuild/src/Prebuild.csproj old mode 100644 new mode 100755 index 93a34922a9..e6f9b1b291 --- a/Prebuild/src/Prebuild.csproj +++ b/Prebuild/src/Prebuild.csproj @@ -1,253 +1,274 @@ - - - - Local - 8.0.30703 - 2.0 - {7F415321-0000-0000-0000-000000000000} - Debug - App.ico - - - Prebuild - Prebuild.snk - true - JScript - Grid - IE50 - false - v4.0 - Exe - - - Prebuild - Prebuild.Prebuild - - - - - AnyCPU - 2.0.8 - - - 285212672 - - - DEBUG;TRACE - True - 4096 - False - bin\Debug\ - False - False - 4 - 1595 - AnyCPU - - - 285212672 - - - TRACE - 4096 - True - bin\Release\ - False - False - 4 - 1595 - AnyCPU - - - - System - - - System.EnterpriseServices - - - System.Xml - - - - - - - - - - - - - - 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 - - - - - - - - - - + + + Local + 9.0.30729 + 2.0 + {7F415321-0000-0000-0000-000000000000} + Debug + App.ico + + + prebuild + Prebuild.snk + true + JScript + Grid + IE50 + false + v4.5 + Exe + + + Prebuild + Prebuild.Prebuild + + + + + + + False + 285212672 + False + + + DEBUG;TRACE;ISWIN;NET_4_5 + + + True + 4096 + False + bin\Debug\ + False + False + False + 4 + False + 1595 + AnyCPU + False + + + False + 285212672 + False + + + TRACE;ISWIN;NET_4_5 + + + False + 4096 + True + bin\Release\ + False + False + False + 4 + False + 1595 + AnyCPU + False + + + + System + False + + + System.EnterpriseServices + False + + + System.Xml + 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 + + + + + + + + + \ No newline at end of file diff --git a/Prebuild/src/data/prebuild-1.11.xsd b/Prebuild/src/data/prebuild-1.11.xsd new file mode 100755 index 0000000000..8c7525f235 --- /dev/null +++ b/Prebuild/src/data/prebuild-1.11.xsd @@ -0,0 +1,356 @@ + + + + + + Copyright (c) 2004-2007 + Matthew Holmes (calefaction at houston . rr . com), + Dan Moorehead (dan05a at gmail . com), + David Hudson (jendave at yahoo dot com), + C.J. Adams-Collier (cjac at colliertech dot com) + + .NET Prebuild is a cross-platform XML-driven pre-build tool which + allows developers to easily generate project or make files for major + IDE's and .NET development tools including: Visual Studio .NET 2002, + 2003, and 2005, SharpDevelop, MonoDevelop, NAnt, Xcode and the GNU Autotools. + + BSD License: + + Redistribution and use in source and binary forms, with or without modification, are permitted + provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions + and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions + and the following disclaimer in the documentation and/or other materials provided with the + distribution. + * The name of the author may not be used to endorse or promote products derived from this software + without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR 'AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, + BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING + IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bin/Prebuild.exe b/bin/Prebuild.exe index 431b14dc74..09f797f440 100755 Binary files a/bin/Prebuild.exe and b/bin/Prebuild.exe differ