[Haskell-cafe] [ANN] cabal-clean (new tool)
Andreas Abel
andreas.abel at ifi.lmu.de
Fri Sep 24 17:09:49 UTC 2021
=== Wondering where your disk space goes with too many Haskell projects
compiled with too many GHC versions? ===
https://hackage.haskell.org/package/cabal-clean
https://github.com/andreasabel/cabal-clean
`cabal-clean` is a small executable that removes outdated cabal build
artifacts from `dist-newstyle`.
A build tree is considered outdated if there is one with either
- a newer version of the package you are building, or
- a newer minor version of the GHC compiler.
In contrast to `cabal clean`, the tool `cabal-clean` retains the latest
build trees for each GHC major version. Thus, it is geared towards
multi-GHC development.
Example: (self-applied to cabal-clean's build directory)
--- 3.7M ghc-8.8.4 /cabal-clean-0.1.20210815
--- 3.5M ghc-8.10.6/cabal-clean-0.1.20210815
--- 3.7M ghc-9.0.1 /cabal-clean-0.1.20210815
--- 3.5M ghc-8.10.6/cabal-clean-0.1.20210924
+++ 3.6M ghc-8.10.7/cabal-clean-0.1.20210924
+++ 3.7M ghc-9.0.1 /cabal-clean-0.1.20210924
The directories prefixed with --- will be deleted, the ones with +++
retained.
Disclaimers:
1. cabal-clean does not check whether deletion will cause dangling
references like broken symlinks etc. (Could happen if you created a
symlink to an executable that resides in one of the deleted build
directories.)
2. cabal-clean does not read nor utilize information from the .cabal
file.
3. Calls `du` ("disk usage"), so, might not work on Windows.
Enjoy,
Andreas
More information about the Haskell-Cafe
mailing list