gradle.kts: script models should be imported in ProjectData key, not in GradleSourceSetData
Or it will be fail if there is no source sets (see org.jetbrains.kotlin.idea.codeInsight.gradle.GradleKtsImportTest.testEmpty for reproduction)
This commit is contained in:
+4
-4
@@ -40,18 +40,18 @@ import kotlin.script.experimental.jvm.JvmDependency
|
|||||||
import kotlin.script.experimental.jvm.jdkHome
|
import kotlin.script.experimental.jvm.jdkHome
|
||||||
import kotlin.script.experimental.jvm.jvm
|
import kotlin.script.experimental.jvm.jvm
|
||||||
|
|
||||||
class KotlinGradleBuildScriptsDataService : AbstractProjectDataService<GradleSourceSetData, Void>() {
|
class KotlinGradleBuildScriptsDataService : AbstractProjectDataService<ProjectData, Void>() {
|
||||||
override fun getTargetDataKey(): Key<GradleSourceSetData> = GradleSourceSetData.KEY
|
override fun getTargetDataKey(): Key<ProjectData> = ProjectKeys.PROJECT
|
||||||
|
|
||||||
override fun onSuccessImport(
|
override fun onSuccessImport(
|
||||||
imported: MutableCollection<DataNode<GradleSourceSetData>>,
|
imported: MutableCollection<DataNode<ProjectData>>,
|
||||||
projectData: ProjectData?,
|
projectData: ProjectData?,
|
||||||
project: Project,
|
project: Project,
|
||||||
modelsProvider: IdeModelsProvider
|
modelsProvider: IdeModelsProvider
|
||||||
) {
|
) {
|
||||||
super.onSuccessImport(imported, projectData, project, modelsProvider)
|
super.onSuccessImport(imported, projectData, project, modelsProvider)
|
||||||
|
|
||||||
val projectDataNode = imported.firstNotNullResult { ExternalSystemApiUtil.findParent(it, ProjectKeys.PROJECT) } ?: return
|
val projectDataNode = imported.singleOrNull() ?: return
|
||||||
val buildScripts = projectDataNode.gradleKotlinBuildScripts ?: return
|
val buildScripts = projectDataNode.gradleKotlinBuildScripts ?: return
|
||||||
|
|
||||||
val gradleSettings = ExternalSystemApiUtil.getSettings(project, GradleConstants.SYSTEM_ID)
|
val gradleSettings = ExternalSystemApiUtil.getSettings(project, GradleConstants.SYSTEM_ID)
|
||||||
|
|||||||
Reference in New Issue
Block a user