Create Kotlin SDK for non-MPP JS projects

#KT-29467 Fixed
This commit is contained in:
Andrey Uskov
2019-02-07 15:17:38 +03:00
parent 8063c6511c
commit b3593e87c0
2 changed files with 2 additions and 6 deletions
@@ -26,7 +26,6 @@ import org.jetbrains.kotlin.gradle.KotlinModule
import org.jetbrains.kotlin.gradle.KotlinPlatform import org.jetbrains.kotlin.gradle.KotlinPlatform
import org.jetbrains.kotlin.gradle.KotlinSourceSet import org.jetbrains.kotlin.gradle.KotlinSourceSet
import org.jetbrains.kotlin.idea.facet.* import org.jetbrains.kotlin.idea.facet.*
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
import org.jetbrains.kotlin.idea.inspections.gradle.findAll import org.jetbrains.kotlin.idea.inspections.gradle.findAll
import org.jetbrains.kotlin.idea.inspections.gradle.findKotlinPluginVersion import org.jetbrains.kotlin.idea.inspections.gradle.findKotlinPluginVersion
import org.jetbrains.kotlin.idea.platform.IdePlatformKindTooling import org.jetbrains.kotlin.idea.platform.IdePlatformKindTooling
@@ -44,7 +43,6 @@ class KotlinSourceSetDataService : AbstractProjectDataService<GradleSourceSetDat
project: Project, project: Project,
modelsProvider: IdeModifiableModelsProvider modelsProvider: IdeModifiableModelsProvider
) { ) {
var hasKotlinSourceRootTypes = false
for (nodeToImport in toImport) { for (nodeToImport in toImport) {
val mainModuleData = ExternalSystemApiUtil.findParent( val mainModuleData = ExternalSystemApiUtil.findParent(
nodeToImport, nodeToImport,
@@ -58,7 +56,6 @@ class KotlinSourceSetDataService : AbstractProjectDataService<GradleSourceSetDat
if (platform != KotlinPlatform.JVM && platform != KotlinPlatform.ANDROID) { if (platform != KotlinPlatform.JVM && platform != KotlinPlatform.ANDROID) {
migrateNonJvmSourceFolders(rootModel) migrateNonJvmSourceFolders(rootModel)
hasKotlinSourceRootTypes = true
} }
configureFacet(sourceSetData, kotlinSourceSet, mainModuleData, ideModule, modelsProvider)?.let { facet -> configureFacet(sourceSetData, kotlinSourceSet, mainModuleData, ideModule, modelsProvider)?.let { facet ->
@@ -69,9 +66,6 @@ class KotlinSourceSetDataService : AbstractProjectDataService<GradleSourceSetDat
assignTestScope(rootModel) assignTestScope(rootModel)
} }
} }
if (hasKotlinSourceRootTypes) {
KotlinSdkType.setUpIfNeeded()
}
} }
private fun assignTestScope(rootModel: ModifiableRootModel) { private fun assignTestScope(rootModel: ModifiableRootModel) {
@@ -22,6 +22,7 @@ import org.jetbrains.jps.model.module.JpsModuleSourceRoot
import org.jetbrains.jps.model.module.JpsModuleSourceRootType import org.jetbrains.jps.model.module.JpsModuleSourceRootType
import org.jetbrains.kotlin.config.KotlinResourceRootType import org.jetbrains.kotlin.config.KotlinResourceRootType
import org.jetbrains.kotlin.config.KotlinSourceRootType import org.jetbrains.kotlin.config.KotlinSourceRootType
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
private fun JpsModuleSourceRoot.getOrCreateProperties() = private fun JpsModuleSourceRoot.getOrCreateProperties() =
getProperties(rootType)?.also { (it as? JpsElementBase<*>)?.setParent(null) } ?: rootType.createDefaultProperties() getProperties(rootType)?.also { (it as? JpsElementBase<*>)?.setParent(null) } ?: rootType.createDefaultProperties()
@@ -48,6 +49,7 @@ fun migrateNonJvmSourceFolders(modifiableRootModel: ModifiableRootModel) {
contentEntry.addSourceFolder(url, newSourceRootType, properties) contentEntry.addSourceFolder(url, newSourceRootType, properties)
} }
} }
KotlinSdkType.setUpIfNeeded()
} }
fun getKotlinAwareDestinationSourceRoots(project: Project): List<VirtualFile> { fun getKotlinAwareDestinationSourceRoots(project: Project): List<VirtualFile> {