Created
February 17, 2026 22:07
-
-
Save cdsap/90d15072b5e76ff8cdb750a1c7d76d04 to your computer and use it in GitHub Desktop.
Gradle User Home storage breakdown
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env bash | |
| set -euo pipefail | |
| GRADLE_HOME="${1:-$HOME/.gradle}" | |
| CACHES="$GRADLE_HOME/caches" | |
| # human readable formatter (KB -> IEC) | |
| human_kb() { | |
| awk 'function human_bytes(b) { | |
| s="B KB MB GB TB PB"; | |
| split(s,arr," "); | |
| for(i=1; b>=1024 && i<6; i++) b/=1024; | |
| return sprintf("%.1f %s", b, arr[i]); | |
| } | |
| {print human_bytes($1*1024)}' | |
| } | |
| du_kb() { | |
| # returns size in KB (0 if missing) | |
| local p="$1" | |
| if [[ -e "$p" ]]; then | |
| du -sk "$p" 2>/dev/null | awk '{print $1}' | |
| else | |
| echo "0" | |
| fi | |
| } | |
| echo "Gradle User Home: $GRADLE_HOME" | |
| echo | |
| ############################ | |
| # 1) High-level buckets | |
| ############################ | |
| echo "== Cache areas ==" | |
| tmp=$(mktemp) | |
| areas=( | |
| "caches/build-cache-1" | |
| "caches/transforms-3" | |
| "caches/transforms-2" | |
| "caches/modules-2" | |
| "caches/jars-9" | |
| "caches/jars-8" | |
| "caches/journal-1" | |
| "caches/kotlin-dsl" | |
| "caches/*/fileHashes" | |
| "wrapper" | |
| "daemon" | |
| "native" | |
| "notifications" | |
| ".tmp" | |
| ) | |
| for rel in "${areas[@]}"; do | |
| shopt -s nullglob | |
| matches=("$GRADLE_HOME"/$rel) | |
| shopt -u nullglob | |
| total=0 | |
| for p in "${matches[@]}"; do | |
| kb=$(du_kb "$p") | |
| total=$(( total + kb )) | |
| done | |
| printf "%s\t%s\n" "$total" "$rel" >> "$tmp" | |
| done | |
| sort -nr "$tmp" | while IFS=$'\t' read -r kb name; do | |
| size=$(echo "$kb" | human_kb) | |
| printf "%-40s %12s\n" "$name" "$size" | |
| done | |
| rm "$tmp" | |
| echo | |
| ############################ | |
| # 2) Versioned Gradle caches | |
| ############################ | |
| echo "== caches/<gradle-version>/ (Gradle distributions & version-specific caches) ==" | |
| if [[ ! -d "$CACHES" ]]; then | |
| echo "No caches directory found at $CACHES" | |
| exit 0 | |
| fi | |
| tmp2=$(mktemp) | |
| # Match folders like: 8.10.2, 8.14.1, 8.9, 9.2.1, etc. | |
| # (avoid non-version dirs like build-cache-1, modules-2, transforms-3...) | |
| for d in "$CACHES"/*; do | |
| [[ -d "$d" ]] || continue | |
| base=$(basename "$d") | |
| if [[ "$base" =~ ^[0-9]+(\.[0-9]+){1,3}(-.+)?$ ]]; then | |
| kb=$(du_kb "$d") | |
| printf "%s\t%s\n" "$kb" "$base" >> "$tmp2" | |
| fi | |
| done | |
| if [[ ! -s "$tmp2" ]]; then | |
| echo "No versioned Gradle directories found under $CACHES" | |
| rm "$tmp2" | |
| exit 0 | |
| fi | |
| sort -nr "$tmp2" | while IFS=$'\t' read -r kb ver; do | |
| size=$(echo "$kb" | human_kb) | |
| printf "%-10s %12s\n" "$ver" "$size" | |
| done | |
| # total for all versioned dirs | |
| total_kb=$(awk -F'\t' '{sum+=$1} END{print sum+0}' "$tmp2") | |
| echo | |
| echo -n "TOTAL " | |
| echo "$total_kb" | human_kb | awk '{printf "%12s\n",$0}' | |
| rm "$tmp2" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Gradle User Home: /Users/users/.gradle | |
| == Cache areas == | |
| caches/modules-2 18.6 GB | |
| .tmp 6.3 GB | |
| wrapper 5.1 GB | |
| caches/jars-9 1.1 GB | |
| caches/build-cache-1 565.0 MB | |
| daemon 401.3 MB | |
| caches/*/fileHashes 170.4 MB | |
| caches/journal-1 15.8 MB | |
| native 7.0 MB | |
| notifications 24.0 KB | |
| caches/transforms-3 0.0 B | |
| caches/transforms-2 0.0 B | |
| caches/kotlin-dsl 0.0 B | |
| caches/jars-8 0.0 B | |
| == caches/<gradle-version>/ (Gradle distributions & version-specific caches) == | |
| 9.2.1 7.5 GB | |
| 8.10.2 2.7 GB | |
| 9.3.0 2.6 GB | |
| 8.13 2.5 GB | |
| 9.3.1 2.4 GB | |
| 9.1.0 2.2 GB | |
| 8.14.3 1.5 GB | |
| 8.14.1 1.2 GB | |
| 9.2.0 1.0 GB | |
| 9.0.0 933.0 MB | |
| 8.12.1 703.5 MB | |
| 9.4.0-rc-1 650.1 MB | |
| 8.14 645.0 MB | |
| 8.6 163.1 MB | |
| 8.9 56.0 KB | |
| 8.5-rc-3 48.0 KB | |
| TOTAL 26.7 GB |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment