-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathpublish.sh
executable file
·119 lines (96 loc) · 3.59 KB
/
publish.sh
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#!/usr/bin/env bash
# Region - Constants
BASE_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
# Region - Color
CONFIG_COLOR_BOLD=$(tput bold)
CONFIG_COLOR_RED=`tput setaf 1`
CONFIG_COLOR_GREEN=`tput setaf 2`
CONFIG_COLOR_GREEN_LIGHT="$CONFIG_COLOR_BOLD$CONFIG_COLOR_GREEN"
CONFIG_COLOR_CYAN=`tput setaf 6`
CONFIG_COLOR_GRAY=`tput setaf 7`
CONFIG_COLOR_FAWN=$(tput setaf 3); CONFIG_COLOR_BEIGE="$CONFIG_COLOR_FAWN"
CONFIG_COLOR_YELLOW="$CONFIG_COLOR_BOLD$CONFIG_COLOR_FAWN"
CONFIG_COLOR_PURPLE=$(tput setaf 5);
CONFIG_COLOR_PINK="$CONFIG_COLOR_BOLD$CONFIG_COLOR_PURPLE"
CONFIG_COLOR_DARKCYAN=$(tput setaf 6)
CONFIG_COLOR_CYAN="$CONFIG_COLOR_BOLD$CONFIG_COLOR_DARKCYAN"
CONFIG_COLOR_RESET=`tput sgr0`
# EndRegion - Color
# EndRegion - Constants
# Region - Methods
log_d() {
printf "${CONFIG_COLOR_CYAN}[PlayStore][Publish]${CONFIG_COLOR_RESET} $1\n"
}
log_jump() {
printf "\n"
}
log_delimiter() {
printf "${CONFIG_COLOR_RED}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~${CONFIG_COLOR_RESET}\n"
}
# EndRegion - Methods
log_jump
log_jump
log_delimiter
log_d "Play store publishing!!!"
log_delimiter
log_jump
log_jump
log_d "Script base directory: $BASE_DIR"
log_jump
pushd "$BASE_DIR"
log_jump
log_d "Remove pre-existing $BASE_DIR/build/app.aab"
rm "./build/app.aab"
log_jump
log_d "Remove pre-existing $BASE_DIR/build/app-release.apk"
rm "./build/app-release.apk"
log_jump
log_d "Remove pre-existing $BASE_DIR/build/mapping.txt"
rm "./build/mapping.txt"
log_jump
log_d "Remove pre-existing $BASE_DIR/build/play-store.jar"
rm "./build/play-store.jar"
log_jump
if [ -d "$BASE_DIR/build/play-store" ]; then
log_d "Pull play-store GitHub project"
pushd "$BASE_DIR/build/play-store"
git pull
popd
else
log_d "Clone play-store GitHub project"
mkdir -p build
pushd build
git clone https://github.com/Mercandj/play-store.git
popd
fi
bash ./build/play-store/generate-jar.sh ../play-store.jar
pushd ../../
log_d "Remove folder: ./app/build/outputs"
rm -r "./app/build/outputs"
log_jump
log_d "Generate bundleRelease file ./config/play-store/build/app-release.aab\n\n"
bash ./gradlew app:bundleRelease
cp ./app/build/outputs/bundle/release/app-release.aab ./config/play-store/build/app.aab
log_d "Generate bundleRelease ended\n\n"
log_jump
log_d "Copy mapping file ./app/build/outputs/mapping/r8/release/mapping.txt to ./config/play-store/build/mapping.txt\n\n"
cp ./app/build/outputs/mapping/r8/release/mapping.txt ./config/play-store/build/mapping.txt
log_d "Copy mapping ended\n\n"
log_jump
log_d "Copy apk release file ./config/play-store/build/app-release to test on device and upload on GitHub\n\n"
cp ./app/build/outputs/apk/release/app-release.apk ./config/play-store/build/app-release.apk
log_d "Copy apk release ended\n\n"
log_jump
popd
log_d "Publish app bundle to the PlayStore\n\n"
java -jar ./build/play-store.jar --force
log_jump
log_delimiter
log_d "Script ended."
log_d "If all succeeded, AppBundle should have been uploaded in the internal chanel."
log_d "If all succeeded, mapping.txt should be in the ./build folder."
log_d "If all succeeded, app-release.apk should be in the ./build folder."
log_d "Please create a GitHub release with the apk rename filespace-app-release-<version>.apk"
log_d "Please upload the mapping to the PlayStore"
log_delimiter
popd