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 Creating changelog...
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
ECHO.

View file

@ -167,7 +167,7 @@ IF NOT EXIST "Build\Plugins\VisplaneExplorer.dll" GOTO FILEFAIL
ECHO.
ECHO Creating changelog...
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
ECHO.

View file

@ -1,20 +1,16 @@
System requirements:
2.4 GHz CPU or faster (multi-core recommended).
Windows XP, Vista, 7, 8 or 10.
Graphics card with Pixel Shader model 2.0 support.
**System requirements:**
- 2.4 GHz CPU or faster (multi-core recommended).
- Windows XP, Vista, 7, 8 or 10.
- Graphics card with Pixel Shader model 2.0 support.
Required software:
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).
**Required software:**
- 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).
Official thread at ZDoom.org:
• http://forum.zdoom.org/viewtopic.php?f=3&t=32392
**Links:**
- [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):
• 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).
More detailed info can be found in the **editor documentation** (Refmanual.chm).

View file

@ -1441,12 +1441,33 @@
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>if exist "%25VS140COMNTOOLS%25" call "%25VS140COMNTOOLS%25vsvars32.bat"
else if exist "%25VS120COMNTOOLS%25" call "%25VS120COMNTOOLS%25vsvars32.bat"
else if exist "%25VS110COMNTOOLS%25" call "%25VS110COMNTOOLS%25vsvars32.bat"
else if exist "%25VS100COMNTOOLS%25" call "%25VS100COMNTOOLS%25vsvars32.bat"
else if exist "%25VS90COMNTOOLS%25" call "%25VS90COMNTOOLS%25vsvars32.bat"
<PostBuildEvent>if exist "%25VS140COMNTOOLS%25" goto tools140
if exist "%25VS120COMNTOOLS%25" goto tools120
if exist "%25VS110COMNTOOLS%25" goto tools110
if exist "%25VS100COMNTOOLS%25" goto tools100
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>
</PropertyGroup>
</Project>

View file

@ -1,6 +1,7 @@
#region ======================== Namespaces
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Xml;
@ -21,25 +22,41 @@ namespace mxd.ChangelogMaker
static int Main(string[] args)
{
Console.WriteLine("Changelog Maker v02 by MaxED");
Console.WriteLine("Changelog Maker v03 by MaxED");
if(args.Length != 4)
{
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" +
"author: commit author\n" +
"renameauthor: commit authors rename scheme. For example, \"m-x-d>MaxED|biwa>Boris\"\n" +
"revision_number: latest revision number", 1);
}
string input = args[0];
string output = args[1];
string author = args[2];
string renameauthor = args[2]; // m-x-d>MaxED|biwa>Boris
int revnum;
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(!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 >...
string inputtext = File.ReadAllText(input);
inputtext = inputtext.Replace("<", "&lt;").Replace(">", "&gt;").Replace("&", "&amp;").Replace("[OB]", "<").Replace("[CB]", ">");
@ -51,6 +68,7 @@ namespace mxd.ChangelogMaker
}
StringBuilder result = new StringBuilder(1000);
char[] messagetrim = {' ', '\r', '\n' };
foreach(XmlNode node in log.ChildNodes)
{
if(node.ChildNodes.Count == 0) continue;
@ -60,7 +78,7 @@ namespace mxd.ChangelogMaker
string commit = (logentry.Attributes != null ? logentry.Attributes.GetNamedItem("commit").Value : "unknown");
DateTime date = DateTime.Now;
string message = string.Empty;
bool skip = false;
string author = string.Empty;
// Add revision info...
if(logentry.Attributes != null)
@ -75,7 +93,15 @@ namespace mxd.ChangelogMaker
switch(value.Name)
{
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;
case "date":
@ -83,27 +109,27 @@ namespace mxd.ChangelogMaker
break;
case "msg":
message = value.InnerText;
message = value.InnerText.Trim(messagetrim);
value.InnerText = message; // also save trimmed message
break;
}
}
if(!skip)
{
result.Append("R" + revnum)
.Append(" | ")
.Append(commit)
.Append(" | ")
.Append(date.ToShortDateString())
.Append(", ")
.Append(date.ToShortTimeString())
.Append(Environment.NewLine)
.AppendLine(SEPARATOR)
.Append(message)
.Append(Environment.NewLine)
.Append(Environment.NewLine)
.Append(Environment.NewLine);
}
result.Append("R" + revnum)
.Append(" | ")
.Append(commit)
.Append(" | ")
.Append(author)
.Append(" | ")
.Append(date.ToShortDateString())
.Append(", ")
.Append(date.ToShortTimeString())
.Append(Environment.NewLine)
.AppendLine(SEPARATOR)
.Append(message)
.Append(Environment.NewLine)
.Append(Environment.NewLine)
.Append(Environment.NewLine);
// Decrease revision number...
revnum--;