#!/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"