47 lines
1.5 KiB
Groovy
47 lines
1.5 KiB
Groovy
allprojects {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
}
|
|
|
|
rootProject.buildDir = '../build'
|
|
subprojects {
|
|
project.buildDir = "${rootProject.buildDir}/${project.name}"
|
|
}
|
|
// Pin every Android subproject to JVM 17 so plugins that ship Kotlin sources
|
|
// compiled with a higher target (e.g. receive_sharing_intent at 21) or stale
|
|
// Java compatibility (e.g. home_widget at 1.8) don't break the build under
|
|
// newer Gradle/Kotlin tooling. Registered before evaluationDependsOn so the
|
|
// afterEvaluate fires at the right point in the lifecycle.
|
|
subprojects { sub ->
|
|
sub.afterEvaluate {
|
|
if (sub.hasProperty('android')) {
|
|
sub.android {
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
// Some plugins (e.g. app_settings) hard-pin an older compileSdk
|
|
// than their transitive AndroidX deps require, which fails the
|
|
// AAR metadata check. Align every plugin with the app's
|
|
// compileSdk (flutter.compileSdkVersion) so the build passes.
|
|
compileSdkVersion 36
|
|
}
|
|
}
|
|
sub.tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
|
|
kotlinOptions {
|
|
jvmTarget = '17'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
subprojects {
|
|
project.evaluationDependsOn(':app')
|
|
}
|
|
|
|
tasks.register("clean", Delete) {
|
|
delete rootProject.buildDir
|
|
}
|