update Prebuild with WhiteCore version

httptests
UbitUmarov 2017-08-30 22:24:07 +01:00
parent d4a3aa5e08
commit 41e8b9f91f
54 changed files with 8241 additions and 8139 deletions

View File

@ -1,3 +1,17 @@
2015, June Fly-Man- <fly.man.opensim@gmail.com>
* V2.0.7 (WhiteCore Build)
* Added the VS2012/VS2013 targets so .Net 4.5 can be used for WhiteCore
* Cleaned up the SharpDevelop2 code part
2015, April rowan Deppeler <greythane@gmail.com>
* V2.0.6w (WhiteCore build
* No changes to the code as it appears development has now stalled at 1.10
- Incorporated (Rev's, I think) patches from Aurora to provide for passing the framework
and additional conditionals in the Prebuild.xml spec
- Re-built using Net 4.0 framework to provide for use on unmodified Windows 8 systems (No Net 3.5)
- Included Solution and project files to assist building if required
2008-12-09T02:15 D. Moonfire <d.moonfire@mfgames.com> 2008-12-09T02:15 D. Moonfire <d.moonfire@mfgames.com>
* src/Core/Kernel.cs * src/Core/Kernel.cs
- Added a /ppi target to get the results of processing but before - Added a /ppi target to get the results of processing but before

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<Prebuild xmlns="http://dnpb.sourceforge.net/schemas/prebuild-1.10.xsd" version="1.10"> <Prebuild xmlns="http://dnpb.sourceforge.net/schemas/prebuild-1.10.xsd" version="1.10">
<Solution name="Prebuild" version="2.0.6"> <Solution name="Prebuild" version="2.0.7">
<Configuration name="Debug"> <Configuration name="Debug">
<Options> <Options>
<CompilerDefines>DEBUG;TRACE</CompilerDefines> <CompilerDefines>DEBUG;TRACE</CompilerDefines>
@ -21,7 +21,6 @@
</Configuration> </Configuration>
<Files> <Files>
<File>prebuild.xml</File> <File>prebuild.xml</File>
<File>prebuild</File>
</Files> </Files>
<Project name="Prebuild" <Project name="Prebuild"
path="src" path="src"
@ -31,8 +30,8 @@
type="Exe" type="Exe"
rootNamespace="Prebuild" rootNamespace="Prebuild"
startupObject="Prebuild.Prebuild" startupObject="Prebuild.Prebuild"
version="2.0.6" version="2.0.7"
frameworkVersion="v3_5" frameworkVersion="v4_0"
> >
<Author>Matthew Holmes (matthew@wildfiregames.com)</Author> <Author>Matthew Holmes (matthew@wildfiregames.com)</Author>
<Author>Dan Moorehead (dan05a@gmail.com)</Author> <Author>Dan Moorehead (dan05a@gmail.com)</Author>
@ -40,6 +39,7 @@
<Author>Rob Loach (http://robloach.net)</Author> <Author>Rob Loach (http://robloach.net)</Author>
<Author>C.J. Adams-Collier (cjac@colliertech.org)</Author> <Author>C.J. Adams-Collier (cjac@colliertech.org)</Author>
<Author>John Hurliman (john.hurliman@intel.com)</Author> <Author>John Hurliman (john.hurliman@intel.com)</Author>
<Author>WhiteCore build (2015) Rowan Deppeler (greythan@gmail.com)</Author>
<Description>The Prebuild project generator</Description> <Description>The Prebuild project generator</Description>
<Configuration name="Debug"> <Configuration name="Debug">
<Options> <Options>
@ -68,7 +68,9 @@
<Match pattern="App.ico" buildAction="EmbeddedResource"/> <Match pattern="App.ico" buildAction="EmbeddedResource"/>
<Match path="data" pattern="prebuild-1.10.xsd" buildAction="EmbeddedResource"/> <Match path="data" pattern="prebuild-1.10.xsd" buildAction="EmbeddedResource"/>
<Match path="data" pattern="autotools.xml" buildAction="EmbeddedResource"/> <Match path="data" pattern="autotools.xml" buildAction="EmbeddedResource"/>
<Match pattern="*.cs" recurse="true"/> <Match pattern="*.cs" recurse="true">
<Exclude name="obj" pattern="obj"/>
</Match>
</Files> </Files>
</Project> </Project>
</Solution> </Solution>

View File

@ -78,7 +78,7 @@ namespace Prebuild.Core
private const string m_SchemaURI = "http://dnpb.sourceforge.net/schemas/" + m_Schema; private const string m_SchemaURI = "http://dnpb.sourceforge.net/schemas/" + m_Schema;
bool disposed; bool disposed;
private Version m_Version; private Version m_Version;
private const string m_Revision = ""; private const string m_Revision = "w";
private CommandLineCollection m_CommandLine; private CommandLineCollection m_CommandLine;
private Log m_Log; private Log m_Log;
private CurrentDirectory m_CurrentWorkingDirectory; private CurrentDirectory m_CurrentWorkingDirectory;
@ -89,6 +89,9 @@ namespace Prebuild.Core
readonly List<SolutionNode> m_Solutions = new List<SolutionNode>(); readonly List<SolutionNode> m_Solutions = new List<SolutionNode>();
string m_Target; string m_Target;
FrameworkVersion m_TargetFramework; //Overrides all project settings
string m_Conditionals; //Adds to all project settings
public string ForcedConditionals { get { return m_Conditionals; } }
string m_Clean; string m_Clean;
string[] m_RemoveDirectories; string[] m_RemoveDirectories;
XmlDocument m_CurrentDoc; XmlDocument m_CurrentDoc;
@ -323,7 +326,8 @@ namespace Prebuild.Core
m_Log.Write("Rob Loach (http://www.robloach.net),"); m_Log.Write("Rob Loach (http://www.robloach.net),");
m_Log.Write("C.J. Adams-Collier (cjac@colliertech.org),"); m_Log.Write("C.J. Adams-Collier (cjac@colliertech.org),");
m_Log.Write("John Hurliman (john.hurliman@intel.com),"); m_Log.Write("John Hurliman (john.hurliman@intel.com),");
m_Log.Write("WhiteCore build 2015 (greythane@gmail.com),");
m_Log.Write ("");
m_Log.Write("See 'prebuild /usage' for help"); m_Log.Write("See 'prebuild /usage' for help");
m_Log.Write(); m_Log.Write();
} }
@ -598,6 +602,10 @@ namespace Prebuild.Core
dataNode = preNode; dataNode = preNode;
dataNode.Parent = parent; dataNode.Parent = parent;
if (dataNode is ProjectNode)
{
((ProjectNode)dataNode).FrameworkVersion = m_TargetFramework;
}
dataNode.Parse(node); dataNode.Parse(node);
} }
catch(WarningException wex) catch(WarningException wex)
@ -653,6 +661,9 @@ namespace Prebuild.Core
m_CurrentWorkingDirectory = new CurrentDirectory(); m_CurrentWorkingDirectory = new CurrentDirectory();
m_Target = m_CommandLine["target"]; m_Target = m_CommandLine["target"];
m_Conditionals = m_CommandLine["conditionals"];
if(m_CommandLine["targetframework"] != null)
m_TargetFramework = (FrameworkVersion)Enum.Parse (typeof (FrameworkVersion), m_CommandLine["targetframework"]);
m_Clean = m_CommandLine["clean"]; m_Clean = m_CommandLine["clean"];
string removeDirs = m_CommandLine["removedir"]; string removeDirs = m_CommandLine["removedir"];
if(removeDirs != null && removeDirs.Length == 0) if(removeDirs != null && removeDirs.Length == 0)

View File

@ -100,7 +100,15 @@ namespace Prebuild.Core.Nodes
/// <summary> /// <summary>
/// .NET 4.5.1 /// .NET 4.5.1
/// </summary> /// </summary>
v4_5_1 v4_5_1,
/// <summary>
/// .NET 4.6
/// </summary>
v4_6,
/// <summary>
/// .NET 4.6.1
/// </summary>
v4_6_1
} }
/// <summary> /// <summary>
/// The Node object representing /Prebuild/Solution/Project elements /// The Node object representing /Prebuild/Solution/Project elements
@ -115,12 +123,14 @@ namespace Prebuild.Core.Nodes
private string m_FullPath = ""; private string m_FullPath = "";
private string m_AssemblyName; private string m_AssemblyName;
private string m_AppIcon = ""; private string m_AppIcon = "";
private string m_ApplicationManifest = "";
private string m_ConfigFile = ""; private string m_ConfigFile = "";
private string m_DesignerFolder = ""; private string m_DesignerFolder = "";
private string m_Language = "C#"; private string m_Language = "C#";
private ProjectType m_Type = ProjectType.Exe; private ProjectType m_Type = ProjectType.Exe;
private ClrRuntime m_Runtime = ClrRuntime.Microsoft; private ClrRuntime m_Runtime = ClrRuntime.Microsoft;
private FrameworkVersion m_Framework = FrameworkVersion.v2_0; private FrameworkVersion m_Framework = FrameworkVersion.v2_0;
private bool m_useFramework = true;
private string m_StartupObject = ""; private string m_StartupObject = "";
private string m_RootNamespace; private string m_RootNamespace;
private string m_FilterGroups = ""; private string m_FilterGroups = "";
@ -158,6 +168,11 @@ namespace Prebuild.Core.Nodes
{ {
return m_Framework; return m_Framework;
} }
set
{
m_Framework = value;
m_useFramework = false;
}
} }
/// <summary> /// <summary>
/// Gets the path. /// Gets the path.
@ -231,6 +246,18 @@ namespace Prebuild.Core.Nodes
} }
} }
/// <summary>
/// Gets the Application Manifest.
/// </summary>
/// <value>The Application Manifest.</value>
public string ApplicationManifest
{
get
{
return m_ApplicationManifest;
}
}
/// <summary> /// <summary>
/// Gets the app icon. /// Gets the app icon.
/// </summary> /// </summary>
@ -493,13 +520,16 @@ namespace Prebuild.Core.Nodes
m_FilterGroups = Helper.AttributeValue(node, "filterGroups", m_FilterGroups); m_FilterGroups = Helper.AttributeValue(node, "filterGroups", m_FilterGroups);
m_Version = Helper.AttributeValue(node, "version", m_Version); m_Version = Helper.AttributeValue(node, "version", m_Version);
m_AppIcon = Helper.AttributeValue(node, "icon", m_AppIcon); m_AppIcon = Helper.AttributeValue(node, "icon", m_AppIcon);
m_ApplicationManifest = Helper.AttributeValue(node, "appmanifest", m_ApplicationManifest);
m_ConfigFile = Helper.AttributeValue(node, "configFile", m_ConfigFile); m_ConfigFile = Helper.AttributeValue(node, "configFile", m_ConfigFile);
m_DesignerFolder = Helper.AttributeValue(node, "designerFolder", m_DesignerFolder); m_DesignerFolder = Helper.AttributeValue(node, "designerFolder", m_DesignerFolder);
m_AssemblyName = Helper.AttributeValue(node, "assemblyName", m_AssemblyName); m_AssemblyName = Helper.AttributeValue(node, "assemblyName", m_AssemblyName);
m_Language = Helper.AttributeValue(node, "language", m_Language); m_Language = Helper.AttributeValue(node, "language", m_Language);
m_Type = (ProjectType)Helper.EnumAttributeValue(node, "type", typeof(ProjectType), m_Type); m_Type = (ProjectType)Helper.EnumAttributeValue(node, "type", typeof(ProjectType), m_Type);
m_Runtime = (ClrRuntime)Helper.EnumAttributeValue(node, "runtime", typeof(ClrRuntime), m_Runtime); m_Runtime = (ClrRuntime)Helper.EnumAttributeValue(node, "runtime", typeof(ClrRuntime), m_Runtime);
if(m_useFramework)
m_Framework = (FrameworkVersion)Helper.EnumAttributeValue(node, "frameworkVersion", typeof(FrameworkVersion), m_Framework); m_Framework = (FrameworkVersion)Helper.EnumAttributeValue(node, "frameworkVersion", typeof(FrameworkVersion), m_Framework);
m_StartupObject = Helper.AttributeValue(node, "startupObject", m_StartupObject); m_StartupObject = Helper.AttributeValue(node, "startupObject", m_StartupObject);
m_RootNamespace = Helper.AttributeValue(node, "rootNamespace", m_RootNamespace); m_RootNamespace = Helper.AttributeValue(node, "rootNamespace", m_RootNamespace);

View File

@ -209,6 +209,49 @@ namespace Prebuild.Core.Targets
ss.WriteLine(" <target name=\"{0}\">", "build"); ss.WriteLine(" <target name=\"{0}\">", "build");
ss.WriteLine(" <echo message=\"Build Directory is ${project::get-base-directory()}/${build.dir}\" />"); ss.WriteLine(" <echo message=\"Build Directory is ${project::get-base-directory()}/${build.dir}\" />");
ss.WriteLine(" <mkdir dir=\"${project::get-base-directory()}/${build.dir}\" />"); ss.WriteLine(" <mkdir dir=\"${project::get-base-directory()}/${build.dir}\" />");
ss.WriteLine(" <copy todir=\"${project::get-base-directory()}/${build.dir}\" flatten=\"true\">");
ss.WriteLine(" <fileset basedir=\"${project::get-base-directory()}\">");
foreach (ReferenceNode refr in project.References)
{
if (refr.LocalCopy)
{
ss.WriteLine(" <include name=\"{0}", Helper.NormalizePath(Helper.MakePathRelativeTo(project.FullPath, BuildReference(solution, project, refr)) + "\" />", '/'));
}
}
ss.WriteLine(" </fileset>");
ss.WriteLine(" </copy>");
if (project.ConfigFile != null && project.ConfigFile.Length!=0)
{
ss.Write(" <copy file=\"" + project.ConfigFile + "\" tofile=\"${project::get-base-directory()}/${build.dir}/${project::get-name()}");
if (project.Type == ProjectType.Library)
{
ss.Write(".dll.config\"");
}
else
{
ss.Write(".exe.config\"");
}
ss.WriteLine(" />");
}
// Add the content files to just be copied
ss.WriteLine(" {0}", "<copy todir=\"${project::get-base-directory()}/${build.dir}\">");
ss.WriteLine(" {0}", "<fileset basedir=\".\">");
foreach (string file in project.Files)
{
// Ignore if we aren't content
if (project.Files.GetBuildAction(file) != BuildAction.Content)
continue;
// Create a include tag
ss.WriteLine(" {0}", "<include name=\"" + Helper.NormalizePath(PrependPath(file), '/') + "\" />");
}
ss.WriteLine(" {0}", "</fileset>");
ss.WriteLine(" {0}", "</copy>");
ss.Write(" <csc "); ss.Write(" <csc ");
ss.Write(" target=\"{0}\"", project.Type.ToString().ToLower()); ss.Write(" target=\"{0}\"", project.Type.ToString().ToLower());
@ -594,24 +637,6 @@ namespace Prebuild.Core.Targets
ss.WriteLine(" <target name=\"clean\" description=\"\">"); ss.WriteLine(" <target name=\"clean\" description=\"\">");
ss.WriteLine(" <echo message=\"Deleting all builds from all configurations\" />"); ss.WriteLine(" <echo message=\"Deleting all builds from all configurations\" />");
//ss.WriteLine(" <delete dir=\"${dist.dir}\" failonerror=\"false\" />"); //ss.WriteLine(" <delete dir=\"${dist.dir}\" failonerror=\"false\" />");
// justincc: FIXME FIXME FIXME - A temporary OpenSim hack to clean up files when "nant clean" is executed.
// Should be replaced with extreme prejudice once anybody finds out if the CleanFiles stuff works or there is
// another working mechanism for specifying this stuff
ss.WriteLine(" <delete failonerror=\"false\">");
ss.WriteLine(" <fileset basedir=\"${bin.dir}\">");
ss.WriteLine(" <include name=\"OpenSim*.dll\"/>");
ss.WriteLine(" <include name=\"OpenSim*.dll.mdb\"/>");
ss.WriteLine(" <include name=\"OpenSim*.exe\"/>");
ss.WriteLine(" <include name=\"OpenSim*.exe.mdb\"/>");
ss.WriteLine(" <include name=\"ScriptEngines/*\"/>");
ss.WriteLine(" <include name=\"Physics/*.dll\"/>");
ss.WriteLine(" <include name=\"Physics/*.dll.mdb\"/>");
ss.WriteLine(" <exclude name=\"OpenSim.32BitLaunch.exe\"/>");
ss.WriteLine(" <exclude name=\"ScriptEngines/Default.lsl\"/>");
ss.WriteLine(" </fileset>");
ss.WriteLine(" </delete>");
if (solution.Cleanup != null && solution.Cleanup.CleanFiles.Count > 0) if (solution.Cleanup != null && solution.Cleanup.CleanFiles.Count > 0)
{ {
foreach (CleanFilesNode cleanFile in solution.Cleanup.CleanFiles) foreach (CleanFilesNode cleanFile in solution.Cleanup.CleanFiles)

View File

@ -219,7 +219,12 @@ namespace Prebuild.Core.Targets
ps.WriteLine(" </FileUpgradeFlags>"); ps.WriteLine(" </FileUpgradeFlags>");
ps.WriteLine(" </PropertyGroup>"); ps.WriteLine(" </PropertyGroup>");
if (!string.IsNullOrEmpty(project.ApplicationManifest))
{
ps.WriteLine(" <PropertyGroup>");
ps.WriteLine(" <ApplicationManifest>" + project.ApplicationManifest + "</ApplicationManifest>");
ps.WriteLine(" </PropertyGroup>");
}
foreach (ConfigurationNode conf in project.Configurations) foreach (ConfigurationNode conf in project.Configurations)
{ {
ps.Write(" <PropertyGroup "); ps.Write(" <PropertyGroup ");
@ -229,7 +234,8 @@ namespace Prebuild.Core.Targets
ps.WriteLine(" <CheckForOverflowUnderflow>{0}</CheckForOverflowUnderflow>", conf.Options["CheckUnderflowOverflow"]); ps.WriteLine(" <CheckForOverflowUnderflow>{0}</CheckForOverflowUnderflow>", conf.Options["CheckUnderflowOverflow"]);
ps.WriteLine(" <ConfigurationOverrideFile>"); ps.WriteLine(" <ConfigurationOverrideFile>");
ps.WriteLine(" </ConfigurationOverrideFile>"); ps.WriteLine(" </ConfigurationOverrideFile>");
ps.WriteLine(" <DefineConstants>{0}</DefineConstants>", conf.Options["CompilerDefines"]); ps.WriteLine(" <DefineConstants>{0}</DefineConstants>",
conf.Options["CompilerDefines"] == "" ? this.kernel.ForcedConditionals : conf.Options["CompilerDefines"] + ";" + kernel.ForcedConditionals);
ps.WriteLine(" <DocumentationFile>{0}</DocumentationFile>", Helper.NormalizePath(conf.Options["XmlDocFile"].ToString())); ps.WriteLine(" <DocumentationFile>{0}</DocumentationFile>", Helper.NormalizePath(conf.Options["XmlDocFile"].ToString()));
ps.WriteLine(" <DebugSymbols>{0}</DebugSymbols>", conf.Options["DebugInformation"]); ps.WriteLine(" <DebugSymbols>{0}</DebugSymbols>", conf.Options["DebugInformation"]);
ps.WriteLine(" <FileAlignment>{0}</FileAlignment>", conf.Options["FileAlignment"]); ps.WriteLine(" <FileAlignment>{0}</FileAlignment>", conf.Options["FileAlignment"]);

View File

@ -49,6 +49,19 @@ namespace Prebuild.Core.Targets
/// <summary> /// <summary>
/// Visual Studio 2010 /// Visual Studio 2010
/// </summary> /// </summary>
VS10 VS10,
/// <summary>
/// Visual Studio 2012
/// </summary>
VS11,
/// <summary>
/// Visual Studio 2013
/// </summary>
VS12,
/// <summary>
/// Visual Studio 2015
/// </summary>
VS15
} }
} }

View File

@ -107,7 +107,7 @@ namespace Prebuild.Core.Utilities
break; break;
} }
int length = endIndex - startIndex - beforeGroup.Length;//move to the first char in the string int length = endIndex - startIndex - beforeGroup.Length;//move to the first char in the string
string substring = substring = target.Substring(startIndex + beforeGroup.Length - beforeMod, string substring = target.Substring(startIndex + beforeGroup.Length - beforeMod,
length - afterMod); length - afterMod);
results.Add(substring); results.Add(substring);

View File

@ -61,17 +61,18 @@ using System.Resources;
[assembly: AssemblyConfiguration(".NET CLR")] [assembly: AssemblyConfiguration(".NET CLR")]
[assembly: AssemblyCompany("The Prebuild Project")] [assembly: AssemblyCompany("The Prebuild Project")]
[assembly: AssemblyProduct("")] [assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("Copyright 2004-2013 " + [assembly: AssemblyCopyright("Copyright 2004-2015 " +
"Matthew Holmes, " + "Matthew Holmes, " +
"Dan Moorehead, " + "Dan Moorehead, " +
"C.J. Adams-Collier, " + "C.J. Adams-Collier, " +
"Rob Loach, " + "Rob Loach, " +
"David Hudson," + "David Hudson," +
"John Hurliman")] "John Hurliman" +
"WhiteCore Development")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
[assembly: NeutralResourcesLanguageAttribute("en-US")] [assembly: NeutralResourcesLanguageAttribute("en-US")]
[assembly: AssemblyVersion("2.0.6.*")] [assembly: AssemblyVersion("2.0.7.*")]
// //
// Version information for an assembly consists of the following four values: // Version information for an assembly consists of the following four values:

Binary file not shown.