cultlib release gate: clear every project's intermediates, CultMath's included, before the byte gate
Directory.Build.props puts CultMath's obj at obj\packages\cultmath\src\CultMath, which the obj\src-only clean left in place, so an old-mtime CultMath source change could reuse a stale CultMath.dll and pass the byte gate (Soul finding cut-3-gate.s1.cultmath-obj-not-cleared). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
0884361731
commit
a287b6f8a5
1 changed files with 5 additions and 3 deletions
|
|
@ -62,9 +62,11 @@ if ([version]$cultMathDeclared -ne [version]$cultMathAvailable) {
|
|||
# Source Link writes the commit SHA into the pdb, the informational version carries it too, and each DLL
|
||||
# carries its pdb's content id. ContinuousIntegrationBuild maps the local source path to /_/.
|
||||
# dotnet publish has no --no-incremental, so clear the configuration's intermediates instead: a stale obj
|
||||
# directory must not decide what the byte check compares.
|
||||
Get-ChildItem -LiteralPath (Join-Path $repoRoot "obj\src") -Directory -ErrorAction SilentlyContinue |
|
||||
ForEach-Object { Join-Path $_.FullName $Configuration } |
|
||||
# directory must not decide what the byte check compares. Directory.Build.props puts every project's
|
||||
# intermediates under obj\<project dir>, CultMath's at obj\packages\cultmath\src\CultMath, so clear the
|
||||
# configuration directory beside every restored project's project.assets.json, not only those under obj\src.
|
||||
@(Get-ChildItem -LiteralPath (Join-Path $repoRoot "obj") -Recurse -File -Filter "project.assets.json" -ErrorAction SilentlyContinue) |
|
||||
ForEach-Object { Join-Path $_.DirectoryName $Configuration } |
|
||||
Where-Object { Test-Path -LiteralPath $_ } |
|
||||
ForEach-Object { Remove-Item -LiteralPath $_ -Recurse -Force }
|
||||
$deterministicArguments = @("--disable-build-servers", "-p:UseSharedCompilation=false",
|
||||
|
|
|
|||
Loading…
Reference in a new issue