Skip to content

Commit 95165c3

Browse files
authored
Fix jacoco/coverage tasks because of the new hairy stuff gradle introduced. (#15679)
1 parent 7082489 commit 95165c3

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

build-tools/build-infra/src/main/java/org/apache/lucene/gradle/plugins/java/CodeCoveragePlugin.java

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,12 @@
2222
import org.gradle.api.Project;
2323
import org.gradle.api.plugins.JavaPlugin;
2424
import org.gradle.api.provider.Provider;
25+
import org.gradle.api.reporting.ReportingExtension;
2526
import org.gradle.api.tasks.TaskCollection;
2627
import org.gradle.api.tasks.TaskContainer;
2728
import org.gradle.api.tasks.TaskProvider;
2829
import org.gradle.api.tasks.testing.Test;
30+
import org.gradle.testing.jacoco.plugins.JacocoCoverageReport;
2931
import org.gradle.testing.jacoco.plugins.JacocoTaskExtension;
3032
import org.gradle.testing.jacoco.tasks.JacocoReport;
3133

@@ -44,10 +46,33 @@ public void apply(Project project) {
4446

4547
if (withCoverage) {
4648
project.getPlugins().apply(JacocoLogPlugin.class);
49+
project.getPlugins().apply("jacoco-report-aggregation");
50+
51+
project
52+
.getExtensions()
53+
.getByType(ReportingExtension.class)
54+
.reports(
55+
reports -> {
56+
reports
57+
.register("testCodeCoverageReport", JacocoCoverageReport.class)
58+
.configure(
59+
report -> {
60+
report.getTestSuiteName().set("test");
61+
});
62+
});
63+
64+
project
65+
.getSubprojects()
66+
.forEach(
67+
p -> {
68+
if (p.file("src/test").exists()) {
69+
project.getDependencies().add("jacocoAggregation", p);
70+
}
71+
});
4772

4873
var tasks = project.getTasks();
4974

50-
String jacocoTaskName = "jacocoAggregatedReport";
75+
String jacocoTaskName = "testCodeCoverageReport";
5176
var jacocoAggregatedReport =
5277
configureJacocoReport(tasks, jacocoTaskName, "Aggregated code coverage report at: ");
5378

0 commit comments

Comments
 (0)