From 693d2ad79ee97e15dee0b4fb481657c6660d53ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Schw=C3=B6rer?= Date: Tue, 11 Nov 2025 14:50:45 +0100 Subject: [PATCH] Improve release script --- flutter/Makefile | 25 +------------------- flutter/_utils/release.sh | 48 +++++++++++++++++++++++++++++++++++++++ flutter/pubspec.yaml | 2 +- 3 files changed, 50 insertions(+), 25 deletions(-) create mode 100755 flutter/_utils/release.sh diff --git a/flutter/Makefile b/flutter/Makefile index e377288..ccacb23 100644 --- a/flutter/Makefile +++ b/flutter/Makefile @@ -30,29 +30,7 @@ install-release: java gen flutter run --release -d 35221JEHN07157 release: java gen - @echo "" - @echo "(!) Make sure you've updated version-number in pubspec.yaml !" - @echo 'Confirmed' && read - @echo "" - flutter build apk --release - cp build/app/outputs/flutter-apk/app-release.apk "_releases/v$(VERS).apk" - @echo "" - @echo "--> copied APK to _releases ( Version: $(VERS) )" - @echo "" - flutter build appbundle --release - cp build/app/outputs/bundle/release/app-release.aab "_releases/v$(VERS).aab" - cd "build/app/intermediates/merged_native_libs/release/out/lib" && zip -r "../../../../../../../_releases/v$(VERS).symbols.zip" . - @echo "" - @echo "--> copied AAB to _releases ( Version: $(VERS) )" - @echo "" - flutter build linux --release - tar -czf "_releases/v$(VERS).tar.gz" -C build/linux/x64/release/bundle . - @echo "" - @echo "--> copied linux-binary to _releases ( Version: $(VERS) )" - @echo "" - @echo "#=> file://$(shell pwd)/_releases" - @echo "" - @echo "Done." + @_utils/release.sh test: dart analyze @@ -67,7 +45,6 @@ gen: java # run `make run` in another terminal (or another variant of flutter run) autoreload: - @ @_utils/autoreload.sh icons: diff --git a/flutter/_utils/release.sh b/flutter/_utils/release.sh new file mode 100755 index 0000000..b7702d6 --- /dev/null +++ b/flutter/_utils/release.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +if [[ -d ".git" ]]; then + + echo "Must be called in project root" + exit 1 + +fi + +VERS="$(cat pubspec.yaml | grep -oP '(?<=version: ).*' | sed 's/[\s]*//' | tr -d '\n' | tr -d '')" + +VERS_BY_SPEC="$( echo -n "$VERS" | awk -F'+' '{print "v"$1}' )" +VERS_BY_TAG="$(git describe --abbrev=0 --tags)" + +if [[ "$VERS_BY_TAG" != "$VERS_BY_SPEC" ]]; then + echo "Version in pubspec.yaml ($VERS_BY_SPEC) does not match latest git tag ($VERS_BY_TAG)" + exit 1 +fi + +echo "" +echo "(!) Make sure you've updated version-number in pubspec.yaml (current = ${VERS}) !" +echo 'Confirmed' && read -r +echo "" + +flutter build apk --release +cp build/app/outputs/flutter-apk/app-release.apk "_releases/v${VERS}.apk" + +echo "" +echo "--> copied APK to _releases ( Version: ${VERS} )" +echo "" + +flutter build appbundle --release +cp build/app/outputs/bundle/release/app-release.aab "_releases/v${VERS}.aab" +cd "build/app/intermediates/merged_native_libs/release/out/lib" && zip -r "../../../../../../../_releases/v${VERS}.symbols.zip" . + +echo "" +echo "--> copied AAB to _releases ( Version: ${VERS} )" +echo "" + +flutter build linux --release +tar -czf "_releases/v${VERS}.tar.gz" -C build/linux/x64/release/bundle . + +echo "" +echo "--> copied linux-binary to _releases ( Version: ${VERS} )" +echo "" +echo "#=> file://$(pwd)/_releases" +echo "" +echo "Done." \ No newline at end of file diff --git a/flutter/pubspec.yaml b/flutter/pubspec.yaml index accdf68..e009cf7 100644 --- a/flutter/pubspec.yaml +++ b/flutter/pubspec.yaml @@ -2,7 +2,7 @@ name: simplecloudnotifier description: "Receive push messages" publish_to: 'none' -version: 2.1.0+502 +version: 2.1.0+509 environment: sdk: '>=3.9.0 <4.0.0'