From c6326eae94945baf09704c006d794731c9827251 Mon Sep 17 00:00:00 2001 From: Chris Helma <25470211+chelma@users.noreply.github.com> Date: Wed, 10 Jul 2024 11:20:15 -0500 Subject: [PATCH] Syncing Gradle build/test behavior for SonarQube (#806) * Syncing Gradle build/test behavior for SonarQube Signed-off-by: Chris Helma * Added jacoco to coreUtils gradle plugins Signed-off-by: Chris Helma --------- Signed-off-by: Chris Helma --- DocumentsFromSnapshotMigration/build.gradle | 2 ++ coreUtilities/build.gradle | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/DocumentsFromSnapshotMigration/build.gradle b/DocumentsFromSnapshotMigration/build.gradle index d12cbc390..bd4a2f733 100644 --- a/DocumentsFromSnapshotMigration/build.gradle +++ b/DocumentsFromSnapshotMigration/build.gradle @@ -170,6 +170,8 @@ task slowTest(type: Test) { jacocoTestReport { dependsOn slowTest reports { + xml.required = true + xml.destination file("${buildDir}/reports/jacoco/test/jacocoTestReport.xml") html.required = true html.destination file("${buildDir}/reports/jacoco/test/html") } diff --git a/coreUtilities/build.gradle b/coreUtilities/build.gradle index b3eef4141..d877fbb42 100644 --- a/coreUtilities/build.gradle +++ b/coreUtilities/build.gradle @@ -20,6 +20,7 @@ plugins { id 'org.opensearch.migrations.java-library-conventions' id 'io.freefair.lombok' id 'java' + id 'jacoco' id 'java-test-fixtures' } @@ -65,6 +66,23 @@ dependencies { testFixturesImplementation group: 'org.slf4j', name: 'slf4j-api' } +// Utility task to allow copying required libraries into a 'dependencies' folder for security scanning +tasks.register('copyDependencies', Sync) { + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + + from configurations.runtimeClasspath + into "${buildDir}/dependencies" +} + +jacocoTestReport { + reports { + xml.required = true + xml.destination file("${buildDir}/reports/jacoco/test/jacocoTestReport.xml") + html.required = true + html.destination file("${buildDir}/reports/jacoco/test/html") + } +} + tasks.named('test') { useJUnitPlatform() }