1+ import com.android.build.api.dsl.ApplicationExtension
2+ import com.android.build.gradle.LibraryExtension
13import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
24import io.getstream.chat.android.Dependencies
35import io.getstream.chat.android.command.changelog.task.ChangelogReleaseSectionTask
@@ -19,6 +21,9 @@ plugins {
1921 alias(libs.plugins.google.services) apply false
2022 alias(libs.plugins.firebase.crashlytics) apply false
2123 alias(libs.plugins.spotless) apply false
24+ alias(libs.plugins.stream.android.library) apply false
25+ alias(libs.plugins.stream.android.application) apply false
26+ alias(libs.plugins.stream.java.library) apply false
2227 alias(libs.plugins.detekt) apply false
2328 alias(libs.plugins.shot) apply false
2429 alias(libs.plugins.androidx.navigation) apply false
@@ -52,10 +57,31 @@ apply(from = "${rootDir}/scripts/sonar.gradle")
5257apply (from = " ${rootDir} /scripts/coverage.gradle" )
5358
5459subprojects {
55- if (name != " stream-chat-android-docs"
56- && buildFile.exists()) {
60+ if (name != " stream-chat-android-docs" && buildFile.exists()) {
5761 apply (from = " ${rootDir} /spotless/spotless.gradle" )
5862 }
63+
64+ // Configure Android projects with common SDK versions as soon as either plugin is applied
65+ pluginManager.withPlugin(" com.android.library" ) {
66+ extensions.configure<LibraryExtension > {
67+ defaultConfig {
68+ compileSdk = libs.versions.compileSdk.get().toInt()
69+ minSdk = libs.versions.minSdk.get().toInt()
70+ lint.targetSdk = libs.versions.targetSdk.get().toInt()
71+ testOptions.targetSdk = libs.versions.targetSdk.get().toInt()
72+ }
73+ }
74+ }
75+ pluginManager.withPlugin(" com.android.application" ) {
76+ extensions.configure<ApplicationExtension > {
77+ defaultConfig {
78+ compileSdk = libs.versions.compileSdk.get().toInt()
79+ minSdk = libs.versions.minSdk.get().toInt()
80+ targetSdk = libs.versions.targetSdk.get().toInt()
81+ }
82+ }
83+ }
84+
5985 apply (plugin = " io.gitlab.arturbosch.detekt" )
6086}
6187
@@ -70,7 +96,7 @@ tasks.withType<VersionPrintTask> {
7096}
7197
7298tasks.withType<UnitTestsTask > {
73- config.outputPath = " build/tmp/unit-tests-command.sh"
99+ config.outputPath = " build/tmp/unit-tests-command.sh"
74100}
75101
76102tasks.withType<ReleaseTask > {
@@ -103,7 +129,7 @@ apiValidation {
103129 )
104130
105131 nonPublicMarkers + = listOf (
106- " io.getstream.chat.android.core.internal.InternalStreamChatApi" ,
132+ " io.getstream.chat.android.core.internal.InternalStreamChatApi" ,
107133 )
108134}
109135
0 commit comments