diff --git a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinMPPGradleProjectResolver.kt b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinMPPGradleProjectResolver.kt index b06dca05f6b..23f7dad71c6 100644 --- a/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinMPPGradleProjectResolver.kt +++ b/idea/idea-gradle/src/org/jetbrains/kotlin/idea/configuration/KotlinMPPGradleProjectResolver.kt @@ -852,7 +852,7 @@ open class KotlinMPPGradleProjectResolver : AbstractProjectResolverExtension() { gradleModule: IdeaModule, resolverCtx: ProjectResolverContext ): KotlinSourceSetInfo? { - if (sourceSet.actualPlatforms.platforms.filter { !it.isNotSupported() }.isEmpty()) return null + if (sourceSet.actualPlatforms.platforms.none { !it.isNotSupported() }) return null return KotlinSourceSetInfo(sourceSet).also { info -> val languageSettings = sourceSet.languageSettings info.moduleId = getKotlinModuleId(gradleModule, sourceSet, resolverCtx) diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt index 74b1d77b95d..7142e4de649 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/MultiplatformTestCompatibilityMatrix.kt @@ -5,9 +5,11 @@ package org.jetbrains.kotlin.gradle +import org.jetbrains.kotlin.idea.codeInsight.gradle.MultiplePluginVersionGradleImportingTestCase.Companion.MINIMAL_SUPPORTED_VERSION + //BUNCH 181 fun MultiplatformProjectImportingTest.shouldRunTest(kotlinPluginVersion: String, gradleVersion: String): Boolean { - return true + return MINIMAL_SUPPORTED_VERSION == kotlinPluginVersion } fun NewMultiplatformProjectImportingTest.shouldRunTest(kotlinPluginVersion: String, gradleVersion: String): Boolean { diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt index 8319e5280ff..6cac7b9e562 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/gradle/NewMultiplatformProjectImportingTest.kt @@ -55,6 +55,13 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin apiVersion("1.3") when (module.name) { "project", "app", "lib" -> additionalArguments(null) + "app_jvmMain", "app_jvmTest", "lib_jvmMain", "lib_jvmTest" -> + additionalArguments( + if (gradleKotlinPluginVersion == MINIMAL_SUPPORTED_VERSION) + "-version" + else + "-Xallow-no-source-files" + ) else -> additionalArguments("-version") } } @@ -292,6 +299,9 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin libraryDependency("Gradle: org.hamcrest:hamcrest-core:1.3@jar", DependencyScope.TEST) libraryDependency("Gradle: org.hamcrest:hamcrest-integration:1.3@jar", DependencyScope.TEST) libraryDependency("Gradle: org.hamcrest:hamcrest-library:1.3@jar", DependencyScope.TEST) + if (gradleKotlinPluginVersion != MINIMAL_SUPPORTED_VERSION) { + libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-android-extensions-runtime:${kotlinVersion()}@jar", DependencyScope.COMPILE) + } libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}@jar", DependencyScope.COMPILE) libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:${kotlinVersion()}@jar", DependencyScope.COMPILE) libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion()}@jar", DependencyScope.COMPILE) @@ -332,10 +342,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin sourceFolder("shared/src/androidTest/kotlin", JavaSourceRootType.TEST_SOURCE) sourceFolder("shared/src/androidTest/resources", JavaResourceRootType.TEST_RESOURCE) } - var nativeVersion = when (gradleKotlinPluginVersion) { - MINIMAL_SUPPORTED_VERSION -> "1.3.10" - else -> "1.3.20" - } + var nativeVersion = kotlinVersion() module("shared_iOSMain") { libraryDependency("Kotlin/Native $nativeVersion - stdlib", DependencyScope.PROVIDED) libraryDependency("Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:${kotlinVersion()}", DependencyScope.COMPILE) diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/MultiplePluginVersionGradleImportingTestCase.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/MultiplePluginVersionGradleImportingTestCase.kt index 51d6801bcfd..dd1836b9c17 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/MultiplePluginVersionGradleImportingTestCase.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/MultiplePluginVersionGradleImportingTestCase.kt @@ -24,7 +24,7 @@ abstract class MultiplePluginVersionGradleImportingTestCase : GradleImportingTes companion object { const val MINIMAL_SUPPORTED_VERSION = "minimal"// minimal supported version - private val KOTLIN_GRADLE_PLUGIN_VERSIONS = listOf(MINIMAL_SUPPORTED_VERSION, "1.3.20") + private val KOTLIN_GRADLE_PLUGIN_VERSIONS = listOf(MINIMAL_SUPPORTED_VERSION, "1.3.50") @JvmStatic @Parameterized.Parameters(name = "{index}: Gradle-{0}, KotlinGradlePlugin-{1}") diff --git a/idea/testData/gradle/newMultiplatformImport/androidDependencyOnMPP/shared/build.gradle b/idea/testData/gradle/newMultiplatformImport/androidDependencyOnMPP/shared/build.gradle index 019abc4b10d..8d98ac33ed9 100644 --- a/idea/testData/gradle/newMultiplatformImport/androidDependencyOnMPP/shared/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/androidDependencyOnMPP/shared/build.gradle @@ -5,7 +5,6 @@ kotlin { fromPreset(presets.jvm, 'android') fromPreset(presets.iosArm64, 'iOS') { - compilations.main.outputKinds('FRAMEWORK') } } diff --git a/idea/testData/gradle/newMultiplatformImport/importBeforeBuild/build.gradle b/idea/testData/gradle/newMultiplatformImport/importBeforeBuild/build.gradle index a389ec507eb..6dadd848e12 100644 --- a/idea/testData/gradle/newMultiplatformImport/importBeforeBuild/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/importBeforeBuild/build.gradle @@ -10,26 +10,6 @@ allprojects { } } -project('library1') { - apply plugin: 'kotlin-multiplatform' - - kotlin { targets { fromPreset(presets.jvm, 'jvm') } } -} -project('library2') { - apply plugin: 'kotlin-multiplatform' - - kotlin { - targets { fromPreset(presets.jvm, 'jvm') } - - sourceSets { - jvmMain { - dependencies { - implementation project(':library1') - } - } - } - } -} project('java-project') { apply plugin: 'java' diff --git a/idea/testData/gradle/newMultiplatformImport/importBeforeBuild/library1/build.gradle b/idea/testData/gradle/newMultiplatformImport/importBeforeBuild/library1/build.gradle new file mode 100644 index 00000000000..858bcbbc234 --- /dev/null +++ b/idea/testData/gradle/newMultiplatformImport/importBeforeBuild/library1/build.gradle @@ -0,0 +1,6 @@ +apply plugin: 'kotlin-multiplatform' + +kotlin { + targets { fromPreset(presets.jvm, 'jvm') } +} + diff --git a/idea/testData/gradle/newMultiplatformImport/importBeforeBuild/library2/build.gradle b/idea/testData/gradle/newMultiplatformImport/importBeforeBuild/library2/build.gradle new file mode 100644 index 00000000000..7d161e6adcf --- /dev/null +++ b/idea/testData/gradle/newMultiplatformImport/importBeforeBuild/library2/build.gradle @@ -0,0 +1,14 @@ +apply plugin: 'kotlin-multiplatform' + +kotlin { + targets { fromPreset(presets.jvm, 'jvm') } + + sourceSets { + jvmMain { + dependencies { + implementation project(':library1') + } + } + } +} + diff --git a/idea/testData/gradle/newMultiplatformImport/platformToCommonExpByInComposite/toInclude/build.gradle b/idea/testData/gradle/newMultiplatformImport/platformToCommonExpByInComposite/toInclude/build.gradle index 034c6d431ea..acfc6ddc68f 100644 --- a/idea/testData/gradle/newMultiplatformImport/platformToCommonExpByInComposite/toInclude/build.gradle +++ b/idea/testData/gradle/newMultiplatformImport/platformToCommonExpByInComposite/toInclude/build.gradle @@ -11,6 +11,12 @@ buildscript { } } +repositories { + mavenCentral() + jcenter() + maven { url 'https://dl.bintray.com/kotlin/kotlin-dev' } +} + apply plugin: 'kotlin-multiplatform'