Internal: more updates to the build toolchain...

This commit is contained in:
MaxED 2016-12-27 15:12:57 +03:00
parent ed3233736b
commit 84886d10ba
6 changed files with 89 additions and 46 deletions

Binary file not shown.

View file

@ -174,7 +174,7 @@ IF NOT EXIST "Build\Plugins\VisplaneExplorer.dll" GOTO FILEFAIL
ECHO. ECHO.
ECHO Creating changelog... ECHO Creating changelog...
ECHO. ECHO.
ChangelogMaker.exe "GIT_Build\Changelog.xml" "Build" "MaxED" %REVISIONNUMBER% ChangelogMaker.exe "GIT_Build\Changelog.xml" "Build" "m-x-d>MaxED" %REVISIONNUMBER%
IF %ERRORLEVEL% NEQ 0 GOTO LOGFAIL IF %ERRORLEVEL% NEQ 0 GOTO LOGFAIL
ECHO. ECHO.

View file

@ -167,7 +167,7 @@ IF NOT EXIST "Build\Plugins\VisplaneExplorer.dll" GOTO FILEFAIL
ECHO. ECHO.
ECHO Creating changelog... ECHO Creating changelog...
ECHO. ECHO.
ChangelogMaker.exe "Release\Changelog.xml" "Build" "MaxED" %REVISIONNUMBER% ChangelogMaker.exe "Release\Changelog.xml" "Build" "m-x-d>MaxED" %REVISIONNUMBER%
IF %ERRORLEVEL% NEQ 0 GOTO LOGFAIL IF %ERRORLEVEL% NEQ 0 GOTO LOGFAIL
ECHO. ECHO.

View file

@ -1,20 +1,16 @@
System requirements: **System requirements:**
2.4 GHz CPU or faster (multi-core recommended). - 2.4 GHz CPU or faster (multi-core recommended).
Windows XP, Vista, 7, 8 or 10. - Windows XP, Vista, 7, 8 or 10.
Graphics card with Pixel Shader model 2.0 support. - Graphics card with Pixel Shader model 2.0 support.
Required software: **Required software:**
Microsoft .Net Framework 3.5 (http://www.microsoft.com/download/en/details.aspx?id=25150). - Microsoft .Net Framework 3.5 (http://www.microsoft.com/download/en/details.aspx?id=25150).
DirectX 9.0 Runtime (https://www.microsoft.com/en-us/download/details.aspx?id=35&44F86079-8679-400C-BFF2-9CA5F2BCBDFC=1). - DirectX 9.0 Runtime (https://www.microsoft.com/en-us/download/details.aspx?id=35&44F86079-8679-400C-BFF2-9CA5F2BCBDFC=1).
Official thread at ZDoom.org: **Links:**
• http://forum.zdoom.org/viewtopic.php?f=3&t=32392 - [Official thread at ZDoom.org](http://forum.zdoom.org/viewtopic.php?f=3&t=32392)
- [Unofficial thread at iddqd.ru (in russian)](http://i.iddqd.ru/viewtopic.php?t=522)
- [Git builds at DRDTeam.org](http://devbuilds.drdteam.org/doombuilder2-gzdb/)
Unofficial thread at iddqd.ru (in russian): More detailed info can be found in the **editor documentation** (Refmanual.chm).
• http://i.iddqd.ru/viewtopic.php?t=522
Git builds at DRDTeam.org:
• http://devbuilds.drdteam.org/doombuilder2-gzdb/
More detailed info can be found in the editor documentation (Refmanual.chm).

View file

@ -1441,12 +1441,33 @@
<PropertyGroup> <PropertyGroup>
<PreBuildEvent> <PreBuildEvent>
</PreBuildEvent> </PreBuildEvent>
<PostBuildEvent>if exist "%25VS140COMNTOOLS%25" call "%25VS140COMNTOOLS%25vsvars32.bat" <PostBuildEvent>if exist "%25VS140COMNTOOLS%25" goto tools140
else if exist "%25VS120COMNTOOLS%25" call "%25VS120COMNTOOLS%25vsvars32.bat" if exist "%25VS120COMNTOOLS%25" goto tools120
else if exist "%25VS110COMNTOOLS%25" call "%25VS110COMNTOOLS%25vsvars32.bat" if exist "%25VS110COMNTOOLS%25" goto tools110
else if exist "%25VS100COMNTOOLS%25" call "%25VS100COMNTOOLS%25vsvars32.bat" if exist "%25VS100COMNTOOLS%25" goto tools100
else if exist "%25VS90COMNTOOLS%25" call "%25VS90COMNTOOLS%25vsvars32.bat" if exist "%25VS90COMNTOOLS%25" goto tools90
:tools140
call "%25VS140COMNTOOLS%25vsvars32.bat"
goto end
:tools120
call "%25VS120COMNTOOLS%25vsvars32.bat"
goto end
:tools110
call "%25VS110COMNTOOLS%25vsvars32.bat"
goto end
:tools100
call "%25VS100COMNTOOLS%25vsvars32.bat"
goto end
:tools90
call "%25VS90COMNTOOLS%25vsvars32.bat"
goto end
:end
editbin.exe /NOLOGO /LARGEADDRESSAWARE "$(TargetPath)"</PostBuildEvent> editbin.exe /NOLOGO /LARGEADDRESSAWARE "$(TargetPath)"</PostBuildEvent>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View file

@ -1,6 +1,7 @@
#region ======================== Namespaces #region ======================== Namespaces
using System; using System;
using System.Collections.Generic;
using System.IO; using System.IO;
using System.Text; using System.Text;
using System.Xml; using System.Xml;
@ -21,25 +22,41 @@ namespace mxd.ChangelogMaker
static int Main(string[] args) static int Main(string[] args)
{ {
Console.WriteLine("Changelog Maker v02 by MaxED"); Console.WriteLine("Changelog Maker v03 by MaxED");
if(args.Length != 4) if(args.Length != 4)
{ {
return Fail("USAGE: ChangelogMaker.exe input output author revision_number\n" + return Fail("USAGE: ChangelogMaker.exe input output author revision_number\n" +
"input: xml file generated by 'svn log --xml' command\n" + "input: xml file generated by MakeRelese.bat\\MakeGITRelese.bat\n" +
"output: directory to store Changelog.txt in\n" + "output: directory to store Changelog.txt in\n" +
"author: commit author\n" + "renameauthor: commit authors rename scheme. For example, \"m-x-d>MaxED|biwa>Boris\"\n" +
"revision_number: latest revision number", 1); "revision_number: latest revision number", 1);
} }
string input = args[0]; string input = args[0];
string output = args[1]; string output = args[1];
string author = args[2]; string renameauthor = args[2]; // m-x-d>MaxED|biwa>Boris
int revnum; int revnum;
if(!int.TryParse(args[3], out revnum)) return Fail("Unable to parse revision number from string '" + revnum + "'.", 4); if(!int.TryParse(args[3], out revnum)) return Fail("Unable to parse revision number from string '" + revnum + "'.", 4);
if(!File.Exists(input)) return Fail("Input file '" + input + "' does not exist.", 2); if(!File.Exists(input)) return Fail("Input file '" + input + "' does not exist.", 2);
if(!Directory.Exists(output)) return Fail("Output folder '" + output + "' does not exist.", 3); if(!Directory.Exists(output)) return Fail("Output folder '" + output + "' does not exist.", 3);
// Create author rename array, because git log can't decide how to call me...
Dictionary<string, string> authorrename = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
string[] parts = renameauthor.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
foreach(string ren in parts)
{
string[] rename = ren.Split(new[] { '>' }, StringSplitOptions.RemoveEmptyEntries);
if(rename.Length == 2 && !string.IsNullOrEmpty(rename[0].Trim()) && !string.IsNullOrEmpty(rename[1].Trim()))
{
authorrename[rename[0].Trim()] = rename[1].Trim();
}
else
{
Console.WriteLine("Invalid rename scheme: \"" + ren + "\"");
}
}
//Replace bracket placeholders, because git log command doesn't escape xml-unfriendly chars like < or >... //Replace bracket placeholders, because git log command doesn't escape xml-unfriendly chars like < or >...
string inputtext = File.ReadAllText(input); string inputtext = File.ReadAllText(input);
inputtext = inputtext.Replace("<", "&lt;").Replace(">", "&gt;").Replace("&", "&amp;").Replace("[OB]", "<").Replace("[CB]", ">"); inputtext = inputtext.Replace("<", "&lt;").Replace(">", "&gt;").Replace("&", "&amp;").Replace("[OB]", "<").Replace("[CB]", ">");
@ -51,6 +68,7 @@ namespace mxd.ChangelogMaker
} }
StringBuilder result = new StringBuilder(1000); StringBuilder result = new StringBuilder(1000);
char[] messagetrim = {' ', '\r', '\n' };
foreach(XmlNode node in log.ChildNodes) foreach(XmlNode node in log.ChildNodes)
{ {
if(node.ChildNodes.Count == 0) continue; if(node.ChildNodes.Count == 0) continue;
@ -60,7 +78,7 @@ namespace mxd.ChangelogMaker
string commit = (logentry.Attributes != null ? logentry.Attributes.GetNamedItem("commit").Value : "unknown"); string commit = (logentry.Attributes != null ? logentry.Attributes.GetNamedItem("commit").Value : "unknown");
DateTime date = DateTime.Now; DateTime date = DateTime.Now;
string message = string.Empty; string message = string.Empty;
bool skip = false; string author = string.Empty;
// Add revision info... // Add revision info...
if(logentry.Attributes != null) if(logentry.Attributes != null)
@ -75,7 +93,15 @@ namespace mxd.ChangelogMaker
switch(value.Name) switch(value.Name)
{ {
case "author": case "author":
if(value.InnerText != author) skip = true; if(authorrename.ContainsKey(value.InnerText))
{
author = authorrename[value.InnerText];
value.InnerText = author; // save author
}
else
{
author = value.InnerText;
}
break; break;
case "date": case "date":
@ -83,27 +109,27 @@ namespace mxd.ChangelogMaker
break; break;
case "msg": case "msg":
message = value.InnerText; message = value.InnerText.Trim(messagetrim);
value.InnerText = message; // also save trimmed message
break; break;
} }
} }
if(!skip) result.Append("R" + revnum)
{ .Append(" | ")
result.Append("R" + revnum) .Append(commit)
.Append(" | ") .Append(" | ")
.Append(commit) .Append(author)
.Append(" | ") .Append(" | ")
.Append(date.ToShortDateString()) .Append(date.ToShortDateString())
.Append(", ") .Append(", ")
.Append(date.ToShortTimeString()) .Append(date.ToShortTimeString())
.Append(Environment.NewLine) .Append(Environment.NewLine)
.AppendLine(SEPARATOR) .AppendLine(SEPARATOR)
.Append(message) .Append(message)
.Append(Environment.NewLine) .Append(Environment.NewLine)
.Append(Environment.NewLine) .Append(Environment.NewLine)
.Append(Environment.NewLine); .Append(Environment.NewLine);
}
// Decrease revision number... // Decrease revision number...
revnum--; revnum--;