Create Kotlin SDK for non-MPP JS projects
#KT-29467 Fixed
This commit is contained in:
-6
@@ -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> {
|
||||||
|
|||||||
Reference in New Issue
Block a user