From c56eedcc0e5b033bf1cf8e5609525026daf43a7d Mon Sep 17 00:00:00 2001 From: "Todd V. Jonker" Date: Tue, 3 Feb 2026 16:45:59 -0800 Subject: [PATCH] Generate aggregate reports in the root project. These include JUnit tests and Jacoco coverage for the entire project. --- build.gradle.kts | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 00000000..1fe7f62a --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,35 @@ +// Copyright Ion Fusion contributors. All rights reserved. +// SPDX-License-Identifier: Apache-2.0 + +plugins { + id("buildlogic.java-common-conventions") + id("jacoco-report-aggregation") + id("test-report-aggregation") +} + +// https://docs.gradle.org/current/userguide/jacoco_report_aggregation_plugin.html +// https://docs.gradle.org/current/userguide/test_report_aggregation_plugin.html + +dependencies { + jacocoAggregation(project(":sdk")) + jacocoAggregation(project(":testing")) + testReportAggregation(project(":sdk")) + testReportAggregation(project(":testing")) +} + +tasks.check { + dependsOn(tasks.named("testCodeCoverageReport")) + dependsOn(tasks.named("testAggregateTestReport")) +} + +tasks.named("testCodeCoverageReport") { + reports { + // Simplify the output + html.outputLocation = reporting.baseDirectory.dir("jacoco") + xml.required = false + } +} + +tasks.named("testAggregateTestReport") { + destinationDirectory = reporting.baseDirectory.dir("tests") +}