Revert "Populate Kotlin source set roots with KotlinSourceRootTypes"
This reverts commit e2634190
This commit is contained in:
-2
@@ -30,7 +30,6 @@ 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
|
||||||
import org.jetbrains.kotlin.idea.roots.migrateNonJvmSourceFolders
|
import org.jetbrains.kotlin.idea.roots.migrateNonJvmSourceFolders
|
||||||
import org.jetbrains.kotlin.idea.roots.populateNonJvmSourceRootTypes
|
|
||||||
import org.jetbrains.kotlin.platform.TargetPlatform
|
import org.jetbrains.kotlin.platform.TargetPlatform
|
||||||
import org.jetbrains.kotlin.platform.impl.JvmIdePlatformKind
|
import org.jetbrains.kotlin.platform.impl.JvmIdePlatformKind
|
||||||
import org.jetbrains.kotlin.platform.impl.NativeIdePlatformKind
|
import org.jetbrains.kotlin.platform.impl.NativeIdePlatformKind
|
||||||
@@ -62,7 +61,6 @@ class KotlinSourceSetDataService : AbstractProjectDataService<GradleSourceSetDat
|
|||||||
|
|
||||||
if (platform.platforms.any { it != KotlinPlatform.JVM && it != KotlinPlatform.ANDROID }) {
|
if (platform.platforms.any { it != KotlinPlatform.JVM && it != KotlinPlatform.ANDROID }) {
|
||||||
migrateNonJvmSourceFolders(rootModel)
|
migrateNonJvmSourceFolders(rootModel)
|
||||||
populateNonJvmSourceRootTypes(nodeToImport, ideModule)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
configureFacet(sourceSetData, kotlinSourceSet, mainModuleData, ideModule, modelsProvider)?.let { facet ->
|
configureFacet(sourceSetData, kotlinSourceSet, mainModuleData, ideModule, modelsProvider)?.let { facet ->
|
||||||
|
|||||||
@@ -5,12 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.idea.roots
|
package org.jetbrains.kotlin.idea.roots
|
||||||
|
|
||||||
import com.intellij.openapi.externalSystem.model.DataNode
|
|
||||||
import com.intellij.openapi.externalSystem.model.ProjectKeys
|
|
||||||
import com.intellij.openapi.externalSystem.model.project.ContentRootData
|
|
||||||
import com.intellij.openapi.externalSystem.model.project.ExternalSystemSourceType
|
|
||||||
import com.intellij.openapi.externalSystem.service.project.manage.SourceFolderManager
|
|
||||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
|
||||||
import com.intellij.openapi.module.Module
|
import com.intellij.openapi.module.Module
|
||||||
import com.intellij.openapi.module.ModuleManager
|
import com.intellij.openapi.module.ModuleManager
|
||||||
import com.intellij.openapi.project.Project
|
import com.intellij.openapi.project.Project
|
||||||
@@ -19,14 +13,11 @@ import com.intellij.openapi.roots.ModifiableRootModel
|
|||||||
import com.intellij.openapi.roots.ModuleRootManager
|
import com.intellij.openapi.roots.ModuleRootManager
|
||||||
import com.intellij.openapi.roots.ProjectRootManager
|
import com.intellij.openapi.roots.ProjectRootManager
|
||||||
import com.intellij.openapi.roots.SourceFolder
|
import com.intellij.openapi.roots.SourceFolder
|
||||||
import com.intellij.openapi.util.io.FileUtil
|
|
||||||
import com.intellij.openapi.vfs.NonPhysicalFileSystem
|
import com.intellij.openapi.vfs.NonPhysicalFileSystem
|
||||||
import com.intellij.openapi.vfs.VirtualFile
|
import com.intellij.openapi.vfs.VirtualFile
|
||||||
import com.intellij.openapi.vfs.VirtualFileManager
|
|
||||||
import com.intellij.psi.PsiCodeFragment
|
import com.intellij.psi.PsiCodeFragment
|
||||||
import com.intellij.psi.PsiFile
|
import com.intellij.psi.PsiFile
|
||||||
import com.intellij.util.containers.ContainerUtil
|
import com.intellij.util.containers.ContainerUtil
|
||||||
import com.intellij.util.io.URLUtil
|
|
||||||
import org.jetbrains.jps.model.JpsElement
|
import org.jetbrains.jps.model.JpsElement
|
||||||
import org.jetbrains.jps.model.ex.JpsElementBase
|
import org.jetbrains.jps.model.ex.JpsElementBase
|
||||||
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes
|
import org.jetbrains.jps.model.java.JavaModuleSourceRootTypes
|
||||||
@@ -37,7 +28,6 @@ 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.*
|
import org.jetbrains.kotlin.config.*
|
||||||
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
||||||
import org.jetbrains.plugins.gradle.model.data.GradleSourceSetData
|
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
private fun JpsModuleSourceRoot.getOrCreateProperties() =
|
private fun JpsModuleSourceRoot.getOrCreateProperties() =
|
||||||
@@ -69,29 +59,6 @@ fun migrateNonJvmSourceFolders(modifiableRootModel: ModifiableRootModel) {
|
|||||||
KotlinSdkType.setUpIfNeeded()
|
KotlinSdkType.setUpIfNeeded()
|
||||||
}
|
}
|
||||||
|
|
||||||
private val ContentRootData.SourceRoot.pathAsUrl
|
|
||||||
get() = VirtualFileManager.constructUrl(URLUtil.FILE_PROTOCOL, FileUtil.toSystemIndependentName(path))
|
|
||||||
|
|
||||||
fun populateNonJvmSourceRootTypes(sourceSetNode: DataNode<GradleSourceSetData>, module: Module) {
|
|
||||||
val sourceFolderManager = SourceFolderManager.getInstance(module.project)
|
|
||||||
val contentRootDataNodes = ExternalSystemApiUtil.findAll(sourceSetNode, ProjectKeys.CONTENT_ROOT)
|
|
||||||
val contentRootDataList = contentRootDataNodes.mapNotNull { it.data }
|
|
||||||
if (contentRootDataList.isEmpty()) return
|
|
||||||
|
|
||||||
val externalToKotlinSourceTypes = mapOf(
|
|
||||||
ExternalSystemSourceType.SOURCE to SourceKotlinRootType,
|
|
||||||
ExternalSystemSourceType.TEST to TestSourceKotlinRootType
|
|
||||||
)
|
|
||||||
externalToKotlinSourceTypes.forEach { (externalType, kotlinType) ->
|
|
||||||
val sourcesRoots = contentRootDataList.flatMap { it.getPaths(externalType) }
|
|
||||||
sourcesRoots.forEach {
|
|
||||||
if (!FileUtil.exists(it.path)) {
|
|
||||||
sourceFolderManager.addSourceFolder(module, it.pathAsUrl, kotlinType)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun getKotlinAwareDestinationSourceRoots(project: Project): List<VirtualFile> {
|
fun getKotlinAwareDestinationSourceRoots(project: Project): List<VirtualFile> {
|
||||||
return ModuleManager.getInstance(project).modules.flatMap { it.collectKotlinAwareDestinationSourceRoots() }
|
return ModuleManager.getInstance(project).modules.flatMap { it.collectKotlinAwareDestinationSourceRoots() }
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user