linux-packaging-mono/external/corefx/FindConflictingProjectConfigurations.ps1

39 lines
812 B
PowerShell
Raw Normal View History

msbuild /nologo /v:quiet build.proj /t:build /flp1:v=detailed`;LogFile=dumptargets.log /p:SkipTests=true
$targets = gc dumptargets.log | ? { $_.Contains("DumpTargets>") -or ($_.Contains("is building") -and ($_.Contains("default target") -or $_.Contains("Build"))) }
$ht = new-object Hashtable
$duplicates = @();
$foundConflict = $false;
$lastIsBuilding = "";
foreach($target in $targets)
{
#"->" + $target
if ($target.Contains("is building"))
{
$lastIsBuilding = $target;
continue;
}
if ($ht.Contains($target))
{
$buildingProject = $ht[$target];
"Conflict:"
"$target"
"1> $buildingProject"
"2> $lastIsBuilding"
"`n"
$foundConflict = $true;
}
else
{
$ht.Add($target, $lastIsBuilding);
}
}
if ($foundConflict -eq $false)
{
"Found no conflicts";
}