content: [package]
  name = "cargo-cache"
  version = "0.8.3"
  authors = ["Matthias Krüger <matthias.krueger@famsik.de>"]
  description = "Manage cargo cache ($CARGO_HOME or ~/.cargo/), show sizes and remove directories selectively"
  homepage = "https://github.com/matthiaskrgr/cargo-cache"
  repository = "https://github.com/matthiaskrgr/cargo-cache"
  license = "MIT/Apache-2.0"
  readme = "README.md"
  keywords = ["cargo", "cache", "cli", "manage", "cargo-home"]
  categories = ["command-line-utilities", "development-tools::cargo-plugins", "development-tools"]
  build = "src/build.rs"
  edition = "2021"
  resolver = "2"
  rust-version = "1.62"
  
  [features]
  default = ["cargo_metadata", "chrono", "clap", "dirs-next", "git2", "humansize", "rayon", "regex", "rustc_tools_util", "walkdir", "tar", "flate2", "vendored-libgit"]
  bench = [] # run benchmarks
  ci-autoclean = [] # minimal implementation that builds fast for CI
  vendored-libgit = ["git2/vendored-libgit2"]
  offline_tests =  [] # only run tests that do not require internet connection
  # some details: https://github.com/NixOS/nixpkgs/pull/77310
  rayon = ["dep:rayon", "remove_dir_all/parallel"] # if rayon is enabled, build rda with par support
  
  [dependencies]
  # https://github.com/oli-obk/cargo_metadata
  cargo_metadata = { version = "0.15.2", optional = true } # get crate package name
  
  # https://github.com/alexcrichton/cfg-if
  cfg-if = { version = "1.0.0" } # if cfg(..)  { ...  }
  
  # https://github.com/chronotope/chrono
  chrono = { version = "0.4.23", optional = true } # compare dates etc
  
  # https://github.com/kbknapp/clap-rs
  clap = {version = "3.0.0", features = ["wrap_help"], optional = true}# cmdline arg parsing
  
  # https://github.com/xdg-rs/dirs
  dirs-next = { version = "2.0.0", optional = true } # get cache dirs to look for sccache cache
  
  # https://github.com/rust-lang/flate2-rs
  flate2 = {version = "1.0.25", optional = true}# look into .gzs
  
  # https://github.com/alexcrichton/git2-rs
  git2 = { version = "0.16", default-features = false, optional = true, features = ["vendored-libgit2"] } # check if repo is git repo
  
  # https://github.com/brson/home
  home = "0.5.4" # get CARGO_HOME
  
  # https://github.com/LeopoldArkham/humansize
  humansize = { version = "2.1.0", optional = true, features = ["impl_style"]  } # convert digits of bytes to human readable size
  
  # https://github.com/rayon-rs/rayon
  rayon = { version = "1.6.1", optional = true } # parallelize iterators
  
  # https://github.com/rust-lang/regex
  regex = { version = "1.7.1", optional = true } # use regex for matching
  
  # https://github.com/XAMPPRocky/remove_dir_all
  remove_dir_all = { version = "0.8.2" } # remove_dir_all on windows
  
  # https://github.com/rust-lang/rust-clippy/tree/master/rustc_tools_util
  rustc_tools_util = { version = "=0.2.0", optional = true } # git version information
  
  # https://github.com/alexcrichton/tar-rs
  tar = { version = "0.4.38", optional = true } # extract tars
  
  # https://github.com/unicode-rs/unicode-normalization
  unicode-normalization = { version = "0.1.22" } # handle nfc paths
  
  # https://github.com/BurntSushi/walkdir
  walkdir = { version = "2.3.2", optional = true } # walk content of directory/CARGO_HOME recursively
  
  
  [dev-dependencies]
  # https://github.com/rhysd/path-slash
  path-slash = "0.2.1" # normalize windows paths
  
  # https://github.com/colin-kiegel/rust-pretty-assertions
  pretty_assertions = "1.3.0" # colored diff assertions
  
  # https://github.com/webdesus/fs_extra
  fs_extra = "1.2.0" # copy directories recursively
  
  # https://github.com/Stebalien/tempfile
  tempfile = "3.4.0" # create and rm temporary directories for tests
  
  [build-dependencies]
  # https://github.com/rust-lang/rust-clippy/tree/master/rustc_tools_util
  rustc_tools_util = "=0.2.0" # git version information
  
  [[bin]]
  name = "cargo-cache"
  path = "src/main.rs"
  test = true
  bench = true
  
  [badges]
  #travis-ci = { repository = "matthiaskrgr/cargo-cache", branch = "master" }
  
  [profile.release]
  lto = true
  codegen-units = 1
  incremental = false
  
  [profile.bench]
  lto = true
  codegen-units = 1
  incremental = false
  