Files
assistant-android/scripts/jenkins_build.sh
2023-11-03 16:14:30 +08:00

55 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# @author juntao
# @2019.05.30
version=$(awk -v FS="versionName = " 'NF>1{print $2}' dependencies.gradle | sed "s/\"//g")
versionCode=$(awk -v FS="versionCode = " 'NF>1{print $2}' dependencies.gradle | sed "s/\"//g")
build_time=$(TZ=Asia/Shanghai date +'%Y-%m%d-%H%M')
build_time_without_divider=$(TZ=Asia/Shanghai date +'%Y%m%d%H%M')L
post_init_script=init.internal.gradle
git checkout module_common/build.gradle
git checkout gradle.properties
sed -i '1 a android.enableResourceOptimizations = false' gradle.properties
./gradlew --stop
./gradlew clean
sed -i 's/buildConfigField "long", "BUILD_TIME", "0"/buildConfigField "long", "BUILD_TIME", '"\"${build_time_without_divider}\""'/g' module_common/build.gradle
# 生成git log文本
git log --pretty=format:'%s' --max-count=20 --no-merges > app/src/main/assets/gitlog.txt
# 添加 -c 代表启用 compose setting 模块
while getopts "c" arg
do
sed -i '260 a implementation(project(\x27:module_setting_compose\x27)) { exclude group: \x27androidx.swiperefreshlayout\x27 }' app/build.gradle
done
./gradlew rIR -I ${post_init_script}
mv app/build/outputs/apk/internal/release/app-internal-release.apk app/build/tmp/${version}-${versionCode}-test-${build_time}.apk
git checkout app/build.gradle
git checkout module_common/build.gradle
git checkout gradle.properties
rm app/src/main/assets/gitlog.txt
# 上传 APK 文件 (仅接入 dev 分支)
echo $1
if [[ $1 == "dev"* ]]; then
declare startCommitSha="$2"
declare endCommitSha="$3"
declare apkFile="./app/build/tmp/${version}-${versionCode}-test-${build_time}.apk"
declare uploadUrl="https://app-manager.shanqu.cc/app/upload?auth_token=7798334f70358b71a7243892faf97ee0"
echo "uploading apk file: ${apkFile}"
if [ ! $startCommitSha ]; then
curl -F "file=@${apkFile};type=application/octet-stream" "${uploadUrl}"
else
git log --pretty=format:"%s (%an) [%h](https://git.shanqu.cc/halo/android/assistant-android/-/commits/%H)" --no-merges $startCommitSha..$endCommitSha >> changelog.log
curl -F "file=@${apkFile};type=application/octet-stream" -F "changelog=@./changelog.log;type=application/octet-stream" "${uploadUrl}"
rm changelog.log
fi
fi