as40: Fix KotlinDslScriptModelProvider and KotlinDslScriptModelResolver for AS 4.0 C7

This commit is contained in:
Vyacheslav Gerasimov
2019-12-25 20:17:00 +03:00
parent 68f1d91e1b
commit 89a259837f
2 changed files with 12 additions and 16 deletions
@@ -6,32 +6,28 @@
package org.jetbrains.kotlin.idea.scripting.gradle.importing package org.jetbrains.kotlin.idea.scripting.gradle.importing
import org.gradle.tooling.BuildController import org.gradle.tooling.BuildController
import org.gradle.tooling.model.idea.IdeaModule import org.gradle.tooling.model.Model
import org.gradle.tooling.model.idea.IdeaProject import org.gradle.tooling.model.gradle.GradleBuild
import org.gradle.tooling.model.kotlin.dsl.KotlinDslScriptsModel import org.gradle.tooling.model.kotlin.dsl.KotlinDslScriptsModel
import org.jetbrains.plugins.gradle.model.ProjectImportExtraModelProvider import org.jetbrains.plugins.gradle.model.ProjectImportModelProvider
class KotlinDslScriptModelProvider : ProjectImportExtraModelProvider { class KotlinDslScriptModelProvider : ProjectImportModelProvider {
private val kotlinDslScriptModelClass: Class<*> = KotlinDslScriptsModel::class.java private val kotlinDslScriptModelClass: Class<*> = KotlinDslScriptsModel::class.java
override fun populateBuildModels( override fun populateBuildModels(
controller: BuildController, controller: BuildController,
project: IdeaProject, gradleBuild: GradleBuild,
consumer: ProjectImportExtraModelProvider.BuildModelConsumer consumer: ProjectImportModelProvider.BuildModelConsumer
) { ) {
project.modules.forEach { module -> val model = controller.findModel(gradleBuild.rootProject, kotlinDslScriptModelClass)
if (module.gradleProject.parent == null) { if (model != null) {
val model = controller.findModel(module.gradleProject, kotlinDslScriptModelClass) consumer.consume(gradleBuild, model, kotlinDslScriptModelClass)
if (model != null) {
consumer.consume(module, model, kotlinDslScriptModelClass)
}
}
} }
} }
override fun populateProjectModels( override fun populateProjectModels(
controller: BuildController, controller: BuildController,
module: IdeaModule?, model: Model,
modelConsumer: ProjectImportExtraModelProvider.ProjectModelConsumer modelConsumer: ProjectImportModelProvider.ProjectModelConsumer
) = Unit ) = Unit
} }
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.idea.scripting.gradle.kotlinDslScriptsModelImportSup
import org.jetbrains.plugins.gradle.model.Build import org.jetbrains.plugins.gradle.model.Build
class KotlinDslScriptModelResolver : KotlinDslScriptModelResolverCommon() { class KotlinDslScriptModelResolver : KotlinDslScriptModelResolverCommon() {
override fun getExtraModelProvider() = KotlinDslScriptModelProvider() override fun getModelProvider() = KotlinDslScriptModelProvider()
override fun requiresTaskRunning() = true override fun requiresTaskRunning() = true
override fun populateProjectExtraModels(gradleProject: IdeaProject, ideProject: DataNode<ProjectData>) { override fun populateProjectExtraModels(gradleProject: IdeaProject, ideProject: DataNode<ProjectData>) {