#!/usr/bin/env bash

DIR="$(dirname -- "${BASH_SOURCE[0]}")"
RELEASE_DIR=$DIR/releases


echo "*** Prepare for Builds ***"
cd $DIR
pwd
mkdir -pv $RELEASE_DIR

echo "*** Get Version ***"
grep 'version:' pubspec.yaml | while read v_text v_number; do
	# Skip any newlines found while grepping.
	if [[ -z $v_number ]]; then
		continue
	fi

	echo "Creating assets for version '$v_number'."

	# Set Up Variables
	ANDROID_APK="build/app/outputs/flutter-apk/app-release.apk"
	APK_RENAME="$RELEASE_DIR/ExpenseTracker_$v_number.apk"
	LINUX_BUNDLE="build/linux/x64/release/bundle"
	BUNDLE_RENAME="LinuxBundle_$v_number"

	# Build Android App
	echo -e "\n*** Android APK ***"
	rm -v "$APK_RENAME"
	flutter build apk
	mv -v $ANDROID_APK "$APK_RENAME"
	ls -sh "$APK_RENAME"

	# Build Linux Project
	echo -e "\n*** Linux Bundle ***"
	rm -rv "$RELEASE_DIR/$BUNDLE_RENAME"*
	flutter build linux
	mv -v $LINUX_BUNDLE "$RELEASE_DIR/$BUNDLE_RENAME"
	cd $RELEASE_DIR
	zip -r $BUNDLE_RENAME.zip $BUNDLE_RENAME
	rm -rv $BUNDLE_RENAME
	ls -sh $BUNDLE_RENAME.zip

	# Only one version should be found, but just in case, only use the top one!
	break
done