[gradle] IDEA-357140 Migrate Gradle Java Plugin descriptors to V2: groovy-ml module

Run Generate Product Layouts, IdeaUltimatePackagingTest, UltimatePluginModelTest

GitOrigin-RevId: d9ab7a5cc297ab6335f006de7b9ef190102b7037
This commit is contained in:
Dmitry Kichinsky
2026-02-12 12:19:29 +00:00
committed by intellij-monorepo-bot
parent a05d47ca37
commit 8f86177bc0
20 changed files with 88 additions and 24 deletions
+1
View File
@@ -460,6 +460,7 @@
<module fileurl="file://$PROJECT_DIR$/plugins/gradle/gradle-dependency-updater/intellij.gradle.dependencyUpdater.iml" filepath="$PROJECT_DIR$/plugins/gradle/gradle-dependency-updater/intellij.gradle.dependencyUpdater.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/gradle/java/intellij.gradle.java.iml" filepath="$PROJECT_DIR$/plugins/gradle/java/intellij.gradle.java.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/gradle/java/groovy/intellij.gradle.java.groovy.iml" filepath="$PROJECT_DIR$/plugins/gradle/java/groovy/intellij.gradle.java.groovy.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/gradle/java/groovy/ml/intellij.gradle.java.groovy.ml.iml" filepath="$PROJECT_DIR$/plugins/gradle/java/groovy/ml/intellij.gradle.java.groovy.ml.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/gradle/java/groovy/toml/intellij.gradle.java.groovy.toml.iml" filepath="$PROJECT_DIR$/plugins/gradle/java/groovy/toml/intellij.gradle.java.groovy.toml.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/gradle-maven/intellij.gradle.java.maven.iml" filepath="$PROJECT_DIR$/plugins/gradle-maven/intellij.gradle.java.maven.iml" />
<module fileurl="file://$PROJECT_DIR$/plugins/gradle/java/performance/intellij.gradle.java.performance.iml" filepath="$PROJECT_DIR$/plugins/gradle/java/performance/intellij.gradle.java.performance.iml" />
+1
View File
@@ -998,6 +998,7 @@ plugins/gradle/gradle-dependency-updater
plugins/gradle/intellij.gradle.analysis
plugins/gradle/java
plugins/gradle/java/groovy
plugins/gradle/java/groovy/ml
plugins/gradle/java/groovy/toml
plugins/gradle/java/performance
plugins/gradle/java/toml
-1
View File
@@ -66,7 +66,6 @@ jvm_library(
"//java/compiler/impl",
"//libraries/kotlinx/coroutines/core",
"//platform/object-serializer:objectSerializer-annotations",
"//plugins/completion-ml-ranking",
"//plugins/performanceTesting/core:performanceTesting",
"//platform/backend/workspace",
"//platform/backend/observation",
+29
View File
@@ -0,0 +1,29 @@
### auto-generated section `build intellij.gradle.java.groovy.ml` start
load("@rules_jvm//:jvm.bzl", "jvm_library", "resourcegroup")
resourcegroup(
name = "ml_resources",
srcs = glob(["resources/**/*"]),
strip_prefix = "resources"
)
jvm_library(
name = "ml",
module_name = "intellij.gradle.java.groovy.ml",
visibility = ["//visibility:public"],
srcs = glob(["src/**/*.kt", "src/**/*.java", "src/**/*.form"], allow_empty = True),
resources = [":ml_resources"],
deps = [
"@lib//:kotlin-stdlib",
"@lib//:jetbrains-annotations",
"//plugins/gradle/java",
"//platform/analysis-api:analysis",
"//platform/lang-api:lang",
"//platform/core-api:core",
"//platform/projectModel-api:projectModel",
"//plugins/completion-ml-ranking",
"//plugins/groovy/groovy-psi:psi",
"//java/java-psi-api:psi",
]
)
### auto-generated section `build intellij.gradle.java.groovy.ml` end
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" packagePrefix="com.intellij.gradle.java.groovy.ml" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="kotlin-stdlib" level="project" />
<orderEntry type="library" name="jetbrains-annotations" level="project" />
<orderEntry type="module" module-name="intellij.gradle.java" />
<orderEntry type="module" module-name="intellij.platform.analysis" />
<orderEntry type="module" module-name="intellij.platform.lang" />
<orderEntry type="module" module-name="intellij.platform.core" />
<orderEntry type="module" module-name="intellij.platform.projectModel" />
<orderEntry type="module" module-name="intellij.completionMlRanking" />
<orderEntry type="module" module-name="intellij.groovy.psi" />
<orderEntry type="module" module-name="intellij.java.psi" />
</component>
</module>
@@ -0,0 +1,15 @@
<idea-plugin>
<dependencies>
<!-- region Generated dependencies - run `Generate Product Layouts` to regenerate -->
<plugin id="com.intellij.completion.ml.ranking"/>
<plugin id="org.jetbrains.plugins.gradle"/>
<module name="intellij.java.psi"/>
<!-- endregion -->
</dependencies>
<extensions defaultExtensionNs="com.intellij">
<completion.ml.contextFeatures language="Groovy" implementationClass="com.intellij.gradle.java.groovy.ml.GradleGroovyContextFeatureProvider"/>
<completion.ml.elementFeatures language="Groovy" implementationClass="com.intellij.gradle.java.groovy.ml.GradleGroovyElementFeatureProvider"/>
<completion.ml.ranking.features.policy language="Groovy" implementationClass="com.intellij.gradle.java.groovy.ml.GradleGroovyCompletionFeaturesPolicy"/>
</extensions>
</idea-plugin>
@@ -1,5 +1,5 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.plugins.gradle.service.completion.ml
package com.intellij.gradle.java.groovy.ml
import com.intellij.completion.ml.features.CompletionFeaturesPolicy
@@ -1,5 +1,5 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.plugins.gradle.service.completion.ml
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.gradle.java.groovy.ml
import com.intellij.codeInsight.completion.ml.CompletionEnvironment
import com.intellij.codeInsight.completion.ml.ContextFeatureProvider
@@ -1,5 +1,5 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.jetbrains.plugins.gradle.service.completion.ml
// Copyright 2000-2026 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.gradle.java.groovy.ml
import com.intellij.codeInsight.completion.CompletionLocation
import com.intellij.codeInsight.completion.ml.ContextFeatures
@@ -62,7 +62,6 @@
<orderEntry type="module" module-name="intellij.java.compiler.impl" />
<orderEntry type="module" module-name="intellij.libraries.kotlinx.coroutines.core" />
<orderEntry type="module" module-name="intellij.platform.objectSerializer.annotations" />
<orderEntry type="module" module-name="intellij.completionMlRanking" />
<orderEntry type="module" module-name="intellij.performanceTesting" />
<orderEntry type="module" module-name="intellij.platform.backend.workspace" />
<orderEntry type="module" module-name="intellij.platform.backend.observation" />
+3
View File
@@ -16,6 +16,9 @@
- name: lib/modules/intellij.gradle.java.groovy.jar
contentModules:
- name: intellij.gradle.java.groovy
- name: lib/modules/intellij.gradle.java.groovy.ml.jar
contentModules:
- name: intellij.gradle.java.groovy.ml
- name: lib/modules/intellij.gradle.java.groovy.toml.jar
contentModules:
- name: intellij.gradle.java.groovy.toml
@@ -1,6 +1,4 @@
<idea-plugin>
<depends optional="true" config-file="gradle-groovy-ml-integration.xml">com.intellij.completion.ml.ranking</depends>
<extensionPoints>
<extensionPoint qualifiedName="org.jetbrains.plugins.gradle.resolve.contributor" interface="org.jetbrains.plugins.gradle.service.resolve.GradleMethodContextContributor"
dynamic="true"/>
@@ -1,8 +0,0 @@
<idea-plugin>
<extensions defaultExtensionNs="com.intellij">
<completion.ml.contextFeatures language="Groovy" implementationClass="org.jetbrains.plugins.gradle.service.completion.ml.GradleGroovyContextFeatureProvider"/>
<completion.ml.elementFeatures language="Groovy" implementationClass="org.jetbrains.plugins.gradle.service.completion.ml.GradleGroovyElementFeatureProvider"/>
<completion.ml.ranking.features.policy language="Groovy" implementationClass="org.jetbrains.plugins.gradle.service.completion.ml.GradleGroovyCompletionFeaturesPolicy"/>
</extensions>
</idea-plugin>
@@ -31,6 +31,7 @@
<module name="intellij.gradle.java.toml"/>
<module name="intellij.gradle.java.groovy"/>
<module name="intellij.gradle.java.groovy.toml"/>
<module name="intellij.gradle.java.groovy.ml"/>
</content>
<resource-bundle>messages.GradleInspectionBundle</resource-bundle>
@@ -95,7 +95,7 @@ class GradleDependencyHandlerContributor : NonCodeMembersContributor() {
}
companion object {
internal const val DEPENDENCY_NOTATION : String = "by Gradle, configuration method"
const val DEPENDENCY_NOTATION : String = "by Gradle, configuration method"
const val dependencyMethodKind: String = "gradle:dependencyMethod"
}
}
@@ -24,6 +24,6 @@ class GradleExtensionProperty(name: String, private val type: PsiType?, context:
override fun getOriginInfo(): String = GRADLE_EXTENSION_PROPERTY
companion object {
internal const val GRADLE_EXTENSION_PROPERTY: String = "by gradle sync"
const val GRADLE_EXTENSION_PROPERTY: String = "by gradle sync"
}
}
@@ -16,6 +16,7 @@ import com.intellij.psi.ResolveState
import com.intellij.psi.scope.PsiScopeProcessor
import com.intellij.psi.util.InheritanceUtil
import icons.GradleIcons
import org.jetbrains.annotations.ApiStatus
import org.jetbrains.plugins.gradle.service.resolve.GradleCommonClassNames.GRADLE_API_PROJECT
import org.jetbrains.plugins.gradle.settings.GradleExtensionsSettings
import org.jetbrains.plugins.gradle.settings.GradleExtensionsSettings.GradleExtensionsData
@@ -27,7 +28,8 @@ import org.jetbrains.plugins.groovy.lang.resolve.processors.inference.type
import org.jetbrains.plugins.groovy.lang.resolve.shouldProcessProperties
import javax.swing.Icon
internal class GradleExtensionsContributor : NonCodeMembersContributor() {
@ApiStatus.Internal
class GradleExtensionsContributor : NonCodeMembersContributor() {
override fun getClassNames(): Collection<String> {
return listOf(GradleCommonClassNames.GRADLE_API_EXTRA_PROPERTIES_EXTENSION, GRADLE_API_PROJECT)
@@ -133,7 +135,7 @@ internal class GradleExtensionsContributor : NonCodeMembersContributor() {
return GradleExtensionsSettings.getInstance(project).getExtensionsFor(module)
}
internal const val PROPERTIES_FILE_ORIGINAL_INFO : String = "by gradle.properties"
const val PROPERTIES_FILE_ORIGINAL_INFO : String = "by gradle.properties"
private fun processAllCatalogsOfBuild(place: PsiElement, processor: PsiScopeProcessor, state: ResolveState): Set<String>? {
val catalogNameToAccessor: Map<String, PsiClass> = getAccessorsForAllCatalogs(place)
@@ -26,7 +26,7 @@ class GradleGroovyProperty(
override fun getIcon(flags: Int): Icon = IconManager.getInstance().getPlatformIcon(PlatformIcons.Property)
companion object {
internal const val EXTENSION_PROPERTY : String = "via ext"
const val EXTENSION_PROPERTY : String = "via ext"
}
override fun getOriginInfo(): String = EXTENSION_PROPERTY
@@ -90,6 +90,6 @@ class GradleTaskContainerContributor : NonCodeMembersContributor() {
}
companion object {
internal const val GRADLE_TASK_INFO = "by Gradle tasks"
const val GRADLE_TASK_INFO = "by Gradle tasks"
}
}
@@ -9,6 +9,7 @@ import com.intellij.psi.PsiClass
import com.intellij.psi.PsiElement
import com.intellij.psi.PsiFile
import com.intellij.util.ProcessingContext
import org.jetbrains.annotations.ApiStatus
import org.jetbrains.plugins.gradle.util.GradleConstants.EXTENSION
import org.jetbrains.plugins.groovy.lang.psi.api.GroovyMethodResult
import org.jetbrains.plugins.groovy.lang.psi.impl.synthetic.GroovyScriptClass
@@ -40,7 +41,8 @@ private val PsiElement.module get() = containingFile?.originalFile?.virtualFile?
ProjectFileIndex.getInstance(project).getModuleForFile(it)
}
internal fun PsiElement.getLinkedGradleProjectPath() : String? {
@ApiStatus.Internal
fun PsiElement.getLinkedGradleProjectPath() : String? {
return ExternalSystemApiUtil.getExternalProjectPath(module)
}