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()