Files
flutter-sunset-alarm/compile.sh
T

71 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# 20260913 - Hyperling
# Build the project and add the output to a releases folder.
## Setup ##
DIR="$(cd "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
## Functions ##
function log {
echo -e "\n $@ \n"
}
function clean_flutter {
log "Cleaning..."
flutter clean
}
## Variables ##
app_details="$DIR/pubspec.yaml"
name=""
for i in `grep name $app_details`; do
name="$i"
done
name="${name// /_}"
version=""
for i in `grep version $app_details`; do
version="$i"
done
version="v${version// /_}"
if [[ -z $name || -z $version ]]; then
echo "ERROR: Could not retrieve name or version. name='$name' version='$version'"
exit 1
fi
RELEASE="release/$name-$version"
echo "Running for '$RELEASE'."
## Main ##
clean_flutter
log "Building Linux Bundle..."
flutter build linux
log "Saving Linux Bundle..."
filename=$RELEASE.linux-bundle.zip
if [[ -e $filename ]]; then
rm -v $filename
fi
zip -r $filename build/linux/x64/release/bundle/*
ls -sh $filename
clean_flutter
log "Building APK..."
flutter build apk
log "Saving APK..."
filename=$RELEASE.apk
if [[ -e $filename ]]; then
rm -v $filename
fi
cp -v build/app/outputs/flutter-apk/app-release.apk $filename
ls -sh $filename