agent-flutter 0.1.19 → 0.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -237,6 +237,94 @@ ensure_line_in_file() {
|
|
|
237
237
|
fi
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
+
configure_android_flavors() {
|
|
241
|
+
local android_app_id="$ORG_ID.$APP_PACKAGE_NAME"
|
|
242
|
+
local gradle_kts_file="android/app/build.gradle.kts"
|
|
243
|
+
|
|
244
|
+
if [[ ! -f "$gradle_kts_file" ]]; then
|
|
245
|
+
echo "Warning: Android Gradle Kotlin file not found, skip flavor config: $gradle_kts_file"
|
|
246
|
+
return 0
|
|
247
|
+
fi
|
|
248
|
+
|
|
249
|
+
cat >"$gradle_kts_file" <<EOF
|
|
250
|
+
import java.io.File
|
|
251
|
+
|
|
252
|
+
fun loadEnv(name: String): Map<String, String> {
|
|
253
|
+
val envFile = rootProject.file("../" + name)
|
|
254
|
+
val env = mutableMapOf<String, String>()
|
|
255
|
+
|
|
256
|
+
if (envFile.exists()) {
|
|
257
|
+
envFile.forEachLine { line ->
|
|
258
|
+
if (line.isNotBlank() && !line.startsWith("#") && line.contains("=")) {
|
|
259
|
+
val parts = line.split("=", limit = 2)
|
|
260
|
+
env[parts[0].trim()] = parts[1].trim()
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
return env
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
val stagingEnv = loadEnv(".env.staging")
|
|
268
|
+
val prodEnv = loadEnv(".env.prod")
|
|
269
|
+
|
|
270
|
+
plugins {
|
|
271
|
+
id("com.android.application")
|
|
272
|
+
id("kotlin-android")
|
|
273
|
+
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
|
|
274
|
+
id("dev.flutter.flutter-gradle-plugin")
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
android {
|
|
278
|
+
namespace = "$android_app_id"
|
|
279
|
+
compileSdk = flutter.compileSdkVersion
|
|
280
|
+
ndkVersion = flutter.ndkVersion
|
|
281
|
+
|
|
282
|
+
compileOptions {
|
|
283
|
+
sourceCompatibility = JavaVersion.VERSION_11
|
|
284
|
+
targetCompatibility = JavaVersion.VERSION_11
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
kotlinOptions {
|
|
288
|
+
jvmTarget = JavaVersion.VERSION_11.toString()
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
defaultConfig {
|
|
292
|
+
applicationId = "$android_app_id"
|
|
293
|
+
minSdk = flutter.minSdkVersion
|
|
294
|
+
targetSdk = flutter.targetSdkVersion
|
|
295
|
+
versionCode = flutter.versionCode
|
|
296
|
+
versionName = flutter.versionName
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
buildTypes {
|
|
300
|
+
release {
|
|
301
|
+
signingConfig = signingConfigs.getByName("debug")
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
flavorDimensions += "app"
|
|
306
|
+
productFlavors {
|
|
307
|
+
create("prod") {
|
|
308
|
+
dimension = "app"
|
|
309
|
+
resValue("string", "google_maps_api_key", prodEnv["GOOGLE_MAP_API_KEY"] ?: "")
|
|
310
|
+
}
|
|
311
|
+
create("staging") {
|
|
312
|
+
dimension = "app"
|
|
313
|
+
applicationIdSuffix = ".staging"
|
|
314
|
+
versionNameSuffix = "-staging"
|
|
315
|
+
resValue("string", "google_maps_api_key", stagingEnv["GOOGLE_MAP_API_KEY"] ?: "")
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
flutter {
|
|
321
|
+
source = "../.."
|
|
322
|
+
}
|
|
323
|
+
EOF
|
|
324
|
+
|
|
325
|
+
echo "Configured Android product flavors (prod/staging)."
|
|
326
|
+
}
|
|
327
|
+
|
|
240
328
|
PROJECT_NAME="$(prompt_required "$PROJECT_NAME" "Project name: ")"
|
|
241
329
|
if [[ -z "$PROJECT_NAME" ]]; then
|
|
242
330
|
echo "Error: project name is required." >&2
|
|
@@ -290,6 +378,8 @@ if ! "${create_args[@]}"; then
|
|
|
290
378
|
exit 1
|
|
291
379
|
fi
|
|
292
380
|
|
|
381
|
+
configure_android_flavors
|
|
382
|
+
|
|
293
383
|
mkdir -p .vscode
|
|
294
384
|
cat >.vscode/settings.json <<'JSON'
|
|
295
385
|
{
|