Delvehold/Directory.Build.targets
2026-08-26 21:58:20 +02:00

22 lines
1.3 KiB
XML

<Project>
<Target Name="VerifyCultLibRevision"
BeforeTargets="ResolveProjectReferences"
Condition="'$(SkipCultLibRevisionCheck)' != 'true'">
<Error Condition="!Exists('$(CultLibRoot)\src\GameCult.Mesh\GameCult.Mesh.csproj')"
Text="CultLibRoot '$(CultLibRoot)' does not contain the required GameCult.Mesh project." />
<Exec Command="&quot;$(GitExecutable)&quot; -C &quot;$(CultLibRoot)&quot; rev-parse HEAD"
ConsoleToMSBuild="true"
StandardOutputImportance="Low">
<Output TaskParameter="ConsoleOutput" PropertyName="ActualCultLibRevision" />
</Exec>
<Error Condition="'$([System.String]::Copy($(ActualCultLibRevision)).Trim())' != '$(CultLibRevision)'"
Text="CultLib must be revision $(CultLibRevision); found $([System.String]::Copy($(ActualCultLibRevision)).Trim()). Set CultLibRoot to the admitted clean worktree." />
<Exec Command="&quot;$(GitExecutable)&quot; -C &quot;$(CultLibRoot)&quot; status --porcelain --untracked-files=normal"
ConsoleToMSBuild="true"
StandardOutputImportance="Low">
<Output TaskParameter="ConsoleOutput" PropertyName="CultLibStatus" />
</Exec>
<Error Condition="'$([System.String]::Copy($(CultLibStatus)).Trim())' != ''"
Text="CultLibRoot must be clean before Delvehold consumes it." />
</Target>
</Project>