diff --git a/plugins/kotlin/base/project-model/src/org/jetbrains/kotlin/idea/projectModel/KotlinSourceSet.kt b/plugins/kotlin/base/project-model/src/org/jetbrains/kotlin/idea/projectModel/KotlinSourceSet.kt index ac7db7a0ab2e..c6bd2b649ec0 100644 --- a/plugins/kotlin/base/project-model/src/org/jetbrains/kotlin/idea/projectModel/KotlinSourceSet.kt +++ b/plugins/kotlin/base/project-model/src/org/jetbrains/kotlin/idea/projectModel/KotlinSourceSet.kt @@ -8,6 +8,7 @@ interface KotlinSourceSet : KotlinComponent, HasMutableExtras { val languageSettings: KotlinLanguageSettings val sourceDirs: Set val resourceDirs: Set + val generatedKotlinDirs: Set val actualPlatforms: KotlinPlatformContainer /** @@ -46,11 +47,11 @@ interface KotlinSourceSet : KotlinComponent, HasMutableExtras { val androidSourceSetInfo: KotlinAndroidSourceSetInfo? companion object { - const val COMMON_MAIN_SOURCE_SET_NAME = "commonMain" - const val COMMON_TEST_SOURCE_SET_NAME = "commonTest" + const val COMMON_MAIN_SOURCE_SET_NAME: String = "commonMain" + const val COMMON_TEST_SOURCE_SET_NAME: String = "commonTest" // Note. This method could not be deleted due to usage in KotlinAndroidGradleMPPModuleDataService from IDEA Core @Suppress("unused") - fun commonName(forTests: Boolean) = if (forTests) COMMON_TEST_SOURCE_SET_NAME else COMMON_MAIN_SOURCE_SET_NAME + fun commonName(forTests: Boolean): String = if (forTests) COMMON_TEST_SOURCE_SET_NAME else COMMON_MAIN_SOURCE_SET_NAME } } diff --git a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/KotlinMppGradleProjectResolver.kt b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/KotlinMppGradleProjectResolver.kt index 57020412fb6f..ec7a988d2a51 100644 --- a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/KotlinMppGradleProjectResolver.kt +++ b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/KotlinMppGradleProjectResolver.kt @@ -203,3 +203,6 @@ internal val KotlinComponent.sourceType internal val KotlinComponent.resourceType get() = if (isTestComponent) ExternalSystemSourceType.TEST_RESOURCE else ExternalSystemSourceType.RESOURCE + +internal val KotlinComponent.generatedSourceType + get() = if (isTestComponent) ExternalSystemSourceType.TEST_GENERATED else ExternalSystemSourceType.SOURCE_GENERATED diff --git a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/KotlinSourceSetDataService.kt b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/KotlinSourceSetDataService.kt index c9868c864314..6702d8c194ee 100644 --- a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/KotlinSourceSetDataService.kt +++ b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/KotlinSourceSetDataService.kt @@ -310,7 +310,9 @@ private fun populateNonJvmSourceRootTypes(sourceSetNode: DataNode val sourcesRoots = contentRootDataList.flatMap { it.getPaths(externalType) } diff --git a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/mpp/moduleContentRoots.kt b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/mpp/moduleContentRoots.kt index 9cf56d774dcf..0a42b963ae45 100644 --- a/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/mpp/moduleContentRoots.kt +++ b/plugins/kotlin/gradle/gradle-java/src/org/jetbrains/kotlin/idea/gradleJava/configuration/mpp/moduleContentRoots.kt @@ -12,6 +12,7 @@ import org.gradle.tooling.model.idea.IdeaContentRoot import org.gradle.tooling.model.idea.IdeaModule import org.jetbrains.kotlin.idea.gradle.configuration.kotlinSourceSetData import org.jetbrains.kotlin.idea.gradleJava.configuration.KotlinMppGradleProjectResolver +import org.jetbrains.kotlin.idea.gradleJava.configuration.generatedSourceType import org.jetbrains.kotlin.idea.gradleJava.configuration.kotlinGradleProjectDataOrFail import org.jetbrains.kotlin.idea.gradleJava.configuration.mpp.KotlinMppGradleProjectResolverExtension.Result.Skip import org.jetbrains.kotlin.idea.gradleJava.configuration.resourceType @@ -55,6 +56,12 @@ internal fun KotlinMppGradleProjectResolver.Context.populateContentRoots( null, dataNode ) + createContentRootData( + sourceSet.generatedKotlinDirs, + sourceSet.generatedSourceType, + null, + dataNode, + ) extensionInstance.afterPopulateContentRoots(this, dataNode, sourceSet) } diff --git a/plugins/kotlin/gradle/gradle-tooling/impl/src/org/jetbrains/kotlin/idea/gradleTooling/KotlinMPPGradleModelImpl.kt b/plugins/kotlin/gradle/gradle-tooling/impl/src/org/jetbrains/kotlin/idea/gradleTooling/KotlinMPPGradleModelImpl.kt index 0b07266f9ce4..47eca182f082 100644 --- a/plugins/kotlin/gradle/gradle-tooling/impl/src/org/jetbrains/kotlin/idea/gradleTooling/KotlinMPPGradleModelImpl.kt +++ b/plugins/kotlin/gradle/gradle-tooling/impl/src/org/jetbrains/kotlin/idea/gradleTooling/KotlinMPPGradleModelImpl.kt @@ -43,6 +43,7 @@ class KotlinSourceSetImpl @OptIn(KotlinGradlePluginVersionDependentApi::class) c override val languageSettings: KotlinLanguageSettings, override val sourceDirs: Set, override val resourceDirs: Set, + override val generatedKotlinDirs: Set, override val regularDependencies: Array, override val intransitiveDependencies: Array, override val declaredDependsOnSourceSets: Set, @@ -62,6 +63,7 @@ class KotlinSourceSetImpl @OptIn(KotlinGradlePluginVersionDependentApi::class) c name = kotlinSourceSet.name, languageSettings = KotlinLanguageSettingsImpl(kotlinSourceSet.languageSettings), sourceDirs = kotlinSourceSet.sourceDirs.toMutableSet(), + generatedKotlinDirs = kotlinSourceSet.generatedKotlinDirs.toMutableSet(), resourceDirs = kotlinSourceSet.resourceDirs.toMutableSet(), regularDependencies = kotlinSourceSet.regularDependencies.clone(), intransitiveDependencies = kotlinSourceSet.intransitiveDependencies.clone(), @@ -74,7 +76,7 @@ class KotlinSourceSetImpl @OptIn(KotlinGradlePluginVersionDependentApi::class) c isTestComponent = kotlinSourceSet.isTestComponent ) - override fun toString() = name + override fun toString(): String = name init { require(allDependsOnSourceSets.containsAll(declaredDependsOnSourceSets)) { diff --git a/plugins/kotlin/gradle/gradle-tooling/impl/src/org/jetbrains/kotlin/idea/gradleTooling/builders/KotlinSourceSetBuilder.kt b/plugins/kotlin/gradle/gradle-tooling/impl/src/org/jetbrains/kotlin/idea/gradleTooling/builders/KotlinSourceSetBuilder.kt index bb5e779740ab..c2929dfb6c4e 100644 --- a/plugins/kotlin/gradle/gradle-tooling/impl/src/org/jetbrains/kotlin/idea/gradleTooling/builders/KotlinSourceSetBuilder.kt +++ b/plugins/kotlin/gradle/gradle-tooling/impl/src/org/jetbrains/kotlin/idea/gradleTooling/builders/KotlinSourceSetBuilder.kt @@ -45,6 +45,7 @@ internal class KotlinSourceSetBuilder( val sourceDirs = sourceSetReflection.kotlin?.srcDirs ?: emptySet() val resourceDirs = sourceSetReflection.resources?.srcDirs ?: emptySet() + val generatedKotlinDirs = sourceSetReflection.generatedSources?.srcDirs?.toSet() ?: emptySet() val dependsOnSourceSets = sourceSetReflection.dependsOn.map { it.name }.toSet() val additionalVisibleSourceSets = sourceSetReflection.additionalVisibleSourceSets.map { it.name }.toSet() @@ -87,6 +88,7 @@ internal class KotlinSourceSetBuilder( languageSettings = languageSettings, sourceDirs = sourceDirs, resourceDirs = resourceDirs, + generatedKotlinDirs = generatedKotlinDirs, regularDependencies = sourceSetDependencies, intransitiveDependencies = intransitiveSourceSetDependencies, declaredDependsOnSourceSets = dependsOnSourceSets.toMutableSet(), diff --git a/plugins/kotlin/gradle/gradle-tooling/tests/test/org/jetbrains/kotlin/gradle/createKotlinMPPGradleModel.kt b/plugins/kotlin/gradle/gradle-tooling/tests/test/org/jetbrains/kotlin/gradle/createKotlinMPPGradleModel.kt index 905136485ba2..f607d40ce4d0 100644 --- a/plugins/kotlin/gradle/gradle-tooling/tests/test/org/jetbrains/kotlin/gradle/createKotlinMPPGradleModel.kt +++ b/plugins/kotlin/gradle/gradle-tooling/tests/test/org/jetbrains/kotlin/gradle/createKotlinMPPGradleModel.kt @@ -81,6 +81,7 @@ internal fun createKotlinSourceSet( ), sourceDirs = emptySet(), resourceDirs = emptySet(), + generatedKotlinDirs = emptySet(), regularDependencies = emptyArray(), intransitiveDependencies = emptyArray(), declaredDependsOnSourceSets = declaredDependsOnSourceSets, diff --git a/plugins/kotlin/gradle/multiplatform-tests-k2/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/k2/KotlinMppGeneratedSourcesImportTest.kt b/plugins/kotlin/gradle/multiplatform-tests-k2/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/k2/KotlinMppGeneratedSourcesImportTest.kt new file mode 100644 index 000000000000..41fbfc234266 --- /dev/null +++ b/plugins/kotlin/gradle/multiplatform-tests-k2/test/org/jetbrains/kotlin/gradle/idea/importing/multiplatformTests/k2/KotlinMppGeneratedSourcesImportTest.kt @@ -0,0 +1,40 @@ +// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. +package org.jetbrains.kotlin.gradle.multiplatformTests + +import org.jetbrains.kotlin.gradle.multiplatformTests.testFeatures.checkers.contentRoots.ContentRootsChecker +import org.jetbrains.kotlin.test.TestMetadata +import org.jetbrains.plugins.gradle.tooling.annotation.PluginTargetVersions +import org.junit.Test + +@TestMetadata("multiplatform/core/features/generatedSources") +class KotlinMppGeneratedSourcesImportTest : AbstractKotlinMppGradleImportingTest() { + + override fun TestConfigurationDslScope.defaultTestConfiguration() { + onlyCheckers(ContentRootsChecker) + hideResourceRoots = true + } + + @Test + @PluginTargetVersions(pluginVersion = "2.3.0+", gradleVersion = "7.6+") + fun testGeneratedInCommonMain() { + doTest() + } + + @Test + @PluginTargetVersions(pluginVersion = "2.3.0+", gradleVersion = "7.6+") + fun testGeneratedInCommonTest() { + doTest() + } + + @Test + @PluginTargetVersions(pluginVersion = "2.3.0+", gradleVersion = "7.6+") + fun testGeneratedInJvmMain() { + doTest() + } + + @Test + @PluginTargetVersions(pluginVersion = "2.3.0+", gradleVersion = "7.6+") + fun testGeneratedInJvmTest() { + doTest() + } +} diff --git a/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonMain/build.gradle.kts b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonMain/build.gradle.kts new file mode 100644 index 000000000000..d9f6b015a59d --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonMain/build.gradle.kts @@ -0,0 +1,28 @@ +plugins { + kotlin("multiplatform") +} + +group = "com.example" +version = "1.0" + +kotlin { + jvm() + linuxX64() +} + +val generatorTask = project.tasks.register("generator") { + val outputDirectory = project.layout.projectDirectory.dir("src/commonMain/kotlinGen") + outputs.dir(outputDirectory) + doLast { + outputDirectory.file("generatedCommon.kt").asFile.writeText( + //language=kotlin + """ + fun printHello() { + println("hello") + } + """.trimIndent() + ) + } +} + +kotlin.sourceSets.getByName("commonMain").generatedKotlin.srcDir(generatorTask) \ No newline at end of file diff --git a/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonMain/settings.gradle.kts b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonMain/settings.gradle.kts new file mode 100644 index 000000000000..6fa79cc59e00 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonMain/settings.gradle.kts @@ -0,0 +1,17 @@ +pluginManagement { + repositories { + { { kts_kotlin_plugin_repositories } } + } + + plugins { + kotlin("multiplatform") version "{{kgp_version}}" + } +} + +dependencyResolutionManagement { + repositories { + { { kts_kotlin_plugin_repositories } } + } +} + +rootProject.name = "project" diff --git a/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonMain/source-roots.txt b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonMain/source-roots.txt new file mode 100644 index 000000000000..50c828b1d3c7 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonMain/source-roots.txt @@ -0,0 +1,39 @@ +MODULES +project + +project.commonMain + src/commonMain/kotlin + src/commonMain/kotlinGen + +project.commonTest + src/commonTest/kotlin (Test) + +project.jvmMain + src/jvmMain/java (Java) + src/jvmMain/kotlin (Java) + +project.jvmTest + src/jvmTest/java (Java, Test) + src/jvmTest/kotlin (Java, Test) + +project.linuxMain + src/linuxMain/kotlin + +project.linuxTest + src/linuxTest/kotlin (Test) + +project.linuxX64Main + src/linuxX64Main/kotlin + +project.linuxX64Test + src/linuxX64Test/kotlin (Test) + +project.nativeMain + src/nativeMain/kotlin + +project.nativeTest + src/nativeTest/kotlin (Test) + + +Test configuration: +- hiding following roots: resources, android-specific roots, generated diff --git a/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonTest/build.gradle.kts b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonTest/build.gradle.kts new file mode 100644 index 000000000000..fd3c546a2c85 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonTest/build.gradle.kts @@ -0,0 +1,28 @@ +plugins { + kotlin("multiplatform") +} + +group = "com.example" +version = "1.0" + +kotlin { + jvm() + linuxX64() +} + +val generatorTask = project.tasks.register("generator") { + val outputDirectory = project.layout.projectDirectory.dir("src/commonTest/kotlinGen") + outputs.dir(outputDirectory) + doLast { + outputDirectory.file("generatedCommon.kt").asFile.writeText( + //language=kotlin + """ + fun printHello() { + println("hello") + } + """.trimIndent() + ) + } +} + +kotlin.sourceSets.getByName("commonTest").generatedKotlin.srcDir(generatorTask) diff --git a/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonTest/settings.gradle.kts b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonTest/settings.gradle.kts new file mode 100644 index 000000000000..6fa79cc59e00 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonTest/settings.gradle.kts @@ -0,0 +1,17 @@ +pluginManagement { + repositories { + { { kts_kotlin_plugin_repositories } } + } + + plugins { + kotlin("multiplatform") version "{{kgp_version}}" + } +} + +dependencyResolutionManagement { + repositories { + { { kts_kotlin_plugin_repositories } } + } +} + +rootProject.name = "project" diff --git a/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonTest/source-roots.txt b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonTest/source-roots.txt new file mode 100644 index 000000000000..2c4f6bac7a17 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInCommonTest/source-roots.txt @@ -0,0 +1,39 @@ +MODULES +project + +project.commonMain + src/commonMain/kotlin + +project.commonTest + src/commonTest/kotlin (Test) + src/commonTest/kotlinGen (Test) + +project.jvmMain + src/jvmMain/java (Java) + src/jvmMain/kotlin (Java) + +project.jvmTest + src/jvmTest/java (Java, Test) + src/jvmTest/kotlin (Java, Test) + +project.linuxMain + src/linuxMain/kotlin + +project.linuxTest + src/linuxTest/kotlin (Test) + +project.linuxX64Main + src/linuxX64Main/kotlin + +project.linuxX64Test + src/linuxX64Test/kotlin (Test) + +project.nativeMain + src/nativeMain/kotlin + +project.nativeTest + src/nativeTest/kotlin (Test) + + +Test configuration: +- hiding following roots: resources, android-specific roots, generated diff --git a/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmMain/build.gradle.kts b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmMain/build.gradle.kts new file mode 100644 index 000000000000..91c1186e0b45 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmMain/build.gradle.kts @@ -0,0 +1,28 @@ +plugins { + kotlin("multiplatform") +} + +group = "com.example" +version = "1.0" + +kotlin { + jvm() + linuxX64() +} + +val generatorTask = project.tasks.register("generator") { + val outputDirectory = project.layout.projectDirectory.dir("src/jvmMain/kotlinGen") + outputs.dir(outputDirectory) + doLast { + outputDirectory.file("generatedCommon.kt").asFile.writeText( + //language=kotlin + """ + fun printHello() { + println("hello") + } + """.trimIndent() + ) + } +} + +kotlin.sourceSets.getByName("jvmMain").generatedKotlin.srcDir(generatorTask) diff --git a/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmMain/settings.gradle.kts b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmMain/settings.gradle.kts new file mode 100644 index 000000000000..6fa79cc59e00 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmMain/settings.gradle.kts @@ -0,0 +1,17 @@ +pluginManagement { + repositories { + { { kts_kotlin_plugin_repositories } } + } + + plugins { + kotlin("multiplatform") version "{{kgp_version}}" + } +} + +dependencyResolutionManagement { + repositories { + { { kts_kotlin_plugin_repositories } } + } +} + +rootProject.name = "project" diff --git a/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmMain/source-roots.txt b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmMain/source-roots.txt new file mode 100644 index 000000000000..d406ba8fd807 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmMain/source-roots.txt @@ -0,0 +1,39 @@ +MODULES +project + +project.commonMain + src/commonMain/kotlin + +project.commonTest + src/commonTest/kotlin (Test) + +project.jvmMain + src/jvmMain/java (Java) + src/jvmMain/kotlin (Java) + src/jvmMain/kotlinGen (Java) + +project.jvmTest + src/jvmTest/java (Java, Test) + src/jvmTest/kotlin (Java, Test) + +project.linuxMain + src/linuxMain/kotlin + +project.linuxTest + src/linuxTest/kotlin (Test) + +project.linuxX64Main + src/linuxX64Main/kotlin + +project.linuxX64Test + src/linuxX64Test/kotlin (Test) + +project.nativeMain + src/nativeMain/kotlin + +project.nativeTest + src/nativeTest/kotlin (Test) + + +Test configuration: +- hiding following roots: resources, android-specific roots, generated diff --git a/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmTest/build.gradle.kts b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmTest/build.gradle.kts new file mode 100644 index 000000000000..a8cf2e1111f7 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmTest/build.gradle.kts @@ -0,0 +1,28 @@ +plugins { + kotlin("multiplatform") +} + +group = "com.example" +version = "1.0" + +kotlin { + jvm() + linuxX64() +} + +val generatorTask = project.tasks.register("generator") { + val outputDirectory = project.layout.projectDirectory.dir("src/jvmTest/kotlinGen") + outputs.dir(outputDirectory) + doLast { + outputDirectory.file("generatedCommon.kt").asFile.writeText( + //language=kotlin + """ + fun printHello() { + println("hello") + } + """.trimIndent() + ) + } +} + +kotlin.sourceSets.getByName("jvmTest").generatedKotlin.srcDir(generatorTask) diff --git a/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmTest/settings.gradle.kts b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmTest/settings.gradle.kts new file mode 100644 index 000000000000..6fa79cc59e00 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmTest/settings.gradle.kts @@ -0,0 +1,17 @@ +pluginManagement { + repositories { + { { kts_kotlin_plugin_repositories } } + } + + plugins { + kotlin("multiplatform") version "{{kgp_version}}" + } +} + +dependencyResolutionManagement { + repositories { + { { kts_kotlin_plugin_repositories } } + } +} + +rootProject.name = "project" diff --git a/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmTest/source-roots.txt b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmTest/source-roots.txt new file mode 100644 index 000000000000..5d32cfe593b4 --- /dev/null +++ b/plugins/kotlin/idea/tests/testData/gradle/multiplatform/core/features/generatedSources/generatedInJvmTest/source-roots.txt @@ -0,0 +1,39 @@ +MODULES +project + +project.commonMain + src/commonMain/kotlin + +project.commonTest + src/commonTest/kotlin (Test) + +project.jvmMain + src/jvmMain/java (Java) + src/jvmMain/kotlin (Java) + +project.jvmTest + src/jvmTest/java (Java, Test) + src/jvmTest/kotlin (Java, Test) + src/jvmTest/kotlinGen (Java, Test) + +project.linuxMain + src/linuxMain/kotlin + +project.linuxTest + src/linuxTest/kotlin (Test) + +project.linuxX64Main + src/linuxX64Main/kotlin + +project.linuxX64Test + src/linuxX64Test/kotlin (Test) + +project.nativeMain + src/nativeMain/kotlin + +project.nativeTest + src/nativeTest/kotlin (Test) + + +Test configuration: +- hiding following roots: resources, android-specific roots, generated