From df63687b781851975372ad654be2db053bd081a1 Mon Sep 17 00:00:00 2001 From: Codefarmer Date: Tue, 20 Oct 2026 13:51:11 +0100 Subject: [PATCH 1/2] chore(examples): migrate example apps to the current Android Gradle setup The database, firestore, localizations, oauth and storage examples still used the legacy buildscript/apply template with AGP 7.4.2, which current Flutter no longer builds. Move them to the declarative plugins {} template used by tests/android. All examples and tests now use AGP 8.11.1, Kotlin 2.3.0 and Gradle 8.14.3, the minimums Flutter stable enforces. --- .../example/android/gradle.properties | 6 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../example/android/settings.gradle | 4 +- .../example/android/app/build.gradle | 69 +++++-------------- .../example/android/build.gradle | 22 +----- .../example/android/gradle.properties | 11 +-- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../example/android/settings.gradle | 31 ++++++--- .../example/android/app/build.gradle | 69 +++++-------------- .../example/android/build.gradle | 20 +----- .../example/android/gradle.properties | 11 +-- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../example/android/settings.gradle | 31 ++++++--- .../example/android/app/build.gradle | 65 +++++------------ .../example/android/build.gradle | 19 +---- .../example/android/gradle.properties | 11 +-- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../example/android/settings.gradle | 30 +++++--- .../example/android/app/build.gradle | 69 +++++-------------- .../example/android/build.gradle | 22 +----- .../example/android/gradle.properties | 11 +-- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../example/android/settings.gradle | 31 ++++++--- .../example/android/app/build.gradle | 65 +++++------------ .../example/android/build.gradle | 17 +---- .../example/android/gradle.properties | 11 +-- .../gradle/wrapper/gradle-wrapper.properties | 2 +- .../example/android/settings.gradle | 30 +++++--- .../gradle/wrapper/gradle-wrapper.properties | 2 +- tests/android/settings.gradle | 2 +- 30 files changed, 264 insertions(+), 407 deletions(-) diff --git a/packages/firebase_ui_auth/example/android/gradle.properties b/packages/firebase_ui_auth/example/android/gradle.properties index ef8d51b1..879dbe2e 100644 --- a/packages/firebase_ui_auth/example/android/gradle.properties +++ b/packages/firebase_ui_auth/example/android/gradle.properties @@ -5,4 +5,8 @@ android.nonTransitiveRClass=false android.nonFinalResIds=false # Java 17 settings to suppress Java 8 warnings -kotlin.jvm.target.validation.mode=warning \ No newline at end of file +kotlin.jvm.target.validation.mode=warning +# This builtInKotlin flag was added automatically by Flutter migrator +android.builtInKotlin=false +# This newDsl flag was added automatically by Flutter migrator +android.newDsl=false diff --git a/packages/firebase_ui_auth/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/firebase_ui_auth/example/android/gradle/wrapper/gradle-wrapper.properties index fce403e4..e69d0402 100644 --- a/packages/firebase_ui_auth/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/firebase_ui_auth/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/packages/firebase_ui_auth/example/android/settings.gradle b/packages/firebase_ui_auth/example/android/settings.gradle index 0cfdd0fb..a0b19bfc 100644 --- a/packages/firebase_ui_auth/example/android/settings.gradle +++ b/packages/firebase_ui_auth/example/android/settings.gradle @@ -18,8 +18,8 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.3.0" apply false - id "org.jetbrains.kotlin.android" version "1.9.25" apply false + id "com.android.application" version "8.11.1" apply false + id "org.jetbrains.kotlin.android" version "2.3.0" apply false id "com.google.gms.google-services" version "4.4.2" apply false } diff --git a/packages/firebase_ui_database/example/android/app/build.gradle b/packages/firebase_ui_database/example/android/app/build.gradle index af854b63..0ea3921f 100644 --- a/packages/firebase_ui_database/example/android/app/build.gradle +++ b/packages/firebase_ui_database/example/android/app/build.gradle @@ -1,72 +1,41 @@ -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' +plugins { + id "com.android.application" + id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id "dev.flutter.flutter-gradle-plugin" + id "com.google.gms.google-services" } -apply plugin: 'com.android.application' -// START: FlutterFire Configuration -apply plugin: 'com.google.gms.google-services' -// END: FlutterFire Configuration -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { - namespace 'io.flutter.plugins.firebase_ui_example' - compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion + namespace = "io.flutter.plugins.firebase_ui_example" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' + jvmTarget = JavaVersion.VERSION_11 } defaultConfig { - applicationId "io.flutter.plugins.firebase_ui_example" - minSdkVersion 21 - targetSdkVersion flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName + applicationId = "io.flutter.plugins.firebase_ui_example" + minSdkVersion = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName } buildTypes { release { - // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug + signingConfig = signingConfigs.debug } } } flutter { - source '../..' -} - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + source = "../.." } diff --git a/packages/firebase_ui_database/example/android/build.gradle b/packages/firebase_ui_database/example/android/build.gradle index e5969960..d2ffbffa 100644 --- a/packages/firebase_ui_database/example/android/build.gradle +++ b/packages/firebase_ui_database/example/android/build.gradle @@ -1,19 +1,3 @@ -buildscript { - ext.kotlin_version = '1.6.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.4.2' - // START: FlutterFire Configuration - classpath 'com.google.gms:google-services:4.3.15' - // END: FlutterFire Configuration - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - allprojects { repositories { google() @@ -21,14 +5,14 @@ allprojects { } } -rootProject.buildDir = '../build' +rootProject.buildDir = "../build" subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { - project.evaluationDependsOn(':app') + project.evaluationDependsOn(":app") } -task clean(type: Delete) { +tasks.register("clean", Delete) { delete rootProject.buildDir } diff --git a/packages/firebase_ui_database/example/android/gradle.properties b/packages/firebase_ui_database/example/android/gradle.properties index 1310f7a8..9f11106c 100644 --- a/packages/firebase_ui_database/example/android/gradle.properties +++ b/packages/firebase_ui_database/example/android/gradle.properties @@ -1,6 +1,7 @@ -org.gradle.jvmargs=-Xmx1536M +org.gradle.jvmargs=-Xmx4G android.useAndroidX=true -android.enableJetifier=true -android.defaults.buildfeatures.buildconfig=true -android.nonTransitiveRClass=false -android.nonFinalResIds=false \ No newline at end of file +android.enableJetifier=false +# This builtInKotlin flag was added automatically by Flutter migrator +android.builtInKotlin=false +# This newDsl flag was added automatically by Flutter migrator +android.newDsl=false diff --git a/packages/firebase_ui_database/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/firebase_ui_database/example/android/gradle/wrapper/gradle-wrapper.properties index da1db5f0..e69d0402 100644 --- a/packages/firebase_ui_database/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/firebase_ui_database/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/packages/firebase_ui_database/example/android/settings.gradle b/packages/firebase_ui_database/example/android/settings.gradle index 44e62bcf..f439052c 100644 --- a/packages/firebase_ui_database/example/android/settings.gradle +++ b/packages/firebase_ui_database/example/android/settings.gradle @@ -1,11 +1,26 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "8.11.1" apply false + id "org.jetbrains.kotlin.android" version "2.3.0" apply false + id "com.google.gms.google-services" version "4.4.2" apply false +} + +include ":app" diff --git a/packages/firebase_ui_firestore/example/android/app/build.gradle b/packages/firebase_ui_firestore/example/android/app/build.gradle index af854b63..0ea3921f 100644 --- a/packages/firebase_ui_firestore/example/android/app/build.gradle +++ b/packages/firebase_ui_firestore/example/android/app/build.gradle @@ -1,72 +1,41 @@ -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' +plugins { + id "com.android.application" + id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id "dev.flutter.flutter-gradle-plugin" + id "com.google.gms.google-services" } -apply plugin: 'com.android.application' -// START: FlutterFire Configuration -apply plugin: 'com.google.gms.google-services' -// END: FlutterFire Configuration -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { - namespace 'io.flutter.plugins.firebase_ui_example' - compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion + namespace = "io.flutter.plugins.firebase_ui_example" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' + jvmTarget = JavaVersion.VERSION_11 } defaultConfig { - applicationId "io.flutter.plugins.firebase_ui_example" - minSdkVersion 21 - targetSdkVersion flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName + applicationId = "io.flutter.plugins.firebase_ui_example" + minSdkVersion = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName } buildTypes { release { - // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug + signingConfig = signingConfigs.debug } } } flutter { - source '../..' -} - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + source = "../.." } diff --git a/packages/firebase_ui_firestore/example/android/build.gradle b/packages/firebase_ui_firestore/example/android/build.gradle index ae605880..d2ffbffa 100644 --- a/packages/firebase_ui_firestore/example/android/build.gradle +++ b/packages/firebase_ui_firestore/example/android/build.gradle @@ -1,19 +1,3 @@ -buildscript { - ext.kotlin_version = '1.7.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.4.2' - // START: FlutterFire Configuration - classpath 'com.google.gms:google-services:4.3.15' - // END: FlutterFire Configuration - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - allprojects { repositories { google() @@ -21,12 +5,12 @@ allprojects { } } -rootProject.buildDir = '../build' +rootProject.buildDir = "../build" subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { - project.evaluationDependsOn(':app') + project.evaluationDependsOn(":app") } tasks.register("clean", Delete) { diff --git a/packages/firebase_ui_firestore/example/android/gradle.properties b/packages/firebase_ui_firestore/example/android/gradle.properties index 1310f7a8..9f11106c 100644 --- a/packages/firebase_ui_firestore/example/android/gradle.properties +++ b/packages/firebase_ui_firestore/example/android/gradle.properties @@ -1,6 +1,7 @@ -org.gradle.jvmargs=-Xmx1536M +org.gradle.jvmargs=-Xmx4G android.useAndroidX=true -android.enableJetifier=true -android.defaults.buildfeatures.buildconfig=true -android.nonTransitiveRClass=false -android.nonFinalResIds=false \ No newline at end of file +android.enableJetifier=false +# This builtInKotlin flag was added automatically by Flutter migrator +android.builtInKotlin=false +# This newDsl flag was added automatically by Flutter migrator +android.newDsl=false diff --git a/packages/firebase_ui_firestore/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/firebase_ui_firestore/example/android/gradle/wrapper/gradle-wrapper.properties index da1db5f0..e69d0402 100644 --- a/packages/firebase_ui_firestore/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/firebase_ui_firestore/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/packages/firebase_ui_firestore/example/android/settings.gradle b/packages/firebase_ui_firestore/example/android/settings.gradle index 44e62bcf..f439052c 100644 --- a/packages/firebase_ui_firestore/example/android/settings.gradle +++ b/packages/firebase_ui_firestore/example/android/settings.gradle @@ -1,11 +1,26 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "8.11.1" apply false + id "org.jetbrains.kotlin.android" version "2.3.0" apply false + id "com.google.gms.google-services" version "4.4.2" apply false +} + +include ":app" diff --git a/packages/firebase_ui_localizations/example/android/app/build.gradle b/packages/firebase_ui_localizations/example/android/app/build.gradle index cc2e3f3e..32d3b699 100644 --- a/packages/firebase_ui_localizations/example/android/app/build.gradle +++ b/packages/firebase_ui_localizations/example/android/app/build.gradle @@ -1,69 +1,40 @@ -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' +plugins { + id "com.android.application" + id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id "dev.flutter.flutter-gradle-plugin" } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { - namespace 'io.flutter.plugins.firebase_ui_localizations_example' - compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion + namespace = "io.flutter.plugins.firebase_ui_localizations_example" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' + jvmTarget = JavaVersion.VERSION_11 } defaultConfig { - applicationId "io.flutter.plugins.firebase_ui_localizations_example" - minSdkVersion 21 - targetSdkVersion flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName + applicationId = "io.flutter.plugins.firebase_ui_localizations_example" + minSdkVersion = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName } buildTypes { release { - // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug + signingConfig = signingConfigs.debug } } } flutter { - source '../..' -} - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + source = "../.." } diff --git a/packages/firebase_ui_localizations/example/android/build.gradle b/packages/firebase_ui_localizations/example/android/build.gradle index 4eb693a2..d2ffbffa 100644 --- a/packages/firebase_ui_localizations/example/android/build.gradle +++ b/packages/firebase_ui_localizations/example/android/build.gradle @@ -1,16 +1,3 @@ -buildscript { - ext.kotlin_version = '1.6.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.4.2' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - allprojects { repositories { google() @@ -18,14 +5,14 @@ allprojects { } } -rootProject.buildDir = '../build' +rootProject.buildDir = "../build" subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { - project.evaluationDependsOn(':app') + project.evaluationDependsOn(":app") } -task clean(type: Delete) { +tasks.register("clean", Delete) { delete rootProject.buildDir } diff --git a/packages/firebase_ui_localizations/example/android/gradle.properties b/packages/firebase_ui_localizations/example/android/gradle.properties index 1310f7a8..9f11106c 100644 --- a/packages/firebase_ui_localizations/example/android/gradle.properties +++ b/packages/firebase_ui_localizations/example/android/gradle.properties @@ -1,6 +1,7 @@ -org.gradle.jvmargs=-Xmx1536M +org.gradle.jvmargs=-Xmx4G android.useAndroidX=true -android.enableJetifier=true -android.defaults.buildfeatures.buildconfig=true -android.nonTransitiveRClass=false -android.nonFinalResIds=false \ No newline at end of file +android.enableJetifier=false +# This builtInKotlin flag was added automatically by Flutter migrator +android.builtInKotlin=false +# This newDsl flag was added automatically by Flutter migrator +android.newDsl=false diff --git a/packages/firebase_ui_localizations/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/firebase_ui_localizations/example/android/gradle/wrapper/gradle-wrapper.properties index da1db5f0..e69d0402 100644 --- a/packages/firebase_ui_localizations/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/firebase_ui_localizations/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/packages/firebase_ui_localizations/example/android/settings.gradle b/packages/firebase_ui_localizations/example/android/settings.gradle index 44e62bcf..f378cc2e 100644 --- a/packages/firebase_ui_localizations/example/android/settings.gradle +++ b/packages/firebase_ui_localizations/example/android/settings.gradle @@ -1,11 +1,25 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "8.11.1" apply false + id "org.jetbrains.kotlin.android" version "2.3.0" apply false +} + +include ":app" diff --git a/packages/firebase_ui_oauth/example/android/app/build.gradle b/packages/firebase_ui_oauth/example/android/app/build.gradle index 5bfe5bf1..9f5c7c26 100644 --- a/packages/firebase_ui_oauth/example/android/app/build.gradle +++ b/packages/firebase_ui_oauth/example/android/app/build.gradle @@ -1,72 +1,41 @@ -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' +plugins { + id "com.android.application" + id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id "dev.flutter.flutter-gradle-plugin" + id "com.google.gms.google-services" } -apply plugin: 'com.android.application' -// START: FlutterFire Configuration -apply plugin: 'com.google.gms.google-services' -// END: FlutterFire Configuration -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { - namespace 'io.flutter.plugins.firebase_ui_oauth_example' - compileSdkVersion flutter.compileSdkVersion + namespace = "io.flutter.plugins.firebase_ui_oauth_example" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' + jvmTarget = JavaVersion.VERSION_11 } defaultConfig { - // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "io.flutter.plugins.firebase_ui_oauth_example" - minSdkVersion 21 - targetSdkVersion flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName + applicationId = "io.flutter.plugins.firebase_ui_oauth_example" + minSdkVersion = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName } buildTypes { release { - // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug + signingConfig = signingConfigs.debug } } } flutter { - source '../..' -} - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + source = "../.." } diff --git a/packages/firebase_ui_oauth/example/android/build.gradle b/packages/firebase_ui_oauth/example/android/build.gradle index 0d1b7eed..d2ffbffa 100644 --- a/packages/firebase_ui_oauth/example/android/build.gradle +++ b/packages/firebase_ui_oauth/example/android/build.gradle @@ -1,19 +1,3 @@ -buildscript { - ext.kotlin_version = '1.7.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.4.2' - // START: FlutterFire Configuration - classpath 'com.google.gms:google-services:4.3.15' - // END: FlutterFire Configuration - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - allprojects { repositories { google() @@ -21,14 +5,14 @@ allprojects { } } -rootProject.buildDir = '../build' +rootProject.buildDir = "../build" subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { - project.evaluationDependsOn(':app') + project.evaluationDependsOn(":app") } -task clean(type: Delete) { +tasks.register("clean", Delete) { delete rootProject.buildDir } diff --git a/packages/firebase_ui_oauth/example/android/gradle.properties b/packages/firebase_ui_oauth/example/android/gradle.properties index 1310f7a8..9f11106c 100644 --- a/packages/firebase_ui_oauth/example/android/gradle.properties +++ b/packages/firebase_ui_oauth/example/android/gradle.properties @@ -1,6 +1,7 @@ -org.gradle.jvmargs=-Xmx1536M +org.gradle.jvmargs=-Xmx4G android.useAndroidX=true -android.enableJetifier=true -android.defaults.buildfeatures.buildconfig=true -android.nonTransitiveRClass=false -android.nonFinalResIds=false \ No newline at end of file +android.enableJetifier=false +# This builtInKotlin flag was added automatically by Flutter migrator +android.builtInKotlin=false +# This newDsl flag was added automatically by Flutter migrator +android.newDsl=false diff --git a/packages/firebase_ui_oauth/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/firebase_ui_oauth/example/android/gradle/wrapper/gradle-wrapper.properties index da1db5f0..e69d0402 100644 --- a/packages/firebase_ui_oauth/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/firebase_ui_oauth/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/packages/firebase_ui_oauth/example/android/settings.gradle b/packages/firebase_ui_oauth/example/android/settings.gradle index 44e62bcf..f439052c 100644 --- a/packages/firebase_ui_oauth/example/android/settings.gradle +++ b/packages/firebase_ui_oauth/example/android/settings.gradle @@ -1,11 +1,26 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "8.11.1" apply false + id "org.jetbrains.kotlin.android" version "2.3.0" apply false + id "com.google.gms.google-services" version "4.4.2" apply false +} + +include ":app" diff --git a/packages/firebase_ui_storage/example/android/app/build.gradle b/packages/firebase_ui_storage/example/android/app/build.gradle index f7c4c0f8..a2a79c46 100644 --- a/packages/firebase_ui_storage/example/android/app/build.gradle +++ b/packages/firebase_ui_storage/example/android/app/build.gradle @@ -1,69 +1,40 @@ -def localProperties = new Properties() -def localPropertiesFile = rootProject.file('local.properties') -if (localPropertiesFile.exists()) { - localPropertiesFile.withReader('UTF-8') { reader -> - localProperties.load(reader) - } -} - -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - -def flutterVersionCode = localProperties.getProperty('flutter.versionCode') -if (flutterVersionCode == null) { - flutterVersionCode = '1' -} - -def flutterVersionName = localProperties.getProperty('flutter.versionName') -if (flutterVersionName == null) { - flutterVersionName = '1.0' +plugins { + id "com.android.application" + id "kotlin-android" + // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. + id "dev.flutter.flutter-gradle-plugin" } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { - namespace 'io.flutter.plugins.firebase_ui_example' - compileSdkVersion flutter.compileSdkVersion - ndkVersion flutter.ndkVersion + namespace = "io.flutter.plugins.firebase_ui_example" + compileSdk = flutter.compileSdkVersion + ndkVersion = flutter.ndkVersion compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' + jvmTarget = JavaVersion.VERSION_11 } defaultConfig { - applicationId "io.flutter.plugins.firebase_ui_example" - minSdkVersion flutter.minSdkVersion - targetSdkVersion flutter.targetSdkVersion - versionCode flutterVersionCode.toInteger() - versionName flutterVersionName + applicationId = "io.flutter.plugins.firebase_ui_example" + minSdkVersion = flutter.minSdkVersion + targetSdk = flutter.targetSdkVersion + versionCode = flutter.versionCode + versionName = flutter.versionName } buildTypes { release { - // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.debug + signingConfig = signingConfigs.debug } } } flutter { - source '../..' -} - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" + source = "../.." } diff --git a/packages/firebase_ui_storage/example/android/build.gradle b/packages/firebase_ui_storage/example/android/build.gradle index ce647a43..d2ffbffa 100644 --- a/packages/firebase_ui_storage/example/android/build.gradle +++ b/packages/firebase_ui_storage/example/android/build.gradle @@ -1,16 +1,3 @@ -buildscript { - ext.kotlin_version = '1.7.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.4.2' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - allprojects { repositories { google() @@ -18,12 +5,12 @@ allprojects { } } -rootProject.buildDir = '../build' +rootProject.buildDir = "../build" subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { - project.evaluationDependsOn(':app') + project.evaluationDependsOn(":app") } tasks.register("clean", Delete) { diff --git a/packages/firebase_ui_storage/example/android/gradle.properties b/packages/firebase_ui_storage/example/android/gradle.properties index 1310f7a8..9f11106c 100644 --- a/packages/firebase_ui_storage/example/android/gradle.properties +++ b/packages/firebase_ui_storage/example/android/gradle.properties @@ -1,6 +1,7 @@ -org.gradle.jvmargs=-Xmx1536M +org.gradle.jvmargs=-Xmx4G android.useAndroidX=true -android.enableJetifier=true -android.defaults.buildfeatures.buildconfig=true -android.nonTransitiveRClass=false -android.nonFinalResIds=false \ No newline at end of file +android.enableJetifier=false +# This builtInKotlin flag was added automatically by Flutter migrator +android.builtInKotlin=false +# This newDsl flag was added automatically by Flutter migrator +android.newDsl=false diff --git a/packages/firebase_ui_storage/example/android/gradle/wrapper/gradle-wrapper.properties b/packages/firebase_ui_storage/example/android/gradle/wrapper/gradle-wrapper.properties index da1db5f0..e69d0402 100644 --- a/packages/firebase_ui_storage/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/packages/firebase_ui_storage/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/packages/firebase_ui_storage/example/android/settings.gradle b/packages/firebase_ui_storage/example/android/settings.gradle index 44e62bcf..f378cc2e 100644 --- a/packages/firebase_ui_storage/example/android/settings.gradle +++ b/packages/firebase_ui_storage/example/android/settings.gradle @@ -1,11 +1,25 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "8.11.1" apply false + id "org.jetbrains.kotlin.android" version "2.3.0" apply false +} + +include ":app" diff --git a/tests/android/gradle/wrapper/gradle-wrapper.properties b/tests/android/gradle/wrapper/gradle-wrapper.properties index efdcc4ac..74b269f3 100644 --- a/tests/android/gradle/wrapper/gradle-wrapper.properties +++ b/tests/android/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip diff --git a/tests/android/settings.gradle b/tests/android/settings.gradle index 7d38085a..a0b19bfc 100644 --- a/tests/android/settings.gradle +++ b/tests/android/settings.gradle @@ -18,7 +18,7 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.9.1" apply false + id "com.android.application" version "8.11.1" apply false id "org.jetbrains.kotlin.android" version "2.3.0" apply false id "com.google.gms.google-services" version "4.4.2" apply false } From 5af942d626e52dabae8dae396cf6436a30474dd6 Mon Sep 17 00:00:00 2001 From: Codefarmer Date: Tue, 20 Oct 2026 14:19:20 +0100 Subject: [PATCH 2/2] chore(examples): set jvmTarget as a string literal --- packages/firebase_ui_database/example/android/app/build.gradle | 2 +- packages/firebase_ui_firestore/example/android/app/build.gradle | 2 +- .../firebase_ui_localizations/example/android/app/build.gradle | 2 +- packages/firebase_ui_oauth/example/android/app/build.gradle | 2 +- packages/firebase_ui_storage/example/android/app/build.gradle | 2 +- tests/android/app/build.gradle | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/firebase_ui_database/example/android/app/build.gradle b/packages/firebase_ui_database/example/android/app/build.gradle index 0ea3921f..8f3ba46e 100644 --- a/packages/firebase_ui_database/example/android/app/build.gradle +++ b/packages/firebase_ui_database/example/android/app/build.gradle @@ -17,7 +17,7 @@ android { } kotlinOptions { - jvmTarget = JavaVersion.VERSION_11 + jvmTarget = "11" } defaultConfig { diff --git a/packages/firebase_ui_firestore/example/android/app/build.gradle b/packages/firebase_ui_firestore/example/android/app/build.gradle index 0ea3921f..8f3ba46e 100644 --- a/packages/firebase_ui_firestore/example/android/app/build.gradle +++ b/packages/firebase_ui_firestore/example/android/app/build.gradle @@ -17,7 +17,7 @@ android { } kotlinOptions { - jvmTarget = JavaVersion.VERSION_11 + jvmTarget = "11" } defaultConfig { diff --git a/packages/firebase_ui_localizations/example/android/app/build.gradle b/packages/firebase_ui_localizations/example/android/app/build.gradle index 32d3b699..0888c897 100644 --- a/packages/firebase_ui_localizations/example/android/app/build.gradle +++ b/packages/firebase_ui_localizations/example/android/app/build.gradle @@ -16,7 +16,7 @@ android { } kotlinOptions { - jvmTarget = JavaVersion.VERSION_11 + jvmTarget = "11" } defaultConfig { diff --git a/packages/firebase_ui_oauth/example/android/app/build.gradle b/packages/firebase_ui_oauth/example/android/app/build.gradle index 9f5c7c26..6f9edc7e 100644 --- a/packages/firebase_ui_oauth/example/android/app/build.gradle +++ b/packages/firebase_ui_oauth/example/android/app/build.gradle @@ -17,7 +17,7 @@ android { } kotlinOptions { - jvmTarget = JavaVersion.VERSION_11 + jvmTarget = "11" } defaultConfig { diff --git a/packages/firebase_ui_storage/example/android/app/build.gradle b/packages/firebase_ui_storage/example/android/app/build.gradle index a2a79c46..522db4af 100644 --- a/packages/firebase_ui_storage/example/android/app/build.gradle +++ b/packages/firebase_ui_storage/example/android/app/build.gradle @@ -16,7 +16,7 @@ android { } kotlinOptions { - jvmTarget = JavaVersion.VERSION_11 + jvmTarget = "11" } defaultConfig { diff --git a/tests/android/app/build.gradle b/tests/android/app/build.gradle index b495ca5b..5f5df2ca 100644 --- a/tests/android/app/build.gradle +++ b/tests/android/app/build.gradle @@ -17,7 +17,7 @@ android { } kotlinOptions { - jvmTarget = JavaVersion.VERSION_11 + jvmTarget = "11" } defaultConfig {