From 3107c298ea2bff86a2a2b33ce752f5851f45abad Mon Sep 17 00:00:00 2001 From: John Mazanec Date: Sat, 4 Nov 2023 00:13:06 -0700 Subject: [PATCH] Attempt to simplify jacoco logic Signed-off-by: John Mazanec --- build-tools/knnplugin-coverage.gradle | 32 +++++++-------------------- build.gradle | 5 ----- 2 files changed, 8 insertions(+), 29 deletions(-) diff --git a/build-tools/knnplugin-coverage.gradle b/build-tools/knnplugin-coverage.gradle index 8a5c5c73b..bea2b8ead 100644 --- a/build-tools/knnplugin-coverage.gradle +++ b/build-tools/knnplugin-coverage.gradle @@ -17,15 +17,16 @@ * break if there are multiple nodes in the integTestCluster. But for now... it sorta works. */ -import org.apache.tools.ant.taskdefs.condition.Os apply plugin: 'jacoco' +jacoco { + toolVersion = "0.8.10" +} + // Get gradle to generate the required jvm agent arg for us using a dummy tasks of type Test. Unfortunately Elastic's // testing tasks don't derive from Test so the jacoco plugin can't do this automatically. -def jacocoDir = "${buildDir}/jacoco" -task dummyTest(type: Test) { - enabled = false - workingDir = file("/") // Force absolute path to jacoco agent jar +def jacocoDir = "${project.layout.buildDirectory.get().asFile}/jacoco" +test { jacoco { destinationFile = file("${jacocoDir}/test.exec") destinationFile.parentFile.mkdirs() @@ -33,27 +34,18 @@ task dummyTest(type: Test) { } } -task dummyIntegTest(type: Test) { - enabled = false - workingDir = file("/") // Force absolute path to jacoco agent jar +integTest { jacoco { destinationFile = file("${jacocoDir}/integTest.exec") destinationFile.parentFile.mkdirs() jmx = true } -} - -integTest { systemProperty 'jacoco.dir', "${jacocoDir}" systemProperty 'jmx.serviceUrl', "service:jmx:rmi:///jndi/rmi://127.0.0.1:7777/jmxrmi" } jacocoTestReport { dependsOn integTest, test - executionData.from = [dummyTest.jacoco.destinationFile, dummyIntegTest.jacoco.destinationFile] - sourceDirectories.from = sourceSets.main.java.sourceDirectories - classDirectories.from = files(sourceSets.main.java.classesDirectory) - reports { html.getRequired().set(true) // human readable csv.getRequired().set(true) @@ -62,16 +54,8 @@ jacocoTestReport { } afterEvaluate { - jacocoTestReport.dependsOn integTest - +// jacocoTestReport.dependsOn integTest testClusters.integTest { - if (Os.isFamily(Os.FAMILY_WINDOWS)) { - // Replacing build with absolute path to fix the error "error opening zip file or JAR manifest missing : /build/tmp/expandedArchives/..../jacocoagent.jar" - jvmArgs " ${dummyIntegTest.jacoco.getAsJvmArg()}".replace('build',"${buildDir}") - } else { - jvmArgs " ${dummyIntegTest.jacoco.getAsJvmArg()}".replace('javaagent:','javaagent:/') - } - systemProperty 'com.sun.management.jmxremote', "true" systemProperty 'com.sun.management.jmxremote.authenticate', "false" systemProperty 'com.sun.management.jmxremote.port', "7777" diff --git a/build.gradle b/build.gradle index 1fec2d69f..9260c00f9 100644 --- a/build.gradle +++ b/build.gradle @@ -36,7 +36,6 @@ plugins { id 'java-library' id 'java-test-fixtures' id 'idea' - id 'jacoco' id "com.diffplug.spotless" version "6.3.0" apply false id 'io.freefair.lombok' version '8.4' } @@ -135,10 +134,6 @@ if (!usingRemoteCluster) { } } -jacoco { - toolVersion = "0.8.7" -} - check.dependsOn spotlessCheck check.dependsOn jacocoTestReport