#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd -- "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_DIR="$(cd -- "$SCRIPT_DIR/../.." && pwd)" IDEA_DIR="$PROJECT_DIR/.idea" LIBRARIES_DIR="$IDEA_DIR/libraries" FLUTTER_SDK="$PROJECT_DIR/.devbox/nix/profile/default" DART_SDK="$FLUTTER_SDK/bin/cache/dart-sdk" mkdir -p "$IDEA_DIR" if [ ! -x "$FLUTTER_SDK/bin/flutter" ]; then echo "Flutter not found at $FLUTTER_SDK/bin/flutter. Run devbox install to download it." >&2 exit 1 fi if [ ! -d "$DART_SDK" ]; then echo "Dart SDK not found at $DART_SDK. Run flutter doctor to populate the cache." >&2 exit 1 fi mkdir -p "$LIBRARIES_DIR" cat > "$IDEA_DIR/flutter.xml" <<'EOF' EOF cat > "$IDEA_DIR/dart.xml" <<'EOF' EOF dart_libs=$(find "$DART_SDK/lib" -maxdepth 1 -mindepth 1 -type d -printf '%f\n' | sort) tmp_file=$(mktemp) { echo '' echo ' ' echo ' ' for lib in $dart_libs; do printf ' \n' "$lib" done echo ' ' echo ' ' echo ' ' echo ' ' echo '' } > "$tmp_file" mv "$tmp_file" "$LIBRARIES_DIR/Dart_SDK.xml" echo "Android Studio configured. Flutter SDK: $FLUTTER_SDK"