diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index bab66bb3add..0ab1df9c565 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -92,6 +92,12 @@
+
+
+
+
+
+
@@ -114,6 +120,12 @@
+
+
+
+
+
+
@@ -234,6 +246,12 @@
+
+
+
+
+
+
@@ -256,6 +274,12 @@
+
+
+
+
+
+
@@ -288,6 +312,12 @@
+
+
+
+
+
+
@@ -330,6 +360,12 @@
+
+
+
+
+
+
@@ -372,6 +408,12 @@
+
+
+
+
+
+
@@ -414,6 +456,12 @@
+
+
+
+
+
+
@@ -452,6 +500,12 @@
+
+
+
+
+
+
@@ -494,6 +548,12 @@
+
+
+
+
+
+
@@ -536,6 +596,12 @@
+
+
+
+
+
+
@@ -558,6 +624,12 @@
+
+
+
+
+
+
@@ -590,6 +662,12 @@
+
+
+
+
+
+
@@ -622,6 +700,12 @@
+
+
+
+
+
+
@@ -654,6 +738,12 @@
+
+
+
+
+
+
@@ -676,6 +766,12 @@
+
+
+
+
+
+
@@ -686,6 +782,12 @@
+
+
+
+
+
+
@@ -724,6 +826,12 @@
+
+
+
+
+
+
@@ -752,6 +860,12 @@
+
+
+
+
+
+
@@ -806,6 +920,12 @@
+
+
+
+
+
+
@@ -854,6 +974,12 @@
+
+
+
+
+
+
@@ -896,6 +1022,12 @@
+
+
+
+
+
+
@@ -918,6 +1050,12 @@
+
+
+
+
+
+
@@ -966,6 +1104,12 @@
+
+
+
+
+
+
@@ -1004,6 +1148,12 @@
+
+
+
+
+
+
@@ -1072,6 +1222,12 @@
+
+
+
+
+
+
@@ -1168,6 +1324,12 @@
+
+
+
+
+
+
@@ -1246,6 +1408,12 @@
+
+
+
+
+
+
@@ -1298,6 +1466,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1406,6 +1622,12 @@
+
+
+
+
+
+
@@ -1442,6 +1664,12 @@
+
+
+
+
+
+
@@ -1478,6 +1706,12 @@
+
+
+
+
+
+
@@ -1494,6 +1728,12 @@
+
+
+
+
+
+
@@ -1510,6 +1750,12 @@
+
+
+
+
+
+
@@ -1536,6 +1782,12 @@
+
+
+
+
+
+
@@ -1558,6 +1810,12 @@
+
+
+
+
+
+
@@ -1657,6 +1915,12 @@
+
+
+
+
+
+
@@ -1667,6 +1931,12 @@
+
+
+
+
+
+
@@ -1737,6 +2007,12 @@
+
+
+
+
+
+
@@ -1877,6 +2153,12 @@
+
+
+
+
+
+
@@ -2073,6 +2355,12 @@
+
+
+
+
+
+
@@ -2778,6 +3066,12 @@
+
+
+
+
+
+
@@ -2818,6 +3112,12 @@
+
+
+
+
+
+
@@ -3240,6 +3540,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -3992,6 +4334,12 @@
+
+
+
+
+
+
@@ -4004,6 +4352,12 @@
+
+
+
+
+
+
@@ -4016,6 +4370,12 @@
+
+
+
+
+
+
@@ -4028,6 +4388,12 @@
+
+
+
+
+
+
@@ -4040,6 +4406,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4058,6 +4436,12 @@
+
+
+
+
+
+
@@ -4070,6 +4454,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -4082,6 +4478,12 @@
+
+
+
+
+
+
@@ -4112,6 +4514,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -5135,6 +5549,12 @@
+
+
+
+
+
+
@@ -5267,6 +5687,12 @@
+
+
+
+
+
+
@@ -6199,6 +6625,12 @@
+
+
+
+
+
+
@@ -6301,6 +6733,12 @@
+
+
+
+
+
+
@@ -6979,6 +7417,12 @@
+
+
+
+
+
+
@@ -6995,6 +7439,12 @@
+
+
+
+
+
+
@@ -7264,6 +7714,12 @@
+
+
+
+
+
+
@@ -7282,6 +7738,12 @@
+
+
+
+
+
+
@@ -8773,6 +9235,12 @@
+
+
+
+
+
+
@@ -8882,6 +9350,7 @@
+
@@ -9039,6 +9508,12 @@
+
+
+
+
+
+
@@ -9081,6 +9556,12 @@
+
+
+
+
+
+
@@ -9127,6 +9608,12 @@
+
+
+
+
+
+
@@ -9191,6 +9678,12 @@
+
+
+
+
+
+
@@ -9223,6 +9716,12 @@
+
+
+
+
+
+
@@ -9849,6 +10348,12 @@
+
+
+
+
+
+
diff --git a/libraries/tools/kotlin-gradle-plugin/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin/build.gradle.kts
index ae20259daeb..51f13f30e24 100644
--- a/libraries/tools/kotlin-gradle-plugin/build.gradle.kts
+++ b/libraries/tools/kotlin-gradle-plugin/build.gradle.kts
@@ -1,7 +1,7 @@
-import org.jetbrains.dokka.gradle.DokkaTask
-import org.jetbrains.kotlin.pill.PillExtension
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import com.github.jengelman.gradle.plugins.shadow.transformers.DontIncludeResourceTransformer
+import org.jetbrains.dokka.gradle.DokkaTask
+import org.jetbrains.kotlin.pill.PillExtension
plugins {
id("gradle-plugin-common-configuration")
@@ -91,13 +91,13 @@ dependencies {
}
if (!kotlinBuildProperties.isInJpsBuildIdeaSync) {
- "functionalTestImplementation"("com.android.tools.build:gradle:4.0.1") {
- because("Functional tests are using APIs from Android. Latest Version is used to avoid NoClassDefFoundError")
- }
- "functionalTestImplementation"(gradleKotlinDsl())
- "functionalTestImplementation"(project(":kotlin-gradle-plugin-kpm-android"))
- "functionalTestImplementation"(project(":kotlin-tooling-metadata"))
- "functionalTestImplementation"(testFixtures(project(":kotlin-gradle-plugin-idea")))
+ val functionalTestImplementation by configurations.getting
+ functionalTestImplementation("com.android.tools.build:gradle:7.2.1")
+ functionalTestImplementation("com.android.tools.build:gradle-api:7.2.1")
+ functionalTestImplementation(gradleKotlinDsl())
+ functionalTestImplementation(project(":kotlin-gradle-plugin-kpm-android"))
+ functionalTestImplementation(project(":kotlin-tooling-metadata"))
+ functionalTestImplementation(testFixtures(project(":kotlin-gradle-plugin-idea")))
}
testCompileOnly(project(":compiler"))
@@ -115,6 +115,12 @@ dependencies {
testImplementation(project(":kotlin-tooling-metadata"))
}
+tasks.withType().named("functionalTest").configure {
+ javaLauncher.set(javaToolchains.launcherFor {
+ languageVersion.set(JavaLanguageVersion.of(11))
+ })
+}
+
if (kotlinBuildProperties.isInJpsBuildIdeaSync) {
configurations.commonApi.get().exclude("com.android.tools.external.com-intellij", "intellij-core")
}
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/ConfigurationsTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/ConfigurationsTest.kt
index 9ea106cd6db..f370817997b 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/ConfigurationsTest.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/ConfigurationsTest.kt
@@ -162,7 +162,7 @@ class ConfigurationsTest : MultiplatformExtensionTest() {
fun `test compilation and source set configurations don't clash`() {
val project = buildProjectWithMPP {
androidLibrary {
- compileSdkVersion(30)
+ compileSdk = 30
}
kotlin {
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/JvmAndAndroidIntermediateSourceSetTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/JvmAndAndroidIntermediateSourceSetTest.kt
index d840ca3cc1a..ac61da85feb 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/JvmAndAndroidIntermediateSourceSetTest.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/JvmAndAndroidIntermediateSourceSetTest.kt
@@ -36,7 +36,7 @@ class JvmAndAndroidIntermediateSourceSetTest {
/* Arbitrary minimal Android setup */
val android = project.extensions.getByName("android") as LibraryExtension
- android.compileSdkVersion(30)
+ android.compileSdk = 31
/* Kotlin Setup */
kotlin = project.multiplatformExtension
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/KT41641AbsentAndroidTarget.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/KT41641AbsentAndroidTarget.kt
index 21415f63c72..c571cad54c7 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/KT41641AbsentAndroidTarget.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/KT41641AbsentAndroidTarget.kt
@@ -22,7 +22,7 @@ class KT41641AbsentAndroidTarget : MultiplatformExtensionTest() {
/* Arbitrary minimal Android setup */
val android = project.extensions.getByName("android") as LibraryExtension
- android.compileSdkVersion(30)
+ android.compileSdk = 31
kotlin.jvm()
@@ -38,7 +38,7 @@ class KT41641AbsentAndroidTarget : MultiplatformExtensionTest() {
/* Arbitrary minimal Android setup */
val android = project.extensions.getByName("android") as LibraryExtension
- android.compileSdkVersion(30)
+ android.compileSdk = 31
kotlin.jvm()
@@ -62,7 +62,7 @@ class KT41641AbsentAndroidTarget : MultiplatformExtensionTest() {
/* Arbitrary minimal Android setup */
val android = project.extensions.getByName("android") as LibraryExtension
- android.compileSdkVersion(30)
+ android.compileSdk = 31
kotlin.jvm()
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/KotlinAndroidDependsOnEdgesTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/KotlinAndroidDependsOnEdgesTest.kt
index 3d6fd1e5386..6ae92793d52 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/KotlinAndroidDependsOnEdgesTest.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/KotlinAndroidDependsOnEdgesTest.kt
@@ -26,7 +26,7 @@ class KotlinAndroidDependsOnEdgesTest {
/* Arbitrary minimal Android setup */
val android = project.extensions.getByName("android") as LibraryExtension
- android.compileSdkVersion(30)
+ android.compileSdk = 31
/* Minimal MPP setup */
val kotlin = project.kotlinExtension as KotlinMultiplatformExtension
@@ -66,7 +66,7 @@ class KotlinAndroidDependsOnEdgesTest {
/* Arbitrary minimal Android setup */
val android = project.extensions.getByName("android") as LibraryExtension
- android.compileSdkVersion(30)
+ android.compileSdk = 31
/* Custom MPP setup */
val kotlin = project.kotlinExtension as KotlinMultiplatformExtension
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/KotlinMultiplatformAndroidGradlePluginCompatibilityHealthCheckTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/KotlinMultiplatformAndroidGradlePluginCompatibilityHealthCheckTest.kt
index d4dcc2fd061..6f021a764e5 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/KotlinMultiplatformAndroidGradlePluginCompatibilityHealthCheckTest.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/KotlinMultiplatformAndroidGradlePluginCompatibilityHealthCheckTest.kt
@@ -222,6 +222,7 @@ class KotlinMultiplatformAndroidGradlePluginCompatibilityHealthCheckTest {
/* Not yet, executed, because Android is not applied yet */
assertNoWarningMessage()
+ addBuildEventsListenerRegistryMock(project)
project.plugins.apply(LibraryPlugin::class.java)
assertEquals(Messages.FAILED_GETTING_ANDROID_GRADLE_PLUGIN_VERSION_STRING, assertSingleWarningMessage())
}
@@ -229,6 +230,7 @@ class KotlinMultiplatformAndroidGradlePluginCompatibilityHealthCheckTest {
@Test
fun `test - WhenAndroidIsApplied - android is applied before the health check call`() {
val project = ProjectBuilder.builder().build()
+ addBuildEventsListenerRegistryMock(project)
project.plugins.apply(LibraryPlugin::class.java)
project.runMultiplatformAndroidGradlePluginCompatibilityHealthCheckWhenAndroidIsApplied(
@@ -241,6 +243,7 @@ class KotlinMultiplatformAndroidGradlePluginCompatibilityHealthCheckTest {
@Test
fun `test - WhenAndroidIsApplied - called multiple times - still emits only a single message`() {
val project = ProjectBuilder.builder().build()
+ addBuildEventsListenerRegistryMock(project)
project.plugins.apply(LibraryPlugin::class.java)
repeat(10) {
@@ -277,6 +280,7 @@ class KotlinMultiplatformAndroidGradlePluginCompatibilityHealthCheckTest {
@Test
fun `test - is not executed when android plugin is applied - kotlin-android plugin`() {
val project = ProjectBuilder.builder().build()
+ addBuildEventsListenerRegistryMock(project)
project.plugins.apply("kotlin-android")
project.plugins.apply(LibraryPlugin::class.java)
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/WhenEvaluatedAndroidOrderingTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/WhenEvaluatedAndroidOrderingTest.kt
index df3366aeb47..fc1ee9cfe80 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/WhenEvaluatedAndroidOrderingTest.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/WhenEvaluatedAndroidOrderingTest.kt
@@ -66,6 +66,6 @@ class WhenEvaluatedAndroidOrderingTest {
private fun Project.applyAndroidLibraryPlugin() {
project.plugins.apply("android-library")
val android = project.extensions.getByName("android") as LibraryExtension
- android.compileSdkVersion(30)
+ android.compileSdk = 31
}
}
\ No newline at end of file
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/buildEventListenerRegistry.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/buildEventListenerRegistry.kt
index 865b4b170d6..c48094e5202 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/buildEventListenerRegistry.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/buildEventListenerRegistry.kt
@@ -18,6 +18,7 @@ import java.util.concurrent.atomic.AtomicReference
/**
* In Gradle 6.7-rc-1 BuildEventsListenerRegistry service is not created in we need it in order
* to instantiate AGP. This creates a fake one and injects it - http://b/168630734.
+ * https://github.com/gradle/gradle/issues/16774 (Waiting for Gradle 7.5)
*/
internal fun addBuildEventsListenerRegistryMock(project: Project) {
try {
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/BuildKotlinToolingMetadataTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/BuildKotlinToolingMetadataTest.kt
index 8c93b33e65b..cc919bdbb9d 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/BuildKotlinToolingMetadataTest.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/BuildKotlinToolingMetadataTest.kt
@@ -5,6 +5,7 @@
package org.jetbrains.kotlin.gradle.kpm
+import com.android.build.api.dsl.ApplicationExtension
import com.android.build.gradle.BaseExtension
import org.gradle.api.JavaVersion
import org.gradle.api.Project
@@ -99,10 +100,10 @@ class KotlinToolingMetadataWithModelMappingTest {
project.plugins.apply("com.android.application")
project.plugins.apply("kotlin-multiplatform")
- val android = project.extensions.getByType(BaseExtension::class.java)
+ val android = project.extensions.getByType(ApplicationExtension::class.java)
val kotlin = multiplatformExtension
- android.compileSdkVersion(28)
+ android.compileSdk = 31
kotlin.android()
kotlin.jvm()
kotlin.js {
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/idea/MviKotlinIdeaDependencyResolutionTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/idea/MviKotlinIdeaDependencyResolutionTest.kt
index f6b54de3e41..c93c53034c4 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/idea/MviKotlinIdeaDependencyResolutionTest.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/kpm/idea/MviKotlinIdeaDependencyResolutionTest.kt
@@ -10,6 +10,7 @@ package org.jetbrains.kotlin.gradle.kpm.idea
import com.android.build.gradle.LibraryExtension
import com.android.build.gradle.LibraryPlugin
import org.jetbrains.kotlin.commonizer.stdlib
+import org.jetbrains.kotlin.gradle.addBuildEventsListenerRegistryMock
import org.jetbrains.kotlin.gradle.android.androidPrototype
import org.jetbrains.kotlin.gradle.assumeAndroidSdkAvailable
import org.jetbrains.kotlin.gradle.kpm.applyKpmPlugin
@@ -179,9 +180,10 @@ class MviKotlinIdeaDependencyResolutionTest : AbstractLightweightIdeaDependencyR
val project = buildProject()
/* Setup Android */
+ addBuildEventsListenerRegistryMock(project)
project.plugins.apply(LibraryPlugin::class.java)
val android = project.extensions.getByType(LibraryExtension::class.java)
- android.compileSdkVersion(30)
+ android.compileSdk = 31
val kotlin = project.applyKpmPlugin {
diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/sources/android/MultiplatformAndroidSourceSetLayoutV1Test.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/sources/android/MultiplatformAndroidSourceSetLayoutV1Test.kt
index b8003566cc5..97dc27623e9 100644
--- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/sources/android/MultiplatformAndroidSourceSetLayoutV1Test.kt
+++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/sources/android/MultiplatformAndroidSourceSetLayoutV1Test.kt
@@ -99,10 +99,10 @@ class MultiplatformAndroidSourceSetLayoutV1Test {
fun `two product flavor dimensions`() {
android.flavorDimensions("pricing", "releaseType")
android.productFlavors {
- it.create("beta").dimension = "releaseType"
- it.create("production").dimension = "releaseType"
- it.create("free").dimension = "pricing"
- it.create("paid").dimension = "pricing"
+ create("beta").dimension = "releaseType"
+ create("production").dimension = "releaseType"
+ create("free").dimension = "pricing"
+ create("paid").dimension = "pricing"
}
kotlin.android()
project.evaluate()