HASH=$(shell git rev-parse HEAD) VERS=$(shell cat pubspec.yaml | grep -oP '(?<=version: ).*' | sed 's/[\s]*//' | tr -d '\n') # lazy evaluated! java: sudo archlinux-java set java-17-openjdk java -version # runs app locally (linux) run-linux: java gen dart run build_runner build _JAVA_OPTIONS="" flutter run -d linux # runs app locally (web | not really supported) run-web: java gen dart run build_runner build _JAVA_OPTIONS="" flutter run -d chrome # runs on android device (must have network adb enabled teh correct IP) run-android: java gen ping -c1 10.10.10.177 adb connect 10.10.10.177:5555 flutter pub run build_runner build _JAVA_OPTIONS="" flutter run -d 10.10.10.177:5555 install-release: java gen # Install on Pixel 7a flutter build apk --release flutter run --release -d 35221JEHN07157 release: java gen 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." test: dart analyze fix: dart fix --apply gen: java ./_utils/inc_buildnum.sh dart run build_runner build dart run git_stamp git_stamp --build-type lite --limit 2 # run `make run` in another terminal (or another variant of flutter run) autoreload: @ @_utils/autoreload.sh icons: flutter pub run flutter_launcher_icons -f "flutter_launcher_icons.yaml" clean: cd android && ./gradlew clean flutter clean # upgrade all packages (add --major-versions even updates across new major versions) # https://docs.flutter.dev/release/upgrade # upgrading flutter can be done via `flutter upgrade`: https://docs.flutter.dev/release/upgrade # android/gradle updates should be done via androidStudio: https://docs.flutter.dev/release/breaking-changes/android-java-gradle-migration-guide upgrade: flutter upgrade flutter pub upgrade flutter doctor aider: aider --model gemini-2.5-pro --no-auto-commits --no-dirty-commits --test-cmd "flutter build linux" --auto-test --subtree-only