agent-joule/script/clear-target-dir-if-larger-than.ps1
David Charlot a084434e14 Baseline: hard fork of zed@e2e7a67
Fork point for agent-zed. Editor core retained; AI/telemetry/cloud layers
to be ripped and replaced per FORK_MAP.md.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-05-30 08:20:23 -04:00

32 lines
1.2 KiB
PowerShell

param (
[Parameter(Mandatory = $true)]
[int]$MAX_SIZE_IN_GB,
[Parameter(Mandatory = $false)]
[int]$SMALL_CLEAN_SIZE_IN_GB = -1
)
$ErrorActionPreference = "Stop"
$PSNativeCommandUseErrorActionPreference = $true
$ProgressPreference = "SilentlyContinue"
if (-Not (Test-Path -Path "target")) {
Write-Host "target directory does not exist yet"
exit 0
}
if ($SMALL_CLEAN_SIZE_IN_GB -ge 0 -and $SMALL_CLEAN_SIZE_IN_GB -ge $MAX_SIZE_IN_GB) {
Write-Host "error: small clean threshold (${SMALL_CLEAN_SIZE_IN_GB}GB) must be smaller than max size (${MAX_SIZE_IN_GB}GB)"
exit 1
}
$current_size_gb = (Get-ChildItem -Recurse -Force -File -Path "target" | Measure-Object -Property Length -Sum).Sum / 1GB
Write-Host "target directory size: ${current_size_gb}GB. max size: ${MAX_SIZE_IN_GB}GB"
if ($current_size_gb -gt $MAX_SIZE_IN_GB) {
Write-Host "clearing target directory"
Remove-Item -Recurse -Force -Path "target\*" -ErrorAction SilentlyContinue
} elseif ($SMALL_CLEAN_SIZE_IN_GB -ge 0 -and $current_size_gb -gt $SMALL_CLEAN_SIZE_IN_GB) {
Write-Host "running cargo clean --workspace (size above small clean threshold of ${SMALL_CLEAN_SIZE_IN_GB}GB)"
cargo clean --workspace
}