0
0
mirror of https://github.com/ankidroid/Anki-Android.git synced 2024-09-20 12:02:16 +02:00
Anki-Android/tools/parallel-package-release.sh
Mike Hardy f9cf683bae Publish parallel A every release, all parallels on public release
This should help testers that don't want to commit to testing all alphas
This will help release management as parallel releases will be automatic now
2020-06-15 17:12:33 -05:00

41 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
#
# This script assumes a few things -
#
# 1) you are in the main directory of the Anki source code (e.g. 'Anki-Android' is the current working directory)
# 2) you have a Java keystore at the file path $home/src/android-keystore
# 3) In that java keystore you have the key alias 'nrkeystorealias'
# 4) you have no local changes in your working directory (e.g. "git reset --hard && git clean -f")
# If those assumptions are met, this script will generate 3 parallel builds that should be the same as your current checkout
# They will be placed in the parent directory ('..') as 'AnkiDroid-<version>.parallel.<A B or C>.apk'
# It takes 1 argument - the tag name to use for the build (e.g. '2.9alpha16')
# It will ask you for your keystore and key password
TAG=$1
if [ "$TAG" == "" ]; then
echo "Please enter a tag (likely a version number) for the APK file names"
exit 1
fi
# Read the key passwords
read -sp "Enter keystore password: " KSTOREPWD; echo
read -sp "Enter key password: " KEYPWD; echo
export KSTOREPWD
export KEYPWD
# Get on to the tag requested
#git checkout $TAG
BUILDNAMES='A B C D E'
for BUILD in $BUILDNAMES; do
git reset --hard
git clean -f
LCBUILD=`tr '[:upper:]' '[:lower:]' <<< $BUILD`
./tools/parallel-package-name.sh com.ichi2.anki.$LCBUILD AnkiDroid.$BUILD
./gradlew assembleRelease -Duniversal-apk=true
cp AnkiDroid/build/outputs/apk/release/AnkiDroid-universal-release.apk ./AnkiDroid-$TAG.parallel.$BUILD.apk
done
git reset --hard
git clean -f