as40: Fix KotlinDslScriptModelProvider and KotlinDslScriptModelResolver for AS 4.0 C7
This commit is contained in:
+11
-15
@@ -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
|
||||||
}
|
}
|
||||||
+1
-1
@@ -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>) {
|
||||||
|
|||||||
Reference in New Issue
Block a user