71 lines
1.2 KiB
Bash
Executable File
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
|