1+ import com.android.build.api.dsl.ApplicationExtension
2+ import com.android.build.api.dsl.LibraryExtension
13import java.io.FileNotFoundException
24import java.util.Calendar
35
@@ -7,6 +9,9 @@ apply(plugin = "org.jetbrains.dokka")
79apply (from = " ${rootDir} /gradle/scripts/sonar.gradle" )
810// Top-level build file where you can add configuration options common to all sub-projects/modules.
911plugins {
12+ alias(libs.plugins.stream.android.library) apply false
13+ alias(libs.plugins.stream.android.application) apply false
14+ alias(libs.plugins.stream.java.library) apply false
1015 alias(libs.plugins.android.application) apply false
1116 alias(libs.plugins.kotlin.android) apply false
1217 alias(libs.plugins.jetbrains.kotlin.jvm) apply false
@@ -38,6 +43,29 @@ detekt {
3843 buildUponDefaultConfig = true
3944}
4045
46+ subprojects {
47+ // Configure Android projects with common SDK versions as soon as either plugin is applied
48+ pluginManager.withPlugin(" com.android.library" ) {
49+ extensions.configure<LibraryExtension > {
50+ defaultConfig {
51+ compileSdk = libs.versions.compileSdk.get().toInt()
52+ minSdk = libs.versions.minSdk.get().toInt()
53+ lint.targetSdk = libs.versions.targetSdk.get().toInt()
54+ testOptions.targetSdk = libs.versions.targetSdk.get().toInt()
55+ }
56+ }
57+ }
58+ pluginManager.withPlugin(" com.android.application" ) {
59+ extensions.configure<ApplicationExtension > {
60+ defaultConfig {
61+ compileSdk = libs.versions.compileSdk.get().toInt()
62+ minSdk = libs.versions.minSdk.get().toInt()
63+ targetSdk = libs.versions.targetSdk.get().toInt()
64+ }
65+ }
66+ }
67+ }
68+
4169// License tasks
4270subprojects {
4371 apply (from = " ${rootDir} /gradle/scripts/coverage.gradle" )
@@ -76,4 +104,4 @@ subprojects {
76104 }
77105}
78106
79- apply (from = " ${rootDir} /scripts/publish-root.gradle" )
107+ apply (from = " ${rootDir} /scripts/publish-root.gradle" )
0 commit comments