update configuration style
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/externalAndroidTarget/AndroidLibraryWithJavaIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/externalAndroidTarget/AndroidLibraryWithJavaIT.kt index b550fa1..69931fb 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/externalAndroidTarget/AndroidLibraryWithJavaIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/android/externalAndroidTarget/AndroidLibraryWithJavaIT.kt
@@ -5,13 +5,15 @@ package org.jetbrains.kotlin.gradle.android.externalAndroidTarget +import com.android.build.api.dsl.KotlinMultiplatformAndroidLibraryTarget +import org.gradle.kotlin.dsl.kotlin import org.gradle.util.GradleVersion import org.jetbrains.kotlin.gradle.testbase.* import java.util.zip.ZipFile import kotlin.test.assertNotNull // Used AGP 9.0 as the minimal stable version supported for the android library -@AndroidTestVersions(minVersion = TestVersions.AGP.AGP_92) +@AndroidTestVersions(minVersion = TestVersions.AGP.AGP_90) @AndroidGradlePluginTests class AndroidLibraryWithJavaIT : KGPBaseTest() { @@ -28,7 +30,7 @@ androidVersion = androidVersion, jdkVersion = jdkVersion, namespace = "org.jetbrains.sample", - androidLibraryConfiguration = "withJava()", + withJava = true, ) { javaSourcesDir("androidMain").resolve("sample/JavaClass.java").apply { parent.toFile().mkdirs() @@ -113,7 +115,7 @@ androidVersion = androidVersion, jdkVersion = jdkVersion, namespace = "org.jetbrains.sample.nojava", - androidLibraryConfiguration = "withJava()", + withJava = true, ) { kotlinSourcesDir("androidMain").resolve("sample/OnlyKotlin.kt").apply { parent.toFile().mkdirs() @@ -142,7 +144,7 @@ androidVersion = androidVersion, jdkVersion = jdkVersion, namespace = "org.jetbrains.sample.shared", - androidLibraryConfiguration = "withJava()", + withJava = true, ) { buildScriptInjection { kotlinMultiplatform.apply { @@ -218,7 +220,7 @@ androidVersion = androidVersion, jdkVersion = jdkVersion, namespace = "org.jetbrains.sample.expectactual", - androidLibraryConfiguration = "withJava()", + withJava = true, ) { kotlinSourcesDir("commonMain").resolve("sample/PlatformGreeter.kt").apply { parent.toFile().mkdirs() @@ -281,10 +283,10 @@ androidVersion = androidVersion, jdkVersion = jdkVersion, namespace = "org.jetbrains.sample.hosttest", - androidLibraryConfiguration = """ - withJava() + withJava = true, + androidLibraryConfiguration = { withHostTest {} - """.trimIndent(), + }, ) { buildScriptInjection { kotlinMultiplatform.apply { @@ -344,10 +346,10 @@ androidVersion = androidVersion, jdkVersion = jdkVersion, namespace = "org.jetbrains.sample.devicetest", - androidLibraryConfiguration = """ - withJava() + withJava = true, + androidLibraryConfiguration = { withDeviceTest {} - """.trimIndent(), + }, ) { buildScriptInjection { kotlinMultiplatform.apply { @@ -383,7 +385,8 @@ androidVersion: String, jdkVersion: JdkVersions.ProvidedJdk, namespace: String, - androidLibraryConfiguration: String = "", + withJava: Boolean = false, + androidLibraryConfiguration: KotlinMultiplatformAndroidLibraryTarget.() -> Unit = {}, configureProject: TestProject.() -> Unit = {}, ): TestProject = project( "empty", @@ -391,23 +394,20 @@ buildOptions = defaultBuildOptions.copy(androidVersion = androidVersion), buildJdk = jdkVersion.location, ) { - buildGradle.toFile().delete() - buildGradleKts.toFile().writeText( - """ - plugins { - kotlin("multiplatform") - id("com.android.kotlin.multiplatform.library") - } - - kotlin { - androidLibrary { - compileSdk = 34 - namespace = "$namespace" - ${androidLibraryConfiguration.trim().prependIndent(" ")} + plugins { + kotlin("multiplatform") + id("com.android.kotlin.multiplatform.library") + } + buildScriptInjection { + kotlinMultiplatform.apply { + targets.withType(KotlinMultiplatformAndroidLibraryTarget::class.java).configureEach { target -> + target.compileSdk = 34 + target.namespace = namespace + if (withJava) target.withJava() + target.androidLibraryConfiguration() } } - """.trimIndent() - ) + } configureProject() }