This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
[CmdletBinding()]
|
||||
param(
|
||||
[string]$UnityProjectRoot
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
$packageRoot = (Resolve-Path -LiteralPath (Join-Path $PSScriptRoot '../..')).Path
|
||||
if (-not $UnityProjectRoot) {
|
||||
$UnityProjectRoot = Join-Path $packageRoot 'Development~/UnityProject'
|
||||
}
|
||||
|
||||
$resolvedUnityProjectRoot = (Resolve-Path -LiteralPath $UnityProjectRoot).Path
|
||||
$fixtureProject = Join-Path $PSScriptRoot 'ShrinkModFixtureBuilder.csproj'
|
||||
$fixtureOutputRoot = Join-Path $resolvedUnityProjectRoot 'Temp/ShrinkModFixtureBuilder'
|
||||
$fixtureTargetRoot = Join-Path $packageRoot 'Tests/Fixtures'
|
||||
$runtimeAssemblyPath = Join-Path $resolvedUnityProjectRoot 'Temp/Bin/Debug/ShrinkModFramework.Runtime/ShrinkModFramework.Runtime.dll'
|
||||
|
||||
if (-not (Test-Path -LiteralPath $runtimeAssemblyPath)) {
|
||||
throw "ShrinkModFramework.Runtime.dll was not found. Compile the Unity development host first: $resolvedUnityProjectRoot"
|
||||
}
|
||||
|
||||
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:RuntimeAssemblyPath=$runtimeAssemblyPath `
|
||||
-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.'
|
||||
Reference in New Issue
Block a user