mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-390110 [gradle] fix: remove non-model classes from getExtraProjectModelClasses
KotlinTarget, IdeaKotlinDependency, and Extras are not Gradle tooling models — they have no model builders and are never fetched by the IDE. Registering them in getExtraProjectModelClasses() is a no-op at best and misleading at worst. (cherry picked from commit 7f9b7f92f44eedb0c9d1b86ea1b8801ad1de26b4) IJ-CR-214557 GitOrigin-RevId: 46abece72862bb680302363bd51bee40a6ed52ac
This commit is contained in:
committed by
intellij-monorepo-bot
parent
0b87b7a8af
commit
4d0abf70d6
+6
-7
@@ -32,7 +32,6 @@ import org.jetbrains.kotlin.idea.gradleJava.configuration.mpp.populateModuleDepe
|
||||
import org.jetbrains.kotlin.idea.gradleJava.configuration.mpp.populateMppModuleDataNode
|
||||
import org.jetbrains.kotlin.idea.gradleJava.configuration.utils.KotlinModuleUtils.getKotlinModuleId
|
||||
import org.jetbrains.kotlin.idea.gradleTooling.KotlinMPPGradleModel
|
||||
import org.jetbrains.kotlin.idea.gradleTooling.KotlinMPPGradleModelBuilder
|
||||
import org.jetbrains.kotlin.idea.gradleTooling.KotlinMPPGradleModelImpl
|
||||
import org.jetbrains.kotlin.idea.projectModel.KotlinCompilation
|
||||
import org.jetbrains.kotlin.idea.projectModel.KotlinComponent
|
||||
@@ -60,16 +59,16 @@ open class KotlinMppGradleProjectResolver : AbstractProjectResolverExtension() {
|
||||
val moduleDataNode: DataNode<ModuleData>
|
||||
}
|
||||
|
||||
override fun getToolingExtensionsClasses(): Set<Class<out Any>> {
|
||||
override fun getToolingExtensionsClasses(): Set<Class<*>> {
|
||||
return setOf(
|
||||
KotlinMPPGradleModelBuilder::class.java, KotlinTarget::class.java,
|
||||
IdeaKotlinDependency::class.java, Extras::class.java, Unit::class.java
|
||||
KotlinMPPGradleModel::class.java, // Module: intellij.kotlin.gradle.tooling.impl
|
||||
KotlinTarget::class.java, // Module: intellij.kotlin.base.project-model
|
||||
IdeaKotlinDependency::class.java, // Library: kotlin-gradle-plugin-idea
|
||||
Extras::class.java // Library: kotlin-tooling-core
|
||||
)
|
||||
}
|
||||
|
||||
override fun getExtraProjectModelClasses(): Set<Class<out Any>> {
|
||||
return setOf(KotlinMPPGradleModel::class.java, KotlinTarget::class.java, IdeaKotlinDependency::class.java, Extras::class.java)
|
||||
}
|
||||
override fun getExtraProjectModelClasses(): Set<Class<*>> = setOf(KotlinMPPGradleModel::class.java)
|
||||
|
||||
override fun getExtraCommandLineArgs(): List<String> =
|
||||
/**
|
||||
|
||||
+6
-4
@@ -14,7 +14,6 @@ import com.intellij.platform.diagnostic.telemetry.helpers.use
|
||||
import org.gradle.tooling.model.idea.IdeaModule
|
||||
import org.jetbrains.kotlin.idea.gradleJava.configuration.getMppModel
|
||||
import org.jetbrains.kotlin.idea.gradleTooling.KotlinMPPGradleModel
|
||||
import org.jetbrains.kotlin.idea.gradleTooling.KotlinMPPGradleModelBuilder
|
||||
import org.jetbrains.kotlin.idea.projectModel.KotlinTarget
|
||||
import org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension
|
||||
import org.jetbrains.plugins.gradle.util.GradleConstants
|
||||
@@ -26,9 +25,12 @@ open class KotlinTestTasksResolver : AbstractProjectResolverExtension() {
|
||||
internal const val ENABLED_REGISTRY_KEY = "kotlin.gradle.testing.enabled"
|
||||
}
|
||||
|
||||
override fun getToolingExtensionsClasses(): Set<Class<out Any>> {
|
||||
return setOf(KotlinMPPGradleModelBuilder::class.java, KotlinTarget::class.java, Unit::class.java)
|
||||
}
|
||||
override fun getToolingExtensionsClasses(): Set<Class<*>> = setOf(
|
||||
KotlinMPPGradleModel::class.java, // Module: intellij.kotlin.gradle.tooling.impl
|
||||
KotlinTarget::class.java, // Module: intellij.kotlin.base.project-model
|
||||
)
|
||||
|
||||
override fun getExtraProjectModelClasses(): Set<Class<*>> = setOf(KotlinMPPGradleModel::class.java)
|
||||
|
||||
override fun populateModuleTasks(
|
||||
gradleModule: IdeaModule,
|
||||
|
||||
+11
-38
@@ -15,9 +15,10 @@ import org.gradle.tooling.model.idea.IdeaModule
|
||||
import org.gradle.tooling.model.idea.IdeaProject
|
||||
import org.gradle.util.GradleVersion
|
||||
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinDependency
|
||||
import org.jetbrains.kotlin.idea.gradleTooling.KotlinMPPGradleModelBuilder
|
||||
import org.jetbrains.kotlin.idea.projectModel.KotlinCompilation
|
||||
import org.jetbrains.kotlin.idea.gradleTooling.KotlinMPPGradleModel
|
||||
import org.jetbrains.kotlin.idea.projectModel.KotlinTarget
|
||||
import org.jetbrains.kotlin.tooling.core.Extras
|
||||
import org.jetbrains.kotlin.utils.addIfNotNull
|
||||
import org.jetbrains.plugins.gradle.service.execution.createMainInitScript
|
||||
import org.jetbrains.plugins.gradle.service.execution.createTargetPathMapperInitScript
|
||||
import org.jetbrains.plugins.gradle.service.modelAction.GradleIdeaModelHolder
|
||||
@@ -67,46 +68,18 @@ fun <T : Any> buildGradleModel(
|
||||
|
||||
connector.connect().use { gradleConnection ->
|
||||
val buildAction = GradleModelFetchAction(gradleVersion)
|
||||
.addProjectImportModelProviders(
|
||||
GradleClassProjectModelProvider.createAll(
|
||||
clazz.java,
|
||||
/* Representative of the `kotlin.project-module` module */
|
||||
KotlinCompilation::class.java,
|
||||
|
||||
/* Representative of the `kotlin-tooling-core` library */
|
||||
Extras::class.java,
|
||||
|
||||
/* Representative of the `kotlin-gradle-plugin-idea` library */
|
||||
IdeaKotlinDependency::class.java,
|
||||
|
||||
/* Representative of the kotlin stdlib */
|
||||
Unit::class.java
|
||||
)
|
||||
)
|
||||
.addProjectImportModelProviders(
|
||||
GradleClassBuildModelProvider.createAll(
|
||||
IdeaProject::class.java
|
||||
)
|
||||
)
|
||||
.addProjectImportModelProviders(GradleClassProjectModelProvider.createAll(clazz.java))
|
||||
.addProjectImportModelProviders(GradleClassBuildModelProvider.createAll(IdeaProject::class.java))
|
||||
|
||||
val executionSettings = GradleExecutionSettings()
|
||||
val targetPathMapperInitScript = createTargetPathMapperInitScript()
|
||||
executionSettings.prependArguments(GradleConstants.INIT_SCRIPT_CMD_OPTION, targetPathMapperInitScript.toString())
|
||||
val kotlinToolingExtensionClasses = mutableSetOf(
|
||||
/* Representative of the `gradle-tooling` module */
|
||||
KotlinMPPGradleModelBuilder::class.java,
|
||||
|
||||
/* Representative of the `kotlin.project-module` module */
|
||||
KotlinCompilation::class.java,
|
||||
|
||||
/* Representative of the `kotlin-tooling-core` library */
|
||||
Extras::class.java,
|
||||
|
||||
/* Representative of the `kotlin-gradle-plugin-idea` library */
|
||||
IdeaKotlinDependency::class.java,
|
||||
)
|
||||
if (builderClass != null) {
|
||||
kotlinToolingExtensionClasses.add(builderClass)
|
||||
val kotlinToolingExtensionClasses = buildSet {
|
||||
add(KotlinMPPGradleModel::class.java) // Module: intellij.kotlin.gradle.tooling.impl
|
||||
add(KotlinTarget::class.java) // Module: intellij.kotlin.base.project-model
|
||||
add(IdeaKotlinDependency::class.java) // Library: kotlin-gradle-plugin-idea
|
||||
add(Extras::class.java) // Library: kotlin-tooling-core
|
||||
addIfNotNull(builderClass)
|
||||
}
|
||||
val initScript = createMainInitScript(false, kotlinToolingExtensionClasses)
|
||||
executionSettings.addInitScript(gradleVersion, initScript)
|
||||
|
||||
Reference in New Issue
Block a user