in scbuild/scbuild.cs [234:299]
public void Build( string subDir, string arch )
{
string[] res = RunCmd(subDir, "razzle " +arch + " no_oacr exec build -c -z");
bool buildError = false;
int nResultLines = 0;
foreach( string line in res )
{
if( String.IsNullOrEmpty( line.Trim() ) )
{
continue;
}
Match match = Regex.Match( line, @"\s+\d+\s+(files? compiled|librar(y|ies) built|files? binplaced|executables? built)(?<error>.*)$" );
if( match.Success )
{
nResultLines++;
//Print( "***[{0}]\n", line );
string possibleError = match.Groups[ "error" ].Value;
//Print( "***+{0}+\n", possibleError );
if( possibleError.Length > 0 )
{
if( !Regex.IsMatch( possibleError, @"\s+\-\s+\d+\s+Error" ) )
{
Fatal( "Could not parse possible error string '{0}' in line '{1}'", possibleError, line );
}
buildError = true;
}
}
else
{
if( nResultLines > 0 )
{
Fatal( "Found non-result lines after a line that I interpreted as part of the final result: {0}", line );
}
}
}
if( buildError )
{
m_nBuildError++;
Fatal( "ERROR: detected build error while building {0}\n", arch );
} else if( nResultLines == 0 )
{
Fatal( "Could not validate success of build" );
}
//
// Move the log file over to the release directory
//
string subDirNamePart = "";
string subDirPath = "";
if( subDir != "" )
{
subDirNamePart = subDir + @"_";
subDirPath = subDir + @"\";
}
string chkfre = arch.Substring( arch.Length - 3, 3 );
string LogFileName = subDirPath + "build" + chkfre + ".log";
string DestFileName = @"release\buildlogs\" + subDirNamePart + "build" + arch + ".log";
MoveFile( LogFileName, DestFileName );
}