From ebd4867aff5d6035a2c00debf181051bbcba3482 Mon Sep 17 00:00:00 2001 From: Andrey Uskov Date: Wed, 9 Jan 2019 13:27:21 +0300 Subject: [PATCH] Fix scope detection for MPP projects #KT-27718 Fixed #KT-28626 Fixed Original commit: a9df9b22e97c9f6c9f96b61609890ad996ed13d9 --- .../kotlin/config/KotlinResourceRootType.kt | 4 ++- .../config/KotlinResourceRootType.kt.182 | 25 +++++++++++++++++ .../config/KotlinResourceRootType.kt.as34 | 25 +++++++++++++++++ .../kotlin/config/KotlinSourceRootType.kt | 2 ++ .../kotlin/config/KotlinSourceRootType.kt.182 | 28 +++++++++++++++++++ .../config/KotlinSourceRootType.kt.as34 | 28 +++++++++++++++++++ 6 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 jps/jps-common/src/org/jetbrains/kotlin/config/KotlinResourceRootType.kt.182 create mode 100644 jps/jps-common/src/org/jetbrains/kotlin/config/KotlinResourceRootType.kt.as34 create mode 100644 jps/jps-common/src/org/jetbrains/kotlin/config/KotlinSourceRootType.kt.182 create mode 100644 jps/jps-common/src/org/jetbrains/kotlin/config/KotlinSourceRootType.kt.as34 diff --git a/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinResourceRootType.kt b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinResourceRootType.kt index 0a2bc5272df..b9172990487 100644 --- a/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinResourceRootType.kt +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinResourceRootType.kt @@ -12,7 +12,7 @@ import org.jetbrains.jps.model.java.JpsJavaExtensionService import org.jetbrains.jps.model.module.JpsModuleSourceRootType sealed class KotlinResourceRootType(val isTest: Boolean) : JpsElementTypeBase(), - JpsModuleSourceRootType, KotlinRootType { + JpsModuleSourceRootType, KotlinRootType { object Resource : KotlinResourceRootType(false) object TestResource : KotlinResourceRootType(true) @@ -21,5 +21,7 @@ sealed class KotlinResourceRootType(val isTest: Boolean) : JpsElementTypeBase(), + JpsModuleSourceRootType, KotlinRootType { + object Resource : KotlinResourceRootType(false) + object TestResource : KotlinResourceRootType(true) + + override fun createDefaultProperties() = + JpsJavaExtensionService.getInstance().createResourceRootProperties("", false) + + override fun isTestRoot() = isTest + + override fun equals(other: Any?) = if (super.equals(other)) true else isSameRootType(this, other) +} \ No newline at end of file diff --git a/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinResourceRootType.kt.as34 b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinResourceRootType.kt.as34 new file mode 100644 index 00000000000..fff8d020dea --- /dev/null +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinResourceRootType.kt.as34 @@ -0,0 +1,25 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.config + +import org.jetbrains.jps.model.ex.JpsElementTypeBase +import org.jetbrains.jps.model.java.JavaResourceRootProperties +import org.jetbrains.jps.model.java.JavaResourceRootType +import org.jetbrains.jps.model.java.JpsJavaExtensionService +import org.jetbrains.jps.model.module.JpsModuleSourceRootType + +sealed class KotlinResourceRootType(val isTest: Boolean) : JpsElementTypeBase(), + JpsModuleSourceRootType, KotlinRootType { + object Resource : KotlinResourceRootType(false) + object TestResource : KotlinResourceRootType(true) + + override fun createDefaultProperties() = + JpsJavaExtensionService.getInstance().createResourceRootProperties("", false) + + override fun isTestRoot() = isTest + + override fun equals(other: Any?) = if (super.equals(other)) true else isSameRootType(this, other) +} \ No newline at end of file diff --git a/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinSourceRootType.kt b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinSourceRootType.kt index d6b6b689287..8b5b3d94565 100644 --- a/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinSourceRootType.kt +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinSourceRootType.kt @@ -23,6 +23,8 @@ sealed class KotlinSourceRootType(val isTest: Boolean) : JpsElementTypeBase(), JpsModuleSourceRootType, KotlinRootType { + object Source : KotlinSourceRootType(false) + object TestSource : KotlinSourceRootType(true) + + override fun createDefaultProperties() = JpsJavaExtensionService.getInstance().createSourceRootProperties("") + + companion object { + val ALL_SOURCES = setOf(Source, TestSource) + } + + override fun isTestRoot() = isTest + + override fun equals(other: Any?) = if (super.equals(other)) true else isSameRootType(this, other) +} + diff --git a/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinSourceRootType.kt.as34 b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinSourceRootType.kt.as34 new file mode 100644 index 00000000000..d6b6b689287 --- /dev/null +++ b/jps/jps-common/src/org/jetbrains/kotlin/config/KotlinSourceRootType.kt.as34 @@ -0,0 +1,28 @@ +/* + * Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license + * that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.config + +import org.jetbrains.jps.model.ex.JpsElementTypeBase +import org.jetbrains.jps.model.java.JavaSourceRootProperties +import org.jetbrains.jps.model.java.JavaSourceRootType +import org.jetbrains.jps.model.java.JpsJavaExtensionService +import org.jetbrains.jps.model.module.JpsModuleSourceRootType + +sealed class KotlinSourceRootType(val isTest: Boolean) : JpsElementTypeBase(), JpsModuleSourceRootType, KotlinRootType { + object Source : KotlinSourceRootType(false) + object TestSource : KotlinSourceRootType(true) + + override fun createDefaultProperties() = JpsJavaExtensionService.getInstance().createSourceRootProperties("") + + companion object { + val ALL_SOURCES = setOf(Source, TestSource) + } + + override fun isTestRoot() = isTest + + override fun equals(other: Any?) = if (super.equals(other)) true else isSameRootType(this, other) +} +