Scripting: check that kotlin dsl models are provided during import as soon as possible
This commit is contained in:
+5
-4
@@ -52,6 +52,7 @@ class KotlinGradleBuildScriptsDataService : AbstractProjectDataService<GradleSou
|
|||||||
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.firstNotNullResult { ExternalSystemApiUtil.findParent(it, ProjectKeys.PROJECT) } ?: return
|
||||||
|
val buildScripts = projectDataNode.gradleKotlinBuildScripts ?: return
|
||||||
|
|
||||||
val gradleSettings = ExternalSystemApiUtil.getSettings(project, GradleConstants.SYSTEM_ID)
|
val gradleSettings = ExternalSystemApiUtil.getSettings(project, GradleConstants.SYSTEM_ID)
|
||||||
val projectSettings = gradleSettings.getLinkedProjectSettings(projectData?.linkedExternalProjectPath ?: return) ?: return
|
val projectSettings = gradleSettings.getLinkedProjectSettings(projectData?.linkedExternalProjectPath ?: return) ?: return
|
||||||
@@ -62,9 +63,9 @@ class KotlinGradleBuildScriptsDataService : AbstractProjectDataService<GradleSou
|
|||||||
)
|
)
|
||||||
val javaHome = File(gradleExeSettings.javaHome ?: return)
|
val javaHome = File(gradleExeSettings.javaHome ?: return)
|
||||||
|
|
||||||
val files = mutableListOf<Pair<VirtualFile, ScriptConfigurationSnapshot>>()
|
val scriptConfigurations = mutableListOf<Pair<VirtualFile, ScriptConfigurationSnapshot>>()
|
||||||
|
|
||||||
projectDataNode.gradleKotlinBuildScripts?.forEach { buildScript ->
|
buildScripts.forEach { buildScript ->
|
||||||
val scriptFile = File(buildScript.file)
|
val scriptFile = File(buildScript.file)
|
||||||
val virtualFile = VfsUtil.findFile(scriptFile.toPath(), true)!!
|
val virtualFile = VfsUtil.findFile(scriptFile.toPath(), true)!!
|
||||||
|
|
||||||
@@ -81,7 +82,7 @@ class KotlinGradleBuildScriptsDataService : AbstractProjectDataService<GradleSou
|
|||||||
ide.dependenciesSources(JvmDependency(buildScript.sourcePath.map { File(it) }))
|
ide.dependenciesSources(JvmDependency(buildScript.sourcePath.map { File(it) }))
|
||||||
}.adjustByDefinition(definition)
|
}.adjustByDefinition(definition)
|
||||||
|
|
||||||
files.add(
|
scriptConfigurations.add(
|
||||||
Pair(
|
Pair(
|
||||||
virtualFile,
|
virtualFile,
|
||||||
ScriptConfigurationSnapshot(
|
ScriptConfigurationSnapshot(
|
||||||
@@ -100,7 +101,7 @@ class KotlinGradleBuildScriptsDataService : AbstractProjectDataService<GradleSou
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
project.service<ScriptConfigurationManager>().saveCompilationConfigurationAfterImport(files)
|
project.service<ScriptConfigurationManager>().saveCompilationConfigurationAfterImport(scriptConfigurations)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun addBuildScriptDiagnosticMessage(
|
private fun addBuildScriptDiagnosticMessage(
|
||||||
|
|||||||
Reference in New Issue
Block a user