-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmake_tpp_zip.sh
More file actions
95 lines (77 loc) · 2.76 KB
/
Copy pathmake_tpp_zip.sh
File metadata and controls
95 lines (77 loc) · 2.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/usr/bin/env bash
set -e
echo "TPP / TAK Submission Packager (STRICT SOURCE MODE)"
echo "-------------------------------------------------"
read -rp "Enter submission folder name (this will also be the zip name): " NAME
if [[ -z "$NAME" ]]; then
echo "Folder name cannot be empty"
exit 1
fi
ZIP_NAME="${NAME}.zip"
STAGE_DIR="./${NAME}"
echo
echo "▶ Creating clean staging directory: $STAGE_DIR"
rm -rf "$STAGE_DIR"
mkdir -p "$STAGE_DIR"
###############################################################################
# ROOT FILES (explicit)
###############################################################################
ROOT_FILES=(
build.gradle
settings.gradle
gradle.properties
project.properties
gradlew
gradlew.bat
README.md
)
for f in "${ROOT_FILES[@]}"; do
if [[ -f "$f" ]]; then
cp -a "$f" "$STAGE_DIR/"
else
echo " Missing root file: $f"
fi
done
###############################################################################
# GRADLE WRAPPER (explicit)
###############################################################################
mkdir -p "$STAGE_DIR/gradle"
cp -a gradle/* "$STAGE_DIR/gradle/"
###############################################################################
# ESPRESSO (explicit)
###############################################################################
mkdir -p "$STAGE_DIR/espresso"
cp -a espresso/* "$STAGE_DIR/espresso/"
###############################################################################
# TOOLS (explicit)
###############################################################################
mkdir -p "$STAGE_DIR/tools"
cp -a tools/* "$STAGE_DIR/tools/"
###############################################################################
# APP — SOURCE ONLY (THIS IS THE IMPORTANT PART)
###############################################################################
mkdir -p "$STAGE_DIR/app"
cp -a app/build.gradle "$STAGE_DIR/app/"
cp -a app/proguard-gradle.txt "$STAGE_DIR/app/"
mkdir -p "$STAGE_DIR/app/src"
cp -a app/src/* "$STAGE_DIR/app/src/"
###############################################################################
# FIX gradlew
###############################################################################
echo "▶ Fixing gradlew (CRLF + permissions)"
sed -i 's/\r$//' "$STAGE_DIR/gradlew"
chmod 755 "$STAGE_DIR/gradlew"
###############################################################################
# ZIP
###############################################################################
echo "▶ Creating zip: $ZIP_NAME"
rm -f "$ZIP_NAME"
zip -r -D "$ZIP_NAME" "$NAME"
###############################################################################
# CLEANUP
###############################################################################
rm -rf "$STAGE_DIR"
echo
echo "DONE"
echo "Created: $ZIP_NAME"
echo