Skip to content

Commit e690f9f

Browse files
feat(tooling): Add script to clean up old gradle modules (#9253)
1 parent 24b5903 commit e690f9f

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed

tooling/cleanup-gradle-module.sh

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
# Usage: cleanup-gradle-module.sh [--backup]
5+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
6+
ROOT_DIR="$(dirname "$SCRIPT_DIR")"
7+
BACKUP_MODE=0
8+
BACKUP_DIR="$SCRIPT_DIR/backup"
9+
10+
# Parse arguments
11+
while [[ $# -gt 0 ]]; do
12+
case $1 in
13+
--backup)
14+
BACKUP_MODE=1
15+
shift
16+
;;
17+
*)
18+
echo "Usage: $0 [--backup]" >&2
19+
exit 1
20+
;;
21+
esac
22+
done
23+
24+
25+
if [[ $BACKUP_MODE -eq 1 ]]; then
26+
mkdir -p "$BACKUP_DIR"
27+
fi
28+
29+
echo "Searching for old Gradle modules in $ROOT_DIR..."
30+
find "$ROOT_DIR" -type d | sort -r | while read -r dir; do
31+
# Skip the root directory itself
32+
[ "$dir" = "$ROOT_DIR" ] && continue
33+
# Check if the directory contains only a 'build' directory
34+
if [ -d "$dir/build" ]; then
35+
# List all items except 'build'
36+
OTHERS=$(find "$dir" -mindepth 1 -maxdepth 1 ! -name 'build')
37+
if [ -z "$OTHERS" ]; then
38+
if [[ $BACKUP_MODE -eq 1 ]]; then
39+
# Move to backup dir, preserving relative path
40+
RELATIVE_PATH="${dir#$ROOT_DIR/}"
41+
DEST="$BACKUP_DIR/$RELATIVE_PATH"
42+
mkdir -p "$(dirname "$DEST")"
43+
mv "$dir" "$DEST"
44+
echo "Moved to backup: $dir -> $DEST"
45+
else
46+
rm -rf "$dir"
47+
echo "Removed: $dir"
48+
fi
49+
fi
50+
fi
51+
done
52+
53+
# At the end, if in backup mode and backup folder exists, prompt to remove it
54+
if [[ $BACKUP_MODE -eq 1 && -d "$BACKUP_DIR" ]]; then
55+
read -r -p "Remove backup folder '$BACKUP_DIR'? [y/N] " confirm
56+
case $confirm in
57+
[yY][eE][sS]|[yY])
58+
rm -rf "$BACKUP_DIR"
59+
echo "Removed backup folder."
60+
;;
61+
*)
62+
echo "Backup folder retained at $BACKUP_DIR."
63+
;;
64+
esac
65+
fi

0 commit comments

Comments
 (0)