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.
44 lines
1.6 KiB
PowerShell
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.'
|