From 719a4afb63ec94a5413071b45fae6230f85b7478 Mon Sep 17 00:00:00 2001 From: Ben Soares Date: Wed, 26 Apr 2023 11:10:57 +0100 Subject: [PATCH] JAL-4167 Adjustments to get clover to work --- build.gradle | 139 +++++++++++++++++++++++++++++++--------------------------- 1 file changed, 74 insertions(+), 65 deletions(-) diff --git a/build.gradle b/build.gradle index 6c5c7a5..ac150fa 100644 --- a/build.gradle +++ b/build.gradle @@ -50,7 +50,7 @@ plugins { id "com.diffplug.gradle.spotless" version "3.28.0" id 'com.github.johnrengelman.shadow' version '4.0.3' id 'com.install4j.gradle' version '10.0.3' - id 'com.dorongold.task-tree' version '2.1.0' // only needed to display task dependency tree with gradle task1 [task2 ...] taskTree + id 'com.dorongold.task-tree' version '2.1.1' // only needed to display task dependency tree with gradle task1 [task2 ...] taskTree id 'com.palantir.git-version' version '0.13.0' apply false } @@ -1064,7 +1064,7 @@ compileJava { // JBP->BS should the print statement in doFirst refer to compile_target_compatibility ? sourceCompatibility = compile_source_compatibility targetCompatibility = compile_target_compatibility - options.compilerArgs = additional_compiler_args + options.compilerArgs += additional_compiler_args options.encoding = "UTF-8" doFirst { print ("Setting target compatibility to "+compile_target_compatibility+"\n") @@ -1076,7 +1076,7 @@ compileJava { compileTestJava { sourceCompatibility = compile_source_compatibility targetCompatibility = compile_target_compatibility - options.compilerArgs = additional_compiler_args + options.compilerArgs += additional_compiler_args doFirst { print ("Setting target compatibility to "+targetCompatibility+"\n") } @@ -1769,83 +1769,84 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent rootProject.ext.testsResults = [] // Container for tests summaries -allprojects { project -> - tasks.withType(Test).matching {t -> t.getName().startsWith("testTask")}.all { testTask -> +tasks.withType(Test).matching {t -> t.getName().startsWith("testTask")}.all { testTask -> - // run main tests first -// if (!testTask.name.equals("testTask0")) -// testTask.mustRunAfter testTask0 + // from original test task + if (useClover) { + dependsOn cloverClasses + } else { //? + dependsOn compileJava //? + } - testTask.testLogging { logging -> - events TestLogEvent.FAILED, - TestLogEvent.SKIPPED, - TestLogEvent.STANDARD_OUT, - TestLogEvent.STANDARD_ERROR + // run main tests first + if (!testTask.name.equals("testTask0")) + testTask.mustRunAfter "testTask0" - exceptionFormat TestExceptionFormat.FULL - showExceptions true - showCauses true - showStackTraces true - } + testTask.testLogging { logging -> + events TestLogEvent.FAILED, + TestLogEvent.SKIPPED, + TestLogEvent.STANDARD_OUT, + TestLogEvent.STANDARD_ERROR - ignoreFailures = true // Always try to run all tests for all modules + exceptionFormat TestExceptionFormat.FULL + showExceptions true + showCauses true + showStackTraces true + } - afterSuite { desc, result -> + ignoreFailures = true // Always try to run all tests for all modules - if (desc.parent) return // Only summarize results for whole modules + afterSuite { desc, result -> - String summary = "${testTask.project.name}:${testTask.name} results: ${result.resultType} " + - "(" + - "${result.testCount} tests, " + - "${result.successfulTestCount} successes, " + - "${result.failedTestCount} failures, " + - "${result.skippedTestCount} skipped" + - ") " + - "in ${TimeCategory.minus(new Date(result.endTime), new Date(result.startTime))}" + - "\n" + - "Report file: ${testTask.reports.html.entryPoint}" + if (desc.parent) return // Only summarize results for whole modules - // Add reports in `testsResults`, keep failed suites at the end - if (result.resultType == TestResult.ResultType.SUCCESS) { - rootProject.ext.testsResults.add(0, summary) - } else { - rootProject.ext.testsResults += summary - } - if (result.resultType == TestResult.ResultType.FAILURE) { - testsFailed = true - } - } + String summary = "${testTask.project.name}:${testTask.name} results: ${result.resultType} " + + "(" + + "${result.testCount} tests, " + + "${result.successfulTestCount} successes, " + + "${result.failedTestCount} failures, " + + "${result.skippedTestCount} skipped" + + ") " + + "in ${TimeCategory.minus(new Date(result.endTime), new Date(result.startTime))}" + + "\n" + + "Report file: ${testTask.reports.html.entryPoint}" - // from original test task - if (useClover) { - dependsOn cloverClasses - } else { //? - dependsOn compileJava //? + // Add reports in `testsResults`, keep failed suites at the end + if (result.resultType == TestResult.ResultType.SUCCESS) { + rootProject.ext.testsResults.add(0, summary) + } else { + rootProject.ext.testsResults += summary } - maxHeapSize = "1024m" - workingDir = jalviewDir - def testLaf = project.findProperty("test_laf") - if (testLaf != null) { - println("Setting Test LaF to '${testLaf}'") - systemProperty "laf", testLaf - } - def testHiDPIScale = project.findProperty("test_HiDPIScale") - if (testHiDPIScale != null) { - println("Setting Test HiDPI Scale to '${testHiDPIScale}'") - systemProperty "sun.java2d.uiScale", testHiDPIScale + if (result.resultType == TestResult.ResultType.FAILURE) { + testsFailed = true } - sourceCompatibility = compile_source_compatibility - targetCompatibility = compile_target_compatibility - jvmArgs += additional_compiler_args + } - doFirst { - if (useClover) { - println("Running tests " + (useClover?"WITH":"WITHOUT") + " clover") - } - } + // from original test task + maxHeapSize = "1024m" + workingDir = jalviewDir + def testLaf = project.findProperty("test_laf") + if (testLaf != null) { + println("Setting Test LaF to '${testLaf}'") + systemProperty "laf", testLaf } + def testHiDPIScale = project.findProperty("test_HiDPIScale") + if (testHiDPIScale != null) { + println("Setting Test HiDPI Scale to '${testHiDPIScale}'") + systemProperty "sun.java2d.uiScale", testHiDPIScale + } + sourceCompatibility = compile_source_compatibility + targetCompatibility = compile_target_compatibility + jvmArgs += additional_compiler_args + + doFirst { + if (useClover) { + println("Running tests " + (useClover?"WITH":"WITHOUT") + " clover") + } + } + } gradle.buildFinished { @@ -1880,9 +1881,17 @@ task verifyTestStatus { } test { + // from original test task + if (useClover) { + dependsOn.clear() + dependsOn cloverClasses + } else { //? + dependsOn compileJava //? + } dependsOn tasks.withType(Test).matching {t -> t.getName().startsWith("testTask")} finalizedBy verifyTestStatus + // not running tests in this task exclude "**/*" } -- 1.7.10.2