in Utilities/CMake/ProjectFileProcessor/Program.cs [385:467]
private static void DiffFiles(string fileOld, string fileNew, string rootFolder)
{
FileInfo fi1 = new FileInfo(fileOld);
FileInfo fi2 = new FileInfo(fileNew);
if (!fi1.Exists)
{
Console.WriteLine("Missing: " + fileOld);
return;
}
if (!fi2.Exists)
{
Console.WriteLine("Missing: " + fileNew);
return;
}
var fileOld_lines = new List<string>();
var fileOld_files = new List<string>();
var fileOld_files_pre = new List<string>();
ReadFile(fileOld, ref fileOld_lines);
ExtractFileSection(ref fileOld_lines, ref fileOld_files_pre, rootFolder, true);
foreach (string sOld in fileOld_files_pre)
{
var s = sOld.Replace("$(MSBuildThisFileDirectory)", "");
s = s.Replace("\" />", "\" />");
s = s.Replace("<", "");
s = s.Replace("/>", "");
s = s.Replace(">", "");
s = s.Trim();
s = s.ToLower();
fileOld_files.Add(s);
}
var org_fileOld_files = new List<string>(fileOld_files);
var fileNew_lines = new List<string>();
var fileNew_files_pre = new List<string>();
var fileNew_files = new List<string>();
ReadFile(fileNew, ref fileNew_lines);
// <ClInclude Include="..\..\Include\xsapi\achievements.h" />
// <ClCompile Include="..\..\Source\Services\Achievements\achievement.cpp" />
ExtractFileSection(ref fileNew_lines, ref fileNew_files_pre, rootFolder, true);
foreach (string sNew in fileNew_files_pre)
{
var s = sNew.Replace("$(MSBuildThisFileDirectory)", "");
s = s.Replace("\" />", "\" />");
s = s.Replace("<", "");
s = s.Replace("/>", "");
s = s.Replace(">", "");
s = s.Trim();
s = s.ToLower();
fileNew_files.Add(s);
}
var org_fileNew_files = new List<string>(fileNew_files);
foreach (string sOld in fileOld_files)
{
if (sOld.Contains("achievements.h"))
{
bool contains = fileNew_files.Contains(sOld);
fileNew_files.Remove(sOld);
}
fileNew_files.Remove(sOld);
}
foreach (string sNew in org_fileNew_files)
{
fileOld_files.Remove(sNew);
}
Console.WriteLine("Diffing:");
Console.WriteLine(" " + fileOld);
Console.WriteLine(" " + fileNew);
foreach (string sOld in fileOld_files)
{
Console.WriteLine("Missing: " + sOld);
}
foreach (string sNew in fileNew_files)
{
Console.WriteLine("New: " + sNew);
}
Console.WriteLine("");
Console.WriteLine("");
}