All notable changes to this project will be documented in this file.
- Fix
-Json -WhatIfso PowerShell WhatIf host messages are suppressed and standard output remains a single JSON object - Update JSON output documentation to match the current
Modevalues emitted by the script:Execute,WhatIf (no changes), andCheck (no changes)
- Add
WinARM64ECto list of directories in Standard cleanup level for Delphi 13. #23
- Fix powershell (5.1) usage for recycle bin option
-
Add JSON configuration file hierarchy (
$HOME, project-level, local override,-ConfigFile) with scalar-override and array-append merge rules and optional upward traversal viasearchParentFoldersSeedocs/configuration.mdfor details. -
Add
-ConfigFile <path>to inject an explicit config file (e.g. for CI pipelines) at highest config priority below command-line parameters. -
Add
-ShowConfigto display the effective merged configuration and exit without scanning or cleaning. Supports-Jsonfor machine-readable output. -
Add freed-space reporting to the clean summary:
Space freed : 142.3 MB(text) orBytesFreed(JSON). Also reported in-Checkmode asSpace to freeand in-WhatIfmode asSpace would free. -
Add elapsed time to all summaries (
Durationin text,DurationMsin JSON). -
Add
Size(bytes) to every item in the JSONItemsarray, covering both files (direct length) and directories (recursive sum computed before deletion). -
Add
Write-Progressfeedback during file scan (updates every 500 files) and during the deletion phase; suppressed when-Jsonis active. -
Add cross-platform build artifact patterns to the
standardlevel:*.o,*.a(Linux/macOS object/static-lib),*.dylib(macOS dynamic lib). -
Add
iOSSimulatorArm64andLinuxARM64output directories to thestandardlevel for Delphi 12+ platform targets. -
Add
*.mab(MadExcept/JEDI debug map) to thedeeplevel.
- Add
-Checkfor simple 0:clean, 1:dirty check - Add
-OutputLevelwithdetailed,summary,quietoptions to control the amount of output #17
-
Fix
-WhatIfnot displaying a summary of file+directory count to be deleted. #10 -
Fix
-WhatIfnot displaying individual files+directories to be deleted. #13 -
Combine
ExcludeDirPatternandExcludeDirectoriesinto a singleExcludeDirectoryPatternparameter #14 -
Document supported exit codes in Readme #11
-
Debugging tool: output
Exit Code = #when using-Verbose#12
- Move to "basic+standard+deep" cleanup levels #8
- More conservative clean
Remove
*.dll+*.objfrom clean list User will need to add with-IncludeFilesif desired May revisit this later...maybe add anExtendedlevel #5 #6
- Add
-RecycleBinoption to move to recycle bin instead of permanent delete #3
- Add
-IncludeFilePatternand-ExcludeDirPatternMainly to optionally delete *.res as I was not intentionally deleting those but it's been leaving my work folders with extra .res files. #2
- Add
-Versionswitch for version reporting- Default (text) format:
delphi-clean 0.3.0 - JSON format (
-Format json): machine envelope matching delphi-inspect convention:{"ok":true,"command":"version","tool":{"name":"delphi-clean","version":"0.3.0"}} -Versionand clean parameters (-Level,-RootPath, etc.) are mutually exclusive via parameter sets
- Default (text) format:
- Code review change:
- Write-Host changed to Write-Information
- Fix: remove trailing slash after
__recovery/
- Initial release of `delphi-clean- utility
- Three different cleanup levels
- Dry-run / WhatIf mode
- ExcludeDirectories option
- Basic tests
