#artifact #build #find #directory #tool #sorting #drummer

nightly bin+lib tin-drummer

Command-line tool to find build artifacts and junk on your computer. Shatters records not glass.

3 releases (stable)

Uses old Rust 2015

1.0.1 Jun 20, 2017
0.1.0 Jun 17, 2017

#44 in #artifact

Custom license

57KB
1.5K SLoC

The Tin Drummer

Build Status

If you do a significant amount of programming, you'll probably end up with build artifacts scattered about. sn is a tool to help you find those artifacts. It's especially useful when you're writing build systems, because you can make sure your clean command gets everything.

Installation

Binary install

The easiest way to install for Linux or Windows is to download a binary from the releases page.

Cargo

If your platform doesn't have binaries, get cargo. Then:

 $ cargo install tin-drummer

If you want the absolute latest version:

 $ cargo install --git https://github.com/vmchale/tin-drummer 

Make sure you are on nightly; if in doubt run

rustup run nightly cargo install tin-drummer

Shell completions

After setting BASH_COMPLETIONS_DIR or FISH_COMPLETIONS_DIR, you can use the bash or fish features like so:

 $ cargo install --features fish tin-drummer

Use

Currently, sn looks for files that either have an extension associated with artifacts or executable files listed in the relevant .gitignore.

Search current directory for directories with build artifacts:

 $ sn ar

Look in $DIR for build artifacts and sort by size:

 $ sn ar $DIR --sort

Look for artifacts or directories containing artifacts that occupy more than 1GB of disk space:

 $ sn ar -t1G

Accessibility

To turn off colorized output:

export CLICOLOR=0

Features

  • find "likely build artifact" directories
    • use .gitignore/path to make decision
    • smart output (only first few files per dir)
  • colorized output
  • sort results by size

Languages Supported

The intent is to support basically anything, so if your DOC is not on the list, feel free to open a PR or start an issue.

  • Haskell (incl. GHCJS)
  • rust
  • julia
  • python
  • Elm
  • nim
  • Vimscript
  • Idris
  • FORTRAN
  • C

Foreign-language binaries

These are still very much works in progress; as of now errors and warnings are still in English. Binaries will be available once things stabilize.

Français:

cargo install tin-drummer --no-default-features --feature francais # crates.io doesn't permit unicode in feature names 

Deutsch:

cargo install tin-drummer --no-default-features --feature deutsch

Dependencies

~5–14MB
~152K SLoC