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.jvm
|
||||
|
||||
class KotlinGradleBuildScriptsDataService : AbstractProjectDataService<GradleSourceSetData, Void>() {
|
||||
override fun getTargetDataKey(): Key<GradleSourceSetData> = GradleSourceSetData.KEY
|
||||
class KotlinGradleBuildScriptsDataService : AbstractProjectDataService<ProjectData, Void>() {
|
||||
override fun getTargetDataKey(): Key<ProjectData> = ProjectKeys.PROJECT
|
||||
|
||||
override fun onSuccessImport(
|
||||
imported: MutableCollection<DataNode<GradleSourceSetData>>,
|
||||
imported: MutableCollection<DataNode<ProjectData>>,
|
||||
projectData: ProjectData?,
|
||||
project: Project,
|
||||
modelsProvider: IdeModelsProvider
|
||||
) {
|
||||
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 gradleSettings = ExternalSystemApiUtil.getSettings(project, GradleConstants.SYSTEM_ID)
|
||||
|
||||
Reference in New Issue
Block a user