Aetheria/Aetheria.State/Aetheria.State.Dependencies.targets
2026-07-13 19:16:07 +01:00

20 lines
1.2 KiB
XML

<Project>
<Target Name="VerifyGameCultMeshReference" AfterTargets="ResolveAssemblyReferences"
Condition="'$(DesignTimeBuild)' != 'true'">
<ItemGroup>
<_GameCultMeshReference Include="@(ReferencePath)"
Condition="'%(ReferencePath.Filename)%(ReferencePath.Extension)' == 'GameCult.Mesh.dll'" />
</ItemGroup>
<Error Condition="@(_GameCultMeshReference->Count()) != 1"
Text="Expected exactly one resolved GameCult.Mesh reference, found @(_GameCultMeshReference->Count()): @(_GameCultMeshReference, ', ')" />
<Error Condition="$([System.String]::Copy('%(_GameCultMeshReference.FullPath)').StartsWith($([System.IO.Path]::GetFullPath('$(CultLibRoot)\')), System.StringComparison.OrdinalIgnoreCase)) != 'true'"
Text="GameCult.Mesh resolved outside CultLibRoot '$(CultLibRoot)': %(_GameCultMeshReference.FullPath)" />
<GetFileHash Files="@(_GameCultMeshReference)" Algorithm="SHA256">
<Output TaskParameter="Items" ItemName="_GameCultMeshReferenceHash" />
</GetFileHash>
<Message Importance="High"
Text="GameCult.Mesh reference: %(_GameCultMeshReferenceHash.FullPath) SHA256=%(_GameCultMeshReferenceHash.FileHash)" />
</Target>
</Project>