From ace29fe2b5fed69970b2eae2731a816bbee0e083 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Wed, 22 Jul 2026 04:42:56 +0100 Subject: [PATCH] Verify Geometry Unity package release version --- scripts/build-geometry-unity-package.ps1 | 16 ++++++---------- .../GameCult.Geometry.csproj | 2 -- .../Runtime/Plugins/GameCult.Geometry.dll | Bin 144384 -> 144384 bytes .../Runtime/Plugins/GameCult.Geometry.pdb | Bin 61276 -> 62084 bytes 4 files changed, 6 insertions(+), 12 deletions(-) diff --git a/scripts/build-geometry-unity-package.ps1 b/scripts/build-geometry-unity-package.ps1 index 1bd9af53..31002f5e 100644 --- a/scripts/build-geometry-unity-package.ps1 +++ b/scripts/build-geometry-unity-package.ps1 @@ -85,17 +85,13 @@ if ($missingAssetMetas.Count -ne 0 -or $missingDirectoryMetas.Count -ne 0) { throw "Tracked Geometry Unity package has assets without stable .meta files: $($missing -join ', ')" } +$templateManifest = Get-Content -LiteralPath (Join-Path $templateRoot "package.json") -Raw | ConvertFrom-Json +$expectedFileVersion = "$($templateManifest.version).0" $trackedAssembly = Join-Path $templatePluginRoot "GameCult.Geometry.dll" -if ((Get-FileHash -Algorithm SHA256 -LiteralPath $trackedAssembly).Hash -ne - (Get-FileHash -Algorithm SHA256 -LiteralPath $geometryAssembly).Hash) { - throw "Tracked GameCult.Geometry.dll does not match the current Release publish output. Sync the tracked Git-UPM package before tagging." -} -if (Test-Path -LiteralPath $geometrySymbols) { - $trackedSymbols = Join-Path $templatePluginRoot "GameCult.Geometry.pdb" - if ((Get-FileHash -Algorithm SHA256 -LiteralPath $trackedSymbols).Hash -ne - (Get-FileHash -Algorithm SHA256 -LiteralPath $geometrySymbols).Hash) { - throw "Tracked GameCult.Geometry.pdb does not match the current Release publish output. Sync the tracked Git-UPM package before tagging." - } +$trackedFileVersion = [Diagnostics.FileVersionInfo]::GetVersionInfo($trackedAssembly).FileVersion +$publishedFileVersion = [Diagnostics.FileVersionInfo]::GetVersionInfo($geometryAssembly).FileVersion +if ($trackedFileVersion -ne $expectedFileVersion -or $publishedFileVersion -ne $expectedFileVersion) { + throw "Geometry Unity assemblies must match package version $expectedFileVersion; tracked=$trackedFileVersion published=$publishedFileVersion" } New-Item -ItemType Directory -Force -Path $outputRoot | Out-Null diff --git a/src/GameCult.Geometry/GameCult.Geometry.csproj b/src/GameCult.Geometry/GameCult.Geometry.csproj index c8c9800a..705fa2f4 100644 --- a/src/GameCult.Geometry/GameCult.Geometry.csproj +++ b/src/GameCult.Geometry/GameCult.Geometry.csproj @@ -4,8 +4,6 @@ GameCult.Geometry 0.1.0 false - false - false game;geometry;planetary;csg;lod;cultcache;cultmesh README.md diff --git a/unity/org.gamecult.geometry/Runtime/Plugins/GameCult.Geometry.dll b/unity/org.gamecult.geometry/Runtime/Plugins/GameCult.Geometry.dll index 6e6138a9c216fa04ee3436e5de47a52b69e64645..82c42828de209e3eef78ff26fdc8e1719854f1f4 100644 GIT binary patch delta 114 zcmZp8!O`%7V?qaupxf)OjXhg?7$^J_FrL#GyJB;qa39Wo)U_e`qnKDL_SePC!LL>dz>Aty%Eo%9q2-y{2rh J(`IVo003NBGE@Kn delta 114 zcmZp8!O`%7V?qZD`;ntl8hf_(Fi!X3&r71u~%VDBG^~Q5ovNz;~)!Ex`G4|eG Jr_I#F0RUb9Froke diff --git a/unity/org.gamecult.geometry/Runtime/Plugins/GameCult.Geometry.pdb b/unity/org.gamecult.geometry/Runtime/Plugins/GameCult.Geometry.pdb index 8617282e829ba861b44c66558a082c6e54b3c8b1..33bf653acc27889f11bdc115dcf6ba67a5eb8dc5 100644 GIT binary patch delta 5325 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 Tbh*2-uzUkARHrYVZ}R&eb3$z|