From 812055abdd2650b2fc485dd9daef488dea99fb87 Mon Sep 17 00:00:00 2001 From: Helder Pereira Date: Mon, 12 Oct 2020 21:42:27 +0100 Subject: [PATCH] Add support for Scala 2.13 --- .../java/org/scoverage/Scala213Test.java | 8 -------- src/main/groovy/org/scoverage/ScoverageWriter.java | 13 +++++++------ 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/crossScalaVersionTest/java/org/scoverage/Scala213Test.java b/src/crossScalaVersionTest/java/org/scoverage/Scala213Test.java index 0f6ed71..31d9a38 100644 --- a/src/crossScalaVersionTest/java/org/scoverage/Scala213Test.java +++ b/src/crossScalaVersionTest/java/org/scoverage/Scala213Test.java @@ -1,13 +1,5 @@ package org.scoverage; -import org.junit.Ignore; - -/** - * Tests is currently ignored as support for Scala 2.13 is not available yet. - * - * @see Issue #106. - */ -@Ignore public class Scala213Test extends ScalaVersionTest { public Scala213Test() { super("2_13"); diff --git a/src/main/groovy/org/scoverage/ScoverageWriter.java b/src/main/groovy/org/scoverage/ScoverageWriter.java index 47572c1..ffd08d3 100644 --- a/src/main/groovy/org/scoverage/ScoverageWriter.java +++ b/src/main/groovy/org/scoverage/ScoverageWriter.java @@ -2,8 +2,6 @@ import org.gradle.api.logging.Logger; import scala.Some; -import scala.collection.JavaConverters; -import scala.collection.mutable.Buffer; import scoverage.Constants; import scoverage.Coverage; import scoverage.report.CoberturaXmlWriter; @@ -11,7 +9,7 @@ import scoverage.report.ScoverageXmlWriter; import java.io.File; -import java.util.Arrays; +import java.lang.reflect.Field; /** * Util for generating and saving coverage files. @@ -46,7 +44,7 @@ public void write(File sourceDir, Boolean coverageOutputCobertura, Boolean coverageOutputXML, Boolean coverageOutputHTML, - Boolean coverageDebug) { + Boolean coverageDebug) throws NoSuchFieldException, IllegalAccessException { logger.info("[scoverage] Generating scoverage reports..."); @@ -76,8 +74,11 @@ public void write(File sourceDir, } if (coverageOutputHTML) { - Buffer sources = JavaConverters.asScalaBufferConverter(Arrays.asList(sourceDir)).asScala(); - new ScoverageHtmlWriter(sources, reportDir, new Some<>(sourceEncoding)).write(coverage); + ScoverageHtmlWriter writer = new ScoverageHtmlWriter(sourceDir, reportDir); + Field field = ScoverageHtmlWriter.class.getDeclaredField("sourceEncoding"); + field.setAccessible(true); + field.set(writer, new Some<>(sourceEncoding)); + writer.write(coverage); logger.info("[scoverage] Written HTML report to " + reportDir.getAbsolutePath() + File.separator +