mix dala.cache (dala_dev v0.1.1)

Copy Markdown View Source

Inspects every cache mix dala.* writes to outside the project tree, and (with --clear) deletes them. Distinct from mix clean (build artifacts in _build/) and mix deps.clean (deps in deps/) — this targets caches in your home directory that survive across projects.

By default the command is read-only — it prints a summary of what's on disk and exits. Pass --clear to wipe Dala's own cache, and add --include-transitive to also wipe caches owned by transitive deps (currently elixir_make, used by exqlite for its prebuilt NIF tarball).

Caches we do not touch — even with --include-transitive — because they're shared with the rest of your Elixir/Android/iOS work:

  • ~/.hex/, ~/.mix/ — Hex/Mix global state
  • ~/.gradle/ — Gradle wrapper + caches
  • ~/Library/Developer/Xcode/ — Xcode DerivedData, Index
  • ~/Library/Caches/com.apple.dt.* — Xcode-related caches

Clean those manually if you want a true scorched-earth reset.

Usage

mix dala.cache                                 # show what's on disk (default)
mix dala.cache --include-transitive            # also list elixir_make cache
mix dala.cache --clear                         # delete Dala's own cache
mix dala.cache --clear --include-transitive    # delete Dala's + elixir_make's
mix dala.cache --clear --yes                   # skip the confirmation prompt
mix dala.cache --dry-run                       # explicit "list only" (alias for default)

Where the caches live

Dala's own cache — pre-built OTP runtimes (iOS sim, iOS device, Android arm64, Android arm32). One per platform/ABI; ~200–400 MB each. Reused across every Dala project on this machine.

$DALA_CACHE_DIR     (if set)
~/.dala/cache/      (default)

Override with DALA_CACHE_DIR in your shell or dala.exs if you want it somewhere project-local or sandbox-friendly (Nix users: this is the switch you want).

elixir_make cache — pre-built NIF tarballs that exqlite and other NIF-using deps download instead of recompiling from source. The same tarball is reused across every Elixir project on this machine.

~/Library/Caches/elixir_make/    (macOS)
~/.cache/elixir_make/            (Linux)

This belongs to elixir_make, not Dala — but mix dala.deploy is what populated it, so we offer to clear it here.