diff --git a/.idea/modules.xml b/.idea/modules.xml
index 2294687fa24b..3feb2195d2a0 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -459,6 +459,7 @@
+
diff --git a/build/bazel-generated-file-list.txt b/build/bazel-generated-file-list.txt
index 04778658e49f..187619622a2e 100644
--- a/build/bazel-generated-file-list.txt
+++ b/build/bazel-generated-file-list.txt
@@ -997,6 +997,7 @@ plugins/gradle/gradle-declarative-sync
plugins/gradle/gradle-dependency-updater
plugins/gradle/intellij.gradle.analysis
plugins/gradle/java
+plugins/gradle/java/coverage
plugins/gradle/java/groovy
plugins/gradle/java/groovy/ml
plugins/gradle/java/groovy/toml
diff --git a/plugins/gradle/java/BUILD.bazel b/plugins/gradle/java/BUILD.bazel
index 4ec8734cc963..4cbc3c4b4186 100644
--- a/plugins/gradle/java/BUILD.bazel
+++ b/plugins/gradle/java/BUILD.bazel
@@ -18,7 +18,6 @@ jvm_library(
"//plugins/gradle",
"//plugins/gradle/plugin",
"//plugins/gradle:gradle-common",
- "//plugins/coverage",
"//plugins/gradle/jps-plugin:jps",
"//java/java-indexing-api:indexing",
"//platform/analysis-api:analysis",
diff --git a/plugins/gradle/java/coverage/BUILD.bazel b/plugins/gradle/java/coverage/BUILD.bazel
new file mode 100644
index 000000000000..a40215e09867
--- /dev/null
+++ b/plugins/gradle/java/coverage/BUILD.bazel
@@ -0,0 +1,26 @@
+### auto-generated section `build intellij.gradle.java.coverage` start
+load("@rules_jvm//:jvm.bzl", "jvm_library", "resourcegroup")
+
+resourcegroup(
+ name = "coverage_resources",
+ srcs = glob(["resources/**/*"]),
+ strip_prefix = "resources"
+)
+
+jvm_library(
+ name = "coverage",
+ module_name = "intellij.gradle.java.coverage",
+ visibility = ["//visibility:public"],
+ srcs = glob(["src/**/*.kt", "src/**/*.java", "src/**/*.form"], allow_empty = True),
+ resources = [":coverage_resources"],
+ deps = [
+ "@lib//:kotlin-stdlib",
+ "@lib//:jetbrains-annotations",
+ "//platform/external-system-impl:externalSystem-impl",
+ "//platform/execution",
+ "//platform/smRunner",
+ "//plugins/gradle",
+ "//plugins/coverage",
+ ]
+)
+### auto-generated section `build intellij.gradle.java.coverage` end
\ No newline at end of file
diff --git a/plugins/gradle/java/coverage/intellij.gradle.java.coverage.iml b/plugins/gradle/java/coverage/intellij.gradle.java.coverage.iml
new file mode 100644
index 000000000000..96cc644e9454
--- /dev/null
+++ b/plugins/gradle/java/coverage/intellij.gradle.java.coverage.iml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/plugins/gradle/java/coverage/resources/intellij.gradle.java.coverage.xml b/plugins/gradle/java/coverage/resources/intellij.gradle.java.coverage.xml
new file mode 100644
index 000000000000..202fc055d0ba
--- /dev/null
+++ b/plugins/gradle/java/coverage/resources/intellij.gradle.java.coverage.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/plugins/gradle/java/coverage/src/GradleCoverageExtension.kt b/plugins/gradle/java/coverage/src/GradleCoverageExtension.kt
new file mode 100644
index 000000000000..64406e702830
--- /dev/null
+++ b/plugins/gradle/java/coverage/src/GradleCoverageExtension.kt
@@ -0,0 +1,12 @@
+// 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.coverage
+
+import com.intellij.coverage.JavaCoverageEngineExtension
+import com.intellij.execution.configurations.RunConfigurationBase
+import org.jetbrains.plugins.gradle.service.execution.GradleRunConfiguration
+
+class GradleCoverageExtension: JavaCoverageEngineExtension() {
+ override fun isApplicableTo(conf: RunConfigurationBase<*>?): Boolean = conf is GradleRunConfiguration &&
+ !conf.isCoverageDisabled
+
+}
\ No newline at end of file
diff --git a/plugins/gradle/java/intellij.gradle.java.iml b/plugins/gradle/java/intellij.gradle.java.iml
index 497fdbc7b5e3..66681221e289 100644
--- a/plugins/gradle/java/intellij.gradle.java.iml
+++ b/plugins/gradle/java/intellij.gradle.java.iml
@@ -13,7 +13,6 @@
-
diff --git a/plugins/gradle/java/resources/META-INF/gradle-coverage-integration.xml b/plugins/gradle/java/resources/META-INF/gradle-coverage-integration.xml
deleted file mode 100644
index d019eb562504..000000000000
--- a/plugins/gradle/java/resources/META-INF/gradle-coverage-integration.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/plugins/gradle/java/resources/META-INF/plugin.xml b/plugins/gradle/java/resources/META-INF/plugin.xml
index feb4e1c867df..795196a5438c 100644
--- a/plugins/gradle/java/resources/META-INF/plugin.xml
+++ b/plugins/gradle/java/resources/META-INF/plugin.xml
@@ -18,7 +18,6 @@
org.jetbrains.idea.maven
- Coverage
org.intellij.groovy
com.intellij.properties
@@ -32,6 +31,7 @@
+
messages.GradleInspectionBundle
diff --git a/plugins/gradle/java/src/execution/test/runner/GradleCoverageExtension.kt b/plugins/gradle/java/src/execution/test/runner/GradleCoverageExtension.kt
deleted file mode 100644
index c816bf60e4d4..000000000000
--- a/plugins/gradle/java/src/execution/test/runner/GradleCoverageExtension.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
-package org.jetbrains.plugins.gradle.execution.test.runner
-
-import com.intellij.coverage.JavaCoverageEngineExtension
-import com.intellij.execution.configurations.RunConfigurationBase
-import org.jetbrains.plugins.gradle.service.execution.GradleRunConfiguration
-
-/**
- * Created by Nikita.Skvortsov
- * date: 23.08.2017.
- */
-
-class GradleCoverageExtension: JavaCoverageEngineExtension() {
- override fun isApplicableTo(conf: RunConfigurationBase<*>?) = conf is GradleRunConfiguration &&
- !conf.isCoverageDisabled
-
-}
\ No newline at end of file