diff --git a/.idea/modules.xml b/.idea/modules.xml
index 178cd83e70bd..2294687fa24b 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -460,6 +460,7 @@
+
diff --git a/build/bazel-generated-file-list.txt b/build/bazel-generated-file-list.txt
index 17a75eec4446..04778658e49f 100644
--- a/build/bazel-generated-file-list.txt
+++ b/build/bazel-generated-file-list.txt
@@ -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
diff --git a/plugins/gradle/java/BUILD.bazel b/plugins/gradle/java/BUILD.bazel
index c35465c5e6f5..4ec8734cc963 100644
--- a/plugins/gradle/java/BUILD.bazel
+++ b/plugins/gradle/java/BUILD.bazel
@@ -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",
diff --git a/plugins/gradle/java/groovy/ml/BUILD.bazel b/plugins/gradle/java/groovy/ml/BUILD.bazel
new file mode 100644
index 000000000000..cf7bd3d6652f
--- /dev/null
+++ b/plugins/gradle/java/groovy/ml/BUILD.bazel
@@ -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
\ No newline at end of file
diff --git a/plugins/gradle/java/groovy/ml/intellij.gradle.java.groovy.ml.iml b/plugins/gradle/java/groovy/ml/intellij.gradle.java.groovy.ml.iml
new file mode 100644
index 000000000000..cd10b4f13a04
--- /dev/null
+++ b/plugins/gradle/java/groovy/ml/intellij.gradle.java.groovy.ml.iml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/plugins/gradle/java/groovy/ml/resources/intellij.gradle.java.groovy.ml.xml b/plugins/gradle/java/groovy/ml/resources/intellij.gradle.java.groovy.ml.xml
new file mode 100644
index 000000000000..c8ae8224f2c9
--- /dev/null
+++ b/plugins/gradle/java/groovy/ml/resources/intellij.gradle.java.groovy.ml.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/plugins/gradle/java/src/service/completion/ml/GradleGroovyCompletionFeaturesPolicy.kt b/plugins/gradle/java/groovy/ml/src/GradleGroovyCompletionFeaturesPolicy.kt
similarity index 84%
rename from plugins/gradle/java/src/service/completion/ml/GradleGroovyCompletionFeaturesPolicy.kt
rename to plugins/gradle/java/groovy/ml/src/GradleGroovyCompletionFeaturesPolicy.kt
index 8bd59baaea3f..dcb330c49503 100644
--- a/plugins/gradle/java/src/service/completion/ml/GradleGroovyCompletionFeaturesPolicy.kt
+++ b/plugins/gradle/java/groovy/ml/src/GradleGroovyCompletionFeaturesPolicy.kt
@@ -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
diff --git a/plugins/gradle/java/src/service/completion/ml/GradleGroovyContextFeatureProvider.kt b/plugins/gradle/java/groovy/ml/src/GradleGroovyContextFeatureProvider.kt
similarity index 97%
rename from plugins/gradle/java/src/service/completion/ml/GradleGroovyContextFeatureProvider.kt
rename to plugins/gradle/java/groovy/ml/src/GradleGroovyContextFeatureProvider.kt
index 569197a86f74..42d3537c6fc1 100644
--- a/plugins/gradle/java/src/service/completion/ml/GradleGroovyContextFeatureProvider.kt
+++ b/plugins/gradle/java/groovy/ml/src/GradleGroovyContextFeatureProvider.kt
@@ -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
diff --git a/plugins/gradle/java/src/service/completion/ml/GradleGroovyElementFeatureProvider.kt b/plugins/gradle/java/groovy/ml/src/GradleGroovyElementFeatureProvider.kt
similarity index 95%
rename from plugins/gradle/java/src/service/completion/ml/GradleGroovyElementFeatureProvider.kt
rename to plugins/gradle/java/groovy/ml/src/GradleGroovyElementFeatureProvider.kt
index b6f6bb18250b..68a7fb0a843e 100644
--- a/plugins/gradle/java/src/service/completion/ml/GradleGroovyElementFeatureProvider.kt
+++ b/plugins/gradle/java/groovy/ml/src/GradleGroovyElementFeatureProvider.kt
@@ -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
diff --git a/plugins/gradle/java/intellij.gradle.java.iml b/plugins/gradle/java/intellij.gradle.java.iml
index 6581697c2699..497fdbc7b5e3 100644
--- a/plugins/gradle/java/intellij.gradle.java.iml
+++ b/plugins/gradle/java/intellij.gradle.java.iml
@@ -62,7 +62,6 @@
-
diff --git a/plugins/gradle/java/plugin-content.yaml b/plugins/gradle/java/plugin-content.yaml
index 7bd9173214b0..19a1f175a06d 100644
--- a/plugins/gradle/java/plugin-content.yaml
+++ b/plugins/gradle/java/plugin-content.yaml
@@ -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
diff --git a/plugins/gradle/java/resources/META-INF/gradle-groovy-integration.xml b/plugins/gradle/java/resources/META-INF/gradle-groovy-integration.xml
index 4b54fcdaae2f..ebbdb8446963 100644
--- a/plugins/gradle/java/resources/META-INF/gradle-groovy-integration.xml
+++ b/plugins/gradle/java/resources/META-INF/gradle-groovy-integration.xml
@@ -1,6 +1,4 @@
- com.intellij.completion.ml.ranking
-
diff --git a/plugins/gradle/java/resources/META-INF/gradle-groovy-ml-integration.xml b/plugins/gradle/java/resources/META-INF/gradle-groovy-ml-integration.xml
deleted file mode 100644
index d477397a143d..000000000000
--- a/plugins/gradle/java/resources/META-INF/gradle-groovy-ml-integration.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/plugins/gradle/java/resources/META-INF/plugin.xml b/plugins/gradle/java/resources/META-INF/plugin.xml
index d9b2dc22edcb..feb4e1c867df 100644
--- a/plugins/gradle/java/resources/META-INF/plugin.xml
+++ b/plugins/gradle/java/resources/META-INF/plugin.xml
@@ -31,6 +31,7 @@
+
messages.GradleInspectionBundle
diff --git a/plugins/gradle/java/src/service/resolve/GradleDependencyHandlerContributor.kt b/plugins/gradle/java/src/service/resolve/GradleDependencyHandlerContributor.kt
index 9dd5ae36171b..bdccabab14ef 100644
--- a/plugins/gradle/java/src/service/resolve/GradleDependencyHandlerContributor.kt
+++ b/plugins/gradle/java/src/service/resolve/GradleDependencyHandlerContributor.kt
@@ -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"
}
}
diff --git a/plugins/gradle/java/src/service/resolve/GradleExtensionProperty.kt b/plugins/gradle/java/src/service/resolve/GradleExtensionProperty.kt
index 8c79d856071f..490846e10639 100644
--- a/plugins/gradle/java/src/service/resolve/GradleExtensionProperty.kt
+++ b/plugins/gradle/java/src/service/resolve/GradleExtensionProperty.kt
@@ -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"
}
}
diff --git a/plugins/gradle/java/src/service/resolve/GradleExtensionsContributor.kt b/plugins/gradle/java/src/service/resolve/GradleExtensionsContributor.kt
index a6345918ad0d..86c7371ca556 100644
--- a/plugins/gradle/java/src/service/resolve/GradleExtensionsContributor.kt
+++ b/plugins/gradle/java/src/service/resolve/GradleExtensionsContributor.kt
@@ -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 {
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? {
val catalogNameToAccessor: Map = getAccessorsForAllCatalogs(place)
diff --git a/plugins/gradle/java/src/service/resolve/GradleGroovyProperty.kt b/plugins/gradle/java/src/service/resolve/GradleGroovyProperty.kt
index 208f8d6de9af..0a60174b099e 100644
--- a/plugins/gradle/java/src/service/resolve/GradleGroovyProperty.kt
+++ b/plugins/gradle/java/src/service/resolve/GradleGroovyProperty.kt
@@ -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
diff --git a/plugins/gradle/java/src/service/resolve/GradleTaskContainerContributor.kt b/plugins/gradle/java/src/service/resolve/GradleTaskContainerContributor.kt
index 366620935716..44c5433eacff 100644
--- a/plugins/gradle/java/src/service/resolve/GradleTaskContainerContributor.kt
+++ b/plugins/gradle/java/src/service/resolve/GradleTaskContainerContributor.kt
@@ -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"
}
}
diff --git a/plugins/gradle/java/src/service/resolve/util.kt b/plugins/gradle/java/src/service/resolve/util.kt
index a2c98b01f99c..6b385f1baf8c 100644
--- a/plugins/gradle/java/src/service/resolve/util.kt
+++ b/plugins/gradle/java/src/service/resolve/util.kt
@@ -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)
}