diff --git a/README.md b/README.md index 98f0543..bf3c548 100644 --- a/README.md +++ b/README.md @@ -43,10 +43,10 @@ You can find instructions on how to apply the plugin at http://plugins.gradle.or The plugin exposes multiple options that can be configured by setting them in an `scoverage` block within the project's build script. These options are as follows: -* `scoverageVersion = ` (default `"1.4.1"`): The version of the scoverage scalac plugin. This (gradle) plugin +* `scoverageVersion = ` (default `"1.4.2`): The version of the scoverage scalac plugin. This (gradle) plugin should be compatible with all 1+ versions. -* `scoverageScalaVersion = ` (default `"2.12"`): The scala version of the scoverage scalac plugin. This +* `scoverageScalaVersion = ` (default `detected`): The scala version of the scoverage scalac plugin. This overrides the version of the `scala-library` compile dependency (if the dependency is configured). * `coverageOutputCobertura = ` (default `true`): Enables/disables cobertura.xml file generation (for both aggregated and non-aggregated reports). @@ -122,6 +122,13 @@ In order for the plugin to work alongside [Palantir's consistent versions plugin the Scala version must be manually configured (via `scoverageScalaVersion`); otherwise, the plugin will attempt to resolve the compilation classpath, which is prohibited by the versions plugin. +Migration to 5.x +---------------- + +* Requires scoverage 1.4.2 or higher (and uses this version by default) +* Adds support for Scala 2.13 +* Drops support for Scala 2.11 + Migration to 4.x ---------------- diff --git a/build.gradle b/build.gradle index 268de3e..ea6cb92 100644 --- a/build.gradle +++ b/build.gradle @@ -46,7 +46,7 @@ targetCompatibility = '1.8' dependencies { - compileOnly "org.scoverage:scalac-scoverage-plugin_2.12:1.4.1" + compileOnly "org.scoverage:scalac-scoverage-plugin_2.13:1.4.2" implementation group: 'commons-io', name: 'commons-io', version: '2.6' testImplementation 'junit:junit:4.12' diff --git a/src/crossScalaVersionTest/java/org/scoverage/Scala211Test.java b/src/crossScalaVersionTest/java/org/scoverage/Scala211Test.java deleted file mode 100644 index ac06067..0000000 --- a/src/crossScalaVersionTest/java/org/scoverage/Scala211Test.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.scoverage; - -public class Scala211Test extends ScalaVersionTest { - public Scala211Test() { - super("2_11"); - } -} \ No newline at end of file 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/crossScalaVersionTest/java/org/scoverage/ScalaCrossVersionAggregationTest.java b/src/crossScalaVersionTest/java/org/scoverage/ScalaCrossVersionAggregationTest.java index d3b66ae..62850aa 100644 --- a/src/crossScalaVersionTest/java/org/scoverage/ScalaCrossVersionAggregationTest.java +++ b/src/crossScalaVersionTest/java/org/scoverage/ScalaCrossVersionAggregationTest.java @@ -23,11 +23,9 @@ public void checkAndAggregateAll() throws Exception { ScoveragePlugin.getAGGREGATE_NAME()); result.assertTaskSkipped(ScoveragePlugin.getREPORT_NAME()); - result.assertTaskSucceeded("2_11:" + ScoveragePlugin.getREPORT_NAME()); result.assertTaskSucceeded("2_12:" + ScoveragePlugin.getREPORT_NAME()); result.assertTaskSucceeded("2_13:" + ScoveragePlugin.getREPORT_NAME()); result.assertTaskSucceeded(ScoveragePlugin.getCHECK_NAME()); - result.assertTaskSucceeded("2_11:" + ScoveragePlugin.getCHECK_NAME()); result.assertTaskSucceeded("2_12:" + ScoveragePlugin.getCHECK_NAME()); result.assertTaskSucceeded("2_13:" + ScoveragePlugin.getCHECK_NAME()); result.assertTaskSucceeded(ScoveragePlugin.getAGGREGATE_NAME()); @@ -39,7 +37,6 @@ public void checkAndAggregateAll() throws Exception { private void assertAggregationFilesExist() { Assert.assertTrue(resolve(reportDir(), "index.html").exists()); - Assert.assertTrue(resolve(reportDir(), "2_11/src/main/scala/org/hello/World2_11.scala.html").exists()); Assert.assertTrue(resolve(reportDir(), "2_12/src/main/scala/org/hello/World2_12.scala.html").exists()); Assert.assertTrue(resolve(reportDir(), "2_13/src/main/scala/org/hello/World2_13.scala.html").exists()); } diff --git a/src/crossScalaVersionTest/java/org/scoverage/ScalaVersionTest.java b/src/crossScalaVersionTest/java/org/scoverage/ScalaVersionTest.java index 59160f3..55a15c8 100644 --- a/src/crossScalaVersionTest/java/org/scoverage/ScalaVersionTest.java +++ b/src/crossScalaVersionTest/java/org/scoverage/ScalaVersionTest.java @@ -2,9 +2,6 @@ import org.junit.Assert; import org.junit.Test; -import org.junit.jupiter.api.Tag; -import org.scoverage.ScoverageFunctionalTest; -import org.scoverage.ScoveragePlugin; import java.io.File; diff --git a/src/crossScalaVersionTest/resources/projects/scala-multi-module-cross-version/2_11/build.gradle b/src/crossScalaVersionTest/resources/projects/scala-multi-module-cross-version/2_11/build.gradle deleted file mode 100644 index 5421d5a..0000000 --- a/src/crossScalaVersionTest/resources/projects/scala-multi-module-cross-version/2_11/build.gradle +++ /dev/null @@ -1,4 +0,0 @@ -dependencies { - compile group: 'org.scala-lang', name: 'scala-library', version: "2.11.12" - testCompile group: 'org.scalatest', name: "scalatest_2.11", version: scalatestVersion -} diff --git a/src/crossScalaVersionTest/resources/projects/scala-multi-module-cross-version/2_11/src/main/scala/org/hello/World2_11.scala b/src/crossScalaVersionTest/resources/projects/scala-multi-module-cross-version/2_11/src/main/scala/org/hello/World2_11.scala deleted file mode 100644 index cab6958..0000000 --- a/src/crossScalaVersionTest/resources/projects/scala-multi-module-cross-version/2_11/src/main/scala/org/hello/World2_11.scala +++ /dev/null @@ -1,9 +0,0 @@ -package org.hello - -class World2_11 { - - def foo(): String = { - val s = "2" + "11" - s - } -} \ No newline at end of file diff --git a/src/crossScalaVersionTest/resources/projects/scala-multi-module-cross-version/2_11/src/test/scala/org/hello/World2_11Suite.scala b/src/crossScalaVersionTest/resources/projects/scala-multi-module-cross-version/2_11/src/test/scala/org/hello/World2_11Suite.scala deleted file mode 100644 index 2d99209..0000000 --- a/src/crossScalaVersionTest/resources/projects/scala-multi-module-cross-version/2_11/src/test/scala/org/hello/World2_11Suite.scala +++ /dev/null @@ -1,13 +0,0 @@ -package org.hello - -import org.junit.runner.RunWith -import org.scalatest.FunSuite -import org.scalatest.junit.JUnitRunner - -@RunWith(classOf[JUnitRunner]) -class World2_11Suite extends FunSuite { - - test("foo") { - new World2_11().foo() - } -} \ No newline at end of file diff --git a/src/crossScalaVersionTest/resources/projects/scala-multi-module-cross-version/settings.gradle b/src/crossScalaVersionTest/resources/projects/scala-multi-module-cross-version/settings.gradle index 174d3b1..f294f6a 100644 --- a/src/crossScalaVersionTest/resources/projects/scala-multi-module-cross-version/settings.gradle +++ b/src/crossScalaVersionTest/resources/projects/scala-multi-module-cross-version/settings.gradle @@ -1 +1 @@ -include '2_11', '2_12', '2_13' \ No newline at end of file +include '2_12', '2_13' \ No newline at end of file diff --git a/src/main/groovy/org/scoverage/ScoverageExtension.groovy b/src/main/groovy/org/scoverage/ScoverageExtension.groovy index 9de93c5..06d22ba 100644 --- a/src/main/groovy/org/scoverage/ScoverageExtension.groovy +++ b/src/main/groovy/org/scoverage/ScoverageExtension.groovy @@ -57,7 +57,7 @@ class ScoverageExtension { project.plugins.apply(ScalaPlugin.class) scoverageVersion = project.objects.property(String) - scoverageVersion.set('1.4.1') + scoverageVersion.set('1.4.2') scoverageScalaVersion = project.objects.property(String) diff --git a/src/main/groovy/org/scoverage/ScoverageWriter.java b/src/main/groovy/org/scoverage/ScoverageWriter.java index 47572c1..bf0e2df 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,6 @@ import scoverage.report.ScoverageXmlWriter; import java.io.File; -import java.util.Arrays; /** * Util for generating and saving coverage files. @@ -76,8 +73,7 @@ public void write(File sourceDir, } if (coverageOutputHTML) { - Buffer sources = JavaConverters.asScalaBufferConverter(Arrays.asList(sourceDir)).asScala(); - new ScoverageHtmlWriter(sources, reportDir, new Some<>(sourceEncoding)).write(coverage); + new ScoverageHtmlWriter(new File[]{sourceDir}, reportDir, new Some<>(sourceEncoding)).write(coverage); logger.info("[scoverage] Written HTML report to " + reportDir.getAbsolutePath() + File.separator +