# Setup
#
# flutter config --jdk-dir "/usr/lib/jvm/default-runtime/bin"
# sudo archlinux-java set java-17-openjdk
#



# runs app locally (linux)
run-linux:
	dart run build_runner build
	_JAVA_OPTIONS="" flutter run -d linux

# runs app locally (web | not really supported)
run-web:
	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:
	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:
	# Install on Pixel 7a
	flutter build apk --release
	flutter run --release -d 35221JEHN07157

build-release:
	flutter build apk       --release
	flutter build appbundle --release
	flutter build linux     --release

test:
	dart analyze

fix:
	dart fix --apply

gen:
	dart run build_runner build

# 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