diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt index 02ef08a541b..4fb9d2daf52 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt3IT.kt @@ -950,13 +950,28 @@ open class Kapt3IT : Kapt3BaseIT() { } } - @DisplayName("kapt works with old MPP") + @DisplayName("Kapt with MPP/Jvm") @GradleTest open fun testMPPKaptPresence(gradleVersion: GradleVersion) { - project("mpp-kapt-presence".withPrefix, gradleVersion) { + project( + "mpp-kapt-presence".withPrefix, + gradleVersion, + buildOptions = defaultBuildOptions.copy(logLevel = LogLevel.DEBUG) + ) { - build("build") { - assertTasksExecuted(":dac:jdk:kaptGenerateStubsKotlin", ":dac:jdk:compileKotlin") + build(":dac:compileKotlinJvm") { + assertTasksExecuted( + ":dac:kaptGenerateStubsKotlinJvm", + ":dac:kaptKotlinJvm", + ":dac:compileKotlinJvm" + ) + + // KT-61622: checking if kapt tasks are getting common sources in default configuration + val commonSources = arrayOf( + "src/commonMain/kotlin/DocumentationService.kt", + "src/commonMain/kotlin/Item.kt", + ) + assertCompilerArguments(":dac:kaptGenerateStubsKotlinJvm", *commonSources) } } } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt4IT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt4IT.kt index 1baca6c5c45..36777428921 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt4IT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kapt4IT.kt @@ -36,9 +36,6 @@ class Kapt4IT : Kapt3IT() { @Disabled("Doesn't make sense in Kapt 4") override fun testRepeatableAnnotationsWithOldJvmBackend(gradleVersion: GradleVersion) {} - - @Disabled("Doesn't work in 2.0. Neither with Kapt 3 nor with Kapt 4") - override fun testMPPKaptPresence(gradleVersion: GradleVersion) {} } @DisplayName("Kapt 4 with classloaders cache") diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/build.gradle index 4117c3ba0ef..2efb4c7eb3b 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/build.gradle @@ -1,24 +1,6 @@ -buildscript { - ext.deps = [ - 'kotlin': [ - 'stdlib': [ - 'common': "org.jetbrains.kotlin:kotlin-stdlib-common:$kotlin_version", - 'jdk': "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" - ] - ], - 'other' : [ - 'ap_example': "org.jetbrains.kotlin:annotation-processor-example:$kotlin_version" - ] - ] - - repositories { - mavenLocal() - mavenCentral() - } - - dependencies { - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } +plugins { + id "org.jetbrains.kotlin.multiplatform" apply false + id "org.jetbrains.kotlin.kapt" apply false } allprojects { diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/build.gradle index 6d1b81f5189..ac59bd70c9d 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/build.gradle +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/build.gradle @@ -1,5 +1,15 @@ -apply plugin: 'org.jetbrains.kotlin.platform.common' +plugins { + id "org.jetbrains.kotlin.multiplatform" + id "org.jetbrains.kotlin.kapt" +} + +kotlin { + compilerOptions.freeCompilerArgs.add("-Xexpect-actual-classes") + jvm { + withJava() + } +} dependencies { - implementation deps.kotlin.stdlib.common + kapt "org.jetbrains.kotlin:annotation-processor-example:$kotlin_version" } diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/jdk/build.gradle b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/jdk/build.gradle deleted file mode 100644 index d74da0fe0fd..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/jdk/build.gradle +++ /dev/null @@ -1,11 +0,0 @@ -apply plugin: 'org.jetbrains.kotlin.platform.jvm' -apply plugin: 'kotlin-kapt' - -sourceCompatibility = JavaVersion.VERSION_1_8 -targetCompatibility = JavaVersion.VERSION_1_8 - -dependencies { - expectedBy project(':dac') - implementation deps.kotlin.stdlib.jdk - kapt deps.other.ap_example -} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/jdk/src/main/kotlin/DocumentationService.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/jdk/src/main/kotlin/DocumentationService.kt deleted file mode 100644 index 1b356018e2f..00000000000 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/jdk/src/main/kotlin/DocumentationService.kt +++ /dev/null @@ -1,5 +0,0 @@ -package test.abc - -actual interface DocumentationService { - actual fun list(): List -} diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/src/main/kotlin/DocumentationService.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/src/commonMain/kotlin/DocumentationService.kt similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/src/main/kotlin/DocumentationService.kt rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/src/commonMain/kotlin/DocumentationService.kt diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/src/main/kotlin/Item.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/src/commonMain/kotlin/Item.kt similarity index 100% rename from libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/src/main/kotlin/Item.kt rename to libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/src/commonMain/kotlin/Item.kt diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/src/jvmMain/kotlin/DocumentationService.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/src/jvmMain/kotlin/DocumentationService.kt new file mode 100644 index 00000000000..74bc72611e7 --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/resources/testProject/kapt2/mpp-kapt-presence/dac/src/jvmMain/kotlin/DocumentationService.kt @@ -0,0 +1,10 @@ +/* + * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package test.abc + +actual interface DocumentationService { + actual fun list(): List +}