@@ -3,44 +3,66 @@ set -euo pipefail
33
44cd samples/MobileBuyIntegration
55
6- if [ ! -f " .env" ]; then
6+ ENV_FILE=" .env"
7+
8+ if [ ! -f " $ENV_FILE " ]; then
79 echo " ❌ .env file not found in samples/MobileBuyIntegration/"
8- echo " Run 'cp .env.example .env' and fill in your credentials ."
10+ echo " Run scripts/setup_storefront_env from the repo root ."
911 exit 1
1012fi
1113
12- npx -y dotenv-cli -e .env -- sh -c '
13- DOMAIN="$STOREFRONT_DOMAIN"
14- TOKEN="$STOREFRONT_ACCESS_TOKEN"
15- VERSION="$API_VERSION"
16-
17- if [ -z "$DOMAIN" ]; then
18- echo "❌ STOREFRONT_DOMAIN is not set. Check your .env file."
19- exit 1
20- fi
21- if [ -z "$TOKEN" ]; then
22- echo "❌ STOREFRONT_ACCESS_TOKEN is not set. Check your .env file."
23- exit 1
24- fi
25- if [ -z "$VERSION" ]; then
26- echo "❌ API_VERSION is not set. Check your .env file."
27- echo " Add API_VERSION=2025-07 to your .env"
28- exit 1
29- fi
30-
31- echo "📡 Downloading schema for MobileBuyIntegration..."
32- echo " Domain: $DOMAIN"
33- echo " API Version: $VERSION"
34-
35- rover graph introspect \
36- "https://$DOMAIN/api/$VERSION/graphql" \
37- --header="X-Shopify-Storefront-Access-Token: $TOKEN" \
38- --output "app/src/main/graphql/schema.graphqls"
39-
40- if [ $? -eq 0 ]; then
41- echo "✅ Schema downloaded to app/src/main/graphql/schema.graphqls"
42- else
43- echo "❌ Schema download failed. Check your network connection and credentials."
44- exit 1
45- fi
46- '
14+ read_env_value () {
15+ local key=" $1 "
16+ awk -v key=" $key " '
17+ /^[[:space:]]*#/ || /^[[:space:]]*\/\// || /^[[:space:]]*$/ { next }
18+ $0 !~ /=/ { next }
19+ {
20+ line = $0
21+ sub(/^[[:space:]]*/, "", line)
22+ candidate = line
23+ sub(/=.*/, "", candidate)
24+ sub(/[[:space:]]*$/, "", candidate)
25+ if (candidate == key) {
26+ value = substr(line, index(line, "=") + 1)
27+ gsub(/^[[:space:]]+|[[:space:]]+$/, "", value)
28+ if (value ~ /^".*"$/ || value ~ /^' \' ' .*' \' ' $/) {
29+ value = substr(value, 2, length(value) - 2)
30+ }
31+ print value
32+ exit
33+ }
34+ }
35+ ' " $ENV_FILE "
36+ }
37+
38+ DOMAIN=" $( read_env_value STOREFRONT_DOMAIN) "
39+ TOKEN=" $( read_env_value STOREFRONT_ACCESS_TOKEN) "
40+ VERSION=" $( read_env_value API_VERSION) "
41+
42+ if [ -z " $DOMAIN " ]; then
43+ echo " ❌ STOREFRONT_DOMAIN is not set. Check your .env file."
44+ exit 1
45+ fi
46+ if [ -z " $TOKEN " ]; then
47+ echo " ❌ STOREFRONT_ACCESS_TOKEN is not set. Check your .env file."
48+ exit 1
49+ fi
50+ if [ -z " $VERSION " ]; then
51+ echo " ❌ API_VERSION is not set. Check your .env file."
52+ echo " Add API_VERSION=2025-07 to your .env"
53+ exit 1
54+ fi
55+
56+ echo " 📡 Downloading schema for MobileBuyIntegration..."
57+ echo " Domain: $DOMAIN "
58+ echo " API Version: $VERSION "
59+
60+ if rover graph introspect \
61+ " https://$DOMAIN /api/$VERSION /graphql" \
62+ --header=" X-Shopify-Storefront-Access-Token: $TOKEN " \
63+ --output " app/src/main/graphql/schema.graphqls" ; then
64+ echo " ✅ Schema downloaded to app/src/main/graphql/schema.graphqls"
65+ else
66+ echo " ❌ Schema download failed. Check your network connection and credentials."
67+ exit 1
68+ fi
0 commit comments