Files
assistant-android/scripts/jenkins_flutter_build.sh
2021-12-14 10:59:11 +08:00

43 lines
1.5 KiB
Bash
Executable File

#!/usr/bin/env bash
# @author juntao
# @2021.11.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
git checkout app/build.gradle
git checkout gradle.properties
if [[ "$OSTYPE" == "darwin"* ]]; then
sed -i '' '10 a setBinding(new Binding([gradle: this]))' settings.gradle
sed -i '' '11 a evaluate(new File(settingsDir, "assistant_flutter/.android/include_flutter.groovy"))' settings.gradle
else
sed -i '10 a setBinding(new Binding([gradle: this]))' settings.gradle
sed -i '11 a evaluate(new File(settingsDir, "assistant_flutter/.android/include_flutter.groovy"))' settings.gradle
fi
cd assistant_flutter
flutter pub get
cd ..
./gradlew --stop
./gradlew clean
sed -i 's/buildConfigField "long", "BUILD_TIME", "0"/buildConfigField "long", "BUILD_TIME", '"\"${build_time_without_divider}\""'/g' app/build.gradle
./gradlew rIR -I init.flutter.gradle
if [ ! -f app/build/outputs/apk/internal/release/app-internal-release.apk ]; then
./gradlew rIR -I init.gradle
fi
mv app/build/outputs/apk/internal/release/app-internal-release.apk app/build/tmp/${version}-${versionCode}-internal-${build_time}.apk
git checkout app/build.gradle
git checkout gradle.properties
git checkout settings.gradle
cd assistant_flutter
git checkout pubspec.lock