allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

rootProject.buildDir = '../build'
subprojects {
    afterEvaluate { project ->
         if (project.hasProperty('android')) {
            project.android {
                if (namespace == null) {
                    namespace project.group
                }
            }

            android {
                compileOptions {
                    sourceCompatibility JavaVersion.VERSION_17
                    targetCompatibility JavaVersion.VERSION_17
                }

                tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
                    kotlinOptions {
                        jvmTarget = '17'
                    }
                }
            }

            Integer pluginCompileSdk = project.android.compileSdk
            if (pluginCompileSdk != null) {
                if (pluginCompileSdk < 31) {
                    project.logger.error(
                        "Warning: Overriding compileSdk version in Flutter plugin: "
                            + project.name
                            + " from "
                            + pluginCompileSdk
                            + " to 31 (to work around https://issuetracker.google.com/issues/199180389)."
                            + "\nIf there is not a new version of " + project.name + ", consider filing an issue against "
                            + project.name
                            + " to increase their compileSdk to the latest (otherwise try updating to the latest version)."
                    )
                    project.android {
                        compileSdk 31
                    }
                }
            }
        }
    }
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

tasks.register("clean", Delete) {
    delete rootProject.buildDir
}
