mirror of
https://github.com/icsharpcode/ILSpy.git
synced 2026-10-12 02:15:58 +00:00
Replace the Windows-only .bat helpers (clean / debugbuild / releasebuild / restore / updatedeps and BuildTools/format) with cross-platform pwsh scripts at the repo root: restore.ps1, build.ps1 (-Configuration), clean.ps1, updatedeps.ps1 and BuildTools/format.ps1, alongside the existing publish.ps1. Enable a packages.lock.json for every project by hoisting RestorePackagesWithLockFile into the root Directory.Build.props (the four core libraries set it individually before) and commit the generated locks, so restores are repeatable and CI can cache packages off them. Cache the NuGet packages folder in the three setup-dotnet workflows (build-ilspy, build-frontends, codeql-analysis), keyed on the lock files per the setup-dotnet caching guidance. Scope the Debug "Verify package contents" check to the *.filelist outputs it actually generates. A project's packages.lock.json is keyed only by (framework, RID), with no host-OS axis, so a lock produced on Linux legitimately differs from one produced on Windows whenever an OS-conditional PackageReference applies (Debug+Windows pulls Microsoft.DiaSymReader*). The Windows restore then rewrites those locks; that churn must not fail a step whose job is to police the VSIX/MSI file lists. Also drop the dead ILSpy.BamlDecompiler publish line from publishlocaldev.ps1, mirroring the earlier publish.ps1 fix. Assisted-by: Claude:claude-opus-4-8:Claude Code
6 lines
232 B
PowerShell
6 lines
232 B
PowerShell
#!/usr/bin/env pwsh
|
|
# Clean the Debug and Release build outputs of ILSpy.sln.
|
|
$ErrorActionPreference = 'Stop'
|
|
dotnet clean ILSpy.sln -c Debug "-p:Platform=Any CPU" @args
|
|
dotnet clean ILSpy.sln -c Release "-p:Platform=Any CPU" @args
|