Files
Workspace/Tools/ShrinkModFixtureBuilder/Rebuild-ShrinkModFixtures.ps1
T
cneicy ad5a7b68a3 feat(sdk): migrate to EventBus 2.0
Replace the legacy EventBase runtime with generated multi-bus bindings and explicit scheduling. Migrate app, data, network, demo, and mod consumers; add generated network-event registration and owner-scoped mod content overrides.
2026-08-26 01:15:48 +08:00

44 lines
1.6 KiB
PowerShell

[CmdletBinding()]
param(
[string]$ProjectRoot
)
$ErrorActionPreference = 'Stop'
if (-not $ProjectRoot) {
$ProjectRoot = Join-Path $PSScriptRoot '../..'
}
$resolvedProjectRoot = (Resolve-Path -LiteralPath $ProjectRoot).Path
$runtimeProject = Join-Path $resolvedProjectRoot 'ShrinkModFramework.Runtime.csproj'
$fixtureProject = Join-Path $PSScriptRoot 'ShrinkModFixtureBuilder.csproj'
$fixtureOutputRoot = Join-Path $resolvedProjectRoot 'Temp/ShrinkModFixtureBuilder'
$fixtureTargetRoot = Join-Path $resolvedProjectRoot 'Assets/Modules/ShrinkModFramework/Tests/Fixtures'
dotnet build $runtimeProject /m:1 --nologo
if ($LASTEXITCODE -ne 0) {
throw "ShrinkModFramework.Runtime build failed with exit code $LASTEXITCODE."
}
foreach ($variant in 'V1', 'V2', 'V3') {
$outputDirectory = Join-Path $fixtureOutputRoot $variant
$intermediateDirectory = Join-Path $fixtureOutputRoot "obj/$variant/"
dotnet build $fixtureProject /m:1 --nologo `
-p:FixtureVariant=$variant `
-p:BaseIntermediateOutputPath=$intermediateDirectory `
-p:OutputPath=$outputDirectory
if ($LASTEXITCODE -ne 0) {
throw "External fixture $variant build failed with exit code $LASTEXITCODE."
}
$source = Join-Path $outputDirectory 'ExternalFixture.Mod.dll'
$targetName = switch ($variant) {
'V1' { 'ExternalFixture.Mod.V1.dll.bytes' }
'V2' { 'ExternalFixture.Mod.V2.Failing.dll.bytes' }
'V3' { 'ExternalFixture.Mod.V3.dll.bytes' }
}
Copy-Item -LiteralPath $source -Destination (Join-Path $fixtureTargetRoot $targetName) -Force
}
Write-Host 'ShrinkModFramework external fixture DLLs rebuilt.'