62 lines
1.7 KiB
PowerShell
62 lines
1.7 KiB
PowerShell
$ErrorActionPreference = "Stop"
|
|
$root = Split-Path -Parent $PSScriptRoot
|
|
Set-Location $root
|
|
|
|
function Remove-DirectoryIfExists {
|
|
param(
|
|
[Parameter(Mandatory = $true)]
|
|
[string]$Path
|
|
)
|
|
|
|
if (Test-Path -LiteralPath $Path) {
|
|
Write-Host "Removing directory:" $Path
|
|
Remove-Item -LiteralPath $Path -Recurse -Force
|
|
}
|
|
}
|
|
|
|
function Clear-DirectoryContents {
|
|
param(
|
|
[Parameter(Mandatory = $true)]
|
|
[string]$Path
|
|
)
|
|
|
|
if (!(Test-Path -LiteralPath $Path)) {
|
|
return
|
|
}
|
|
|
|
Write-Host "Clearing directory contents:" $Path
|
|
Get-ChildItem -LiteralPath $Path -Force -ErrorAction SilentlyContinue | ForEach-Object {
|
|
Remove-Item -LiteralPath $_.FullName -Recurse -Force
|
|
}
|
|
}
|
|
|
|
$cacheDirs = Get-ChildItem -Path $root -Directory -Recurse -Force -ErrorAction SilentlyContinue |
|
|
Where-Object { $_.Name -eq "__pycache__" }
|
|
|
|
foreach ($dir in $cacheDirs) {
|
|
Write-Host "Removing cache directory:" $dir.FullName
|
|
Remove-Item -LiteralPath $dir.FullName -Recurse -Force
|
|
}
|
|
|
|
Remove-DirectoryIfExists -Path (Join-Path $root ".pytest_cache")
|
|
Remove-DirectoryIfExists -Path (Join-Path $root ".codex_tmp")
|
|
Remove-DirectoryIfExists -Path (Join-Path $root ".local_stack")
|
|
Remove-DirectoryIfExists -Path (Join-Path $root ".artifacts")
|
|
|
|
$dataDirs = Get-ChildItem -Path $root -Directory -Force -ErrorAction SilentlyContinue |
|
|
Where-Object {
|
|
$_.Name -eq ".data" -or
|
|
$_.Name -eq ".data_local" -or
|
|
$_.Name -eq ".data_smoke" -or
|
|
$_.Name -like ".data_gate*" -or
|
|
$_.Name -like ".data_uat_*"
|
|
}
|
|
|
|
foreach ($dir in $dataDirs) {
|
|
Clear-DirectoryContents -Path $dir.FullName
|
|
}
|
|
|
|
Write-Host ""
|
|
Write-Host "Workspace cleanup completed."
|
|
Write-Host "Preserved source directories, docs, templates, and backups."
|