From ddc3722c18c827617c1621af660baa411c5e0e6c Mon Sep 17 00:00:00 2001 From: Antonio Morales Date: Tue, 1 Oct 2024 09:24:13 -0700 Subject: [PATCH 1/6] add Scala 3.3.4 to check for support around excluded packages and files support --- README.md | 2 +- src/main/scala/scoverage/ScoverageSbtPlugin.scala | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7b04f1a..6185627 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ coverageExcludedFiles := ".*\\/two\\/GoodCoverage;.*\\/three\\/.*" **NOTE**: The `.scala` file extension needs to be omitted from the filename, if one is given. -**NOTE**: These two options only work for Scala2 and Scala 3.4.2+. +**NOTE**: These two options only work for Scala2, Scala 3.3.4+ and Scala 3.4.2+. You can also mark sections of code with comments like: diff --git a/src/main/scala/scoverage/ScoverageSbtPlugin.scala b/src/main/scala/scoverage/ScoverageSbtPlugin.scala index 96074ea..ba7f5e3 100644 --- a/src/main/scala/scoverage/ScoverageSbtPlugin.scala +++ b/src/main/scala/scoverage/ScoverageSbtPlugin.scala @@ -95,6 +95,7 @@ object ScoverageSbtPlugin extends AutoPlugin { .exists { case (3, minor) if minor > 4 => true case (3, minor) if (minor == 4 && patch.exists(_ >= 2)) => true + case (3, minor) if (minor == 3 && patch.exists(_ >= 4)) => true case _ => false } } From c6287ff457f44c0ce5130b70940e054a727b4241 Mon Sep 17 00:00:00 2001 From: Antonio Morales Date: Tue, 1 Oct 2024 09:29:15 -0700 Subject: [PATCH 2/6] update scala version for excluded files and packages to lowest supported version (3.3.4) --- src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt | 2 +- .../scoverage/scala3-coverage-excluded-packages/build.sbt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt b/src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt index 9f4c05e..a6ecdab 100644 --- a/src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt +++ b/src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt @@ -1,6 +1,6 @@ version := "0.1" -scalaVersion := "3.5.0" +scalaVersion := "3.3.4" libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test diff --git a/src/sbt-test/scoverage/scala3-coverage-excluded-packages/build.sbt b/src/sbt-test/scoverage/scala3-coverage-excluded-packages/build.sbt index 47b8729..429b97c 100644 --- a/src/sbt-test/scoverage/scala3-coverage-excluded-packages/build.sbt +++ b/src/sbt-test/scoverage/scala3-coverage-excluded-packages/build.sbt @@ -1,6 +1,6 @@ version := "0.1" -scalaVersion := "3.5.0" +scalaVersion := "3.3.4" libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test From 448bbd36493ee1f89704389feeb76d2aa3df9adb Mon Sep 17 00:00:00 2001 From: Antonio Morales Date: Tue, 1 Oct 2024 09:33:11 -0700 Subject: [PATCH 3/6] update test file assertions --- src/sbt-test/scoverage/scala3-coverage-excluded-files/test | 6 +++--- .../scoverage/scala3-coverage-excluded-packages/test | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/sbt-test/scoverage/scala3-coverage-excluded-files/test b/src/sbt-test/scoverage/scala3-coverage-excluded-files/test index 33ed081..ce85327 100644 --- a/src/sbt-test/scoverage/scala3-coverage-excluded-files/test +++ b/src/sbt-test/scoverage/scala3-coverage-excluded-files/test @@ -4,6 +4,6 @@ > test > coverageReport # There should be no directory for the excluded files -$ exists target/scala-3.5.0/scoverage-report/GoodCoverage.scala.html --$ exists target/scala-3.5.0/scoverage-report/two --$ exists target/scala-3.5.0/scoverage-report/three +$ exists target/scala-3.3.4/scoverage-report/GoodCoverage.scala.html +-$ exists target/scala-3.3.4/scoverage-report/two +-$ exists target/scala-3.3.4/scoverage-report/three diff --git a/src/sbt-test/scoverage/scala3-coverage-excluded-packages/test b/src/sbt-test/scoverage/scala3-coverage-excluded-packages/test index f079e48..a7dd274 100644 --- a/src/sbt-test/scoverage/scala3-coverage-excluded-packages/test +++ b/src/sbt-test/scoverage/scala3-coverage-excluded-packages/test @@ -4,6 +4,6 @@ > test > coverageReport # There should be no directory for the excluded package -$ exists target/scala-3.5.0/scoverage-report/GoodCoverage.scala.html --$ exists target/scala-3.5.0/scoverage-report/two --$ exists target/scala-3.5.0/scoverage-report/three +$ exists target/scala-3.3.4/scoverage-report/GoodCoverage.scala.html +-$ exists target/scala-3.3.4/scoverage-report/two +-$ exists target/scala-3.3.4/scoverage-report/three From 140c4326b6ace0f9deb0ecad6e77879befa0cdcc Mon Sep 17 00:00:00 2001 From: Antonio Morales Date: Tue, 1 Oct 2024 16:53:44 -0700 Subject: [PATCH 4/6] revert changes to scala 3.5.0 tests --- .../scoverage/scala3-coverage-excluded-files/build.sbt | 2 +- src/sbt-test/scoverage/scala3-coverage-excluded-files/test | 6 +++--- .../scoverage/scala3-coverage-excluded-packages/build.sbt | 2 +- .../scoverage/scala3-coverage-excluded-packages/test | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt b/src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt index a6ecdab..9f4c05e 100644 --- a/src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt +++ b/src/sbt-test/scoverage/scala3-coverage-excluded-files/build.sbt @@ -1,6 +1,6 @@ version := "0.1" -scalaVersion := "3.3.4" +scalaVersion := "3.5.0" libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test diff --git a/src/sbt-test/scoverage/scala3-coverage-excluded-files/test b/src/sbt-test/scoverage/scala3-coverage-excluded-files/test index ce85327..33ed081 100644 --- a/src/sbt-test/scoverage/scala3-coverage-excluded-files/test +++ b/src/sbt-test/scoverage/scala3-coverage-excluded-files/test @@ -4,6 +4,6 @@ > test > coverageReport # There should be no directory for the excluded files -$ exists target/scala-3.3.4/scoverage-report/GoodCoverage.scala.html --$ exists target/scala-3.3.4/scoverage-report/two --$ exists target/scala-3.3.4/scoverage-report/three +$ exists target/scala-3.5.0/scoverage-report/GoodCoverage.scala.html +-$ exists target/scala-3.5.0/scoverage-report/two +-$ exists target/scala-3.5.0/scoverage-report/three diff --git a/src/sbt-test/scoverage/scala3-coverage-excluded-packages/build.sbt b/src/sbt-test/scoverage/scala3-coverage-excluded-packages/build.sbt index 429b97c..47b8729 100644 --- a/src/sbt-test/scoverage/scala3-coverage-excluded-packages/build.sbt +++ b/src/sbt-test/scoverage/scala3-coverage-excluded-packages/build.sbt @@ -1,6 +1,6 @@ version := "0.1" -scalaVersion := "3.3.4" +scalaVersion := "3.5.0" libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test diff --git a/src/sbt-test/scoverage/scala3-coverage-excluded-packages/test b/src/sbt-test/scoverage/scala3-coverage-excluded-packages/test index a7dd274..f079e48 100644 --- a/src/sbt-test/scoverage/scala3-coverage-excluded-packages/test +++ b/src/sbt-test/scoverage/scala3-coverage-excluded-packages/test @@ -4,6 +4,6 @@ > test > coverageReport # There should be no directory for the excluded package -$ exists target/scala-3.3.4/scoverage-report/GoodCoverage.scala.html --$ exists target/scala-3.3.4/scoverage-report/two --$ exists target/scala-3.3.4/scoverage-report/three +$ exists target/scala-3.5.0/scoverage-report/GoodCoverage.scala.html +-$ exists target/scala-3.5.0/scoverage-report/two +-$ exists target/scala-3.5.0/scoverage-report/three From fe325453854eb8742c3ea79a675ba58b0ffeb57c Mon Sep 17 00:00:00 2001 From: Antonio Morales Date: Tue, 1 Oct 2024 16:56:11 -0700 Subject: [PATCH 5/6] Duplicate scala3 coverage excluded tests for scala 3.3.4 --- .../build.sbt | 13 +++++++++++++ .../src/main/scala/GoodCoverage.scala | 7 +++++++ .../src/main/scala/three/GoodCoverage.scala | 9 +++++++++ .../src/main/scala/two/GoodCoverage.scala | 9 +++++++++ .../src/test/scala/GoodCoverageSpec.scala | 19 +++++++++++++++++++ .../scala3.3.4-coverage-excluded-files/test | 9 +++++++++ .../build.sbt | 13 +++++++++++++ .../src/main/scala/GoodCoverage.scala | 7 +++++++ .../src/main/scala/three/GoodCoverage.scala | 9 +++++++++ .../src/main/scala/two/GoodCoverage.scala | 9 +++++++++ .../src/test/scala/GoodCoverageSpec.scala | 19 +++++++++++++++++++ .../test | 9 +++++++++ 12 files changed, 132 insertions(+) create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/build.sbt create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/GoodCoverage.scala create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/three/GoodCoverage.scala create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/two/GoodCoverage.scala create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/test/scala/GoodCoverageSpec.scala create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/test create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/build.sbt create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/GoodCoverage.scala create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/three/GoodCoverage.scala create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/two/GoodCoverage.scala create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/test/scala/GoodCoverageSpec.scala create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/test diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/build.sbt b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/build.sbt new file mode 100644 index 0000000..a6ecdab --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/build.sbt @@ -0,0 +1,13 @@ +version := "0.1" + +scalaVersion := "3.3.4" + +libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test + +coverageExcludedFiles := ".*\\/two\\/GoodCoverage;.*\\/three\\/.*" + +resolvers ++= { + if (sys.props.get("plugin.version").exists(_.endsWith("-SNAPSHOT"))) + Resolver.sonatypeOssRepos("snapshots") + else Seq.empty +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/GoodCoverage.scala b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/GoodCoverage.scala new file mode 100644 index 0000000..ac6582b --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/GoodCoverage.scala @@ -0,0 +1,7 @@ +object GoodCoverage { + + def sum(num1: Int, num2: Int) = { + if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2 + } + +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/three/GoodCoverage.scala b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/three/GoodCoverage.scala new file mode 100644 index 0000000..260d15a --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/three/GoodCoverage.scala @@ -0,0 +1,9 @@ +package three + +object GoodCoverage { + + def sum(num1: Int, num2: Int) = { + if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2 + } + +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/two/GoodCoverage.scala b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/two/GoodCoverage.scala new file mode 100644 index 0000000..587e11e --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/main/scala/two/GoodCoverage.scala @@ -0,0 +1,9 @@ +package two + +object GoodCoverage { + + def sum(num1: Int, num2: Int) = { + if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2 + } + +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/test/scala/GoodCoverageSpec.scala b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/test/scala/GoodCoverageSpec.scala new file mode 100644 index 0000000..44eec1c --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/src/test/scala/GoodCoverageSpec.scala @@ -0,0 +1,19 @@ +import munit.FunSuite + +/** Created by tbarke001c on 7/8/14. + */ +class GoodCoverageSpec extends FunSuite { + + test("GoodCoverage should sum two numbers") { + assertEquals(GoodCoverage.sum(1, 2), 3) + assertEquals(GoodCoverage.sum(0, 3), 3) + assertEquals(GoodCoverage.sum(3, 0), 3) + } + + test("two.GoodCoverage should sum two numbers") { + assertEquals(two.GoodCoverage.sum(1, 2), 3) + assertEquals(two.GoodCoverage.sum(0, 3), 3) + assertEquals(two.GoodCoverage.sum(3, 0), 3) + } + +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/test b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/test new file mode 100644 index 0000000..ce85327 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/test @@ -0,0 +1,9 @@ +# run scoverage using the coverage task +> clean +> coverage +> test +> coverageReport +# There should be no directory for the excluded files +$ exists target/scala-3.3.4/scoverage-report/GoodCoverage.scala.html +-$ exists target/scala-3.3.4/scoverage-report/two +-$ exists target/scala-3.3.4/scoverage-report/three diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/build.sbt b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/build.sbt new file mode 100644 index 0000000..429b97c --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/build.sbt @@ -0,0 +1,13 @@ +version := "0.1" + +scalaVersion := "3.3.4" + +libraryDependencies += "org.scalameta" %% "munit" % "1.0.1" % Test + +coverageExcludedPackages := "two\\..*;three\\..*" + +resolvers ++= { + if (sys.props.get("plugin.version").exists(_.endsWith("-SNAPSHOT"))) + Resolver.sonatypeOssRepos("snapshots") + else Seq.empty +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/GoodCoverage.scala b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/GoodCoverage.scala new file mode 100644 index 0000000..ac6582b --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/GoodCoverage.scala @@ -0,0 +1,7 @@ +object GoodCoverage { + + def sum(num1: Int, num2: Int) = { + if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2 + } + +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/three/GoodCoverage.scala b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/three/GoodCoverage.scala new file mode 100644 index 0000000..260d15a --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/three/GoodCoverage.scala @@ -0,0 +1,9 @@ +package three + +object GoodCoverage { + + def sum(num1: Int, num2: Int) = { + if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2 + } + +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/two/GoodCoverage.scala b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/two/GoodCoverage.scala new file mode 100644 index 0000000..587e11e --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/main/scala/two/GoodCoverage.scala @@ -0,0 +1,9 @@ +package two + +object GoodCoverage { + + def sum(num1: Int, num2: Int) = { + if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2 + } + +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/test/scala/GoodCoverageSpec.scala b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/test/scala/GoodCoverageSpec.scala new file mode 100644 index 0000000..44eec1c --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/src/test/scala/GoodCoverageSpec.scala @@ -0,0 +1,19 @@ +import munit.FunSuite + +/** Created by tbarke001c on 7/8/14. + */ +class GoodCoverageSpec extends FunSuite { + + test("GoodCoverage should sum two numbers") { + assertEquals(GoodCoverage.sum(1, 2), 3) + assertEquals(GoodCoverage.sum(0, 3), 3) + assertEquals(GoodCoverage.sum(3, 0), 3) + } + + test("two.GoodCoverage should sum two numbers") { + assertEquals(two.GoodCoverage.sum(1, 2), 3) + assertEquals(two.GoodCoverage.sum(0, 3), 3) + assertEquals(two.GoodCoverage.sum(3, 0), 3) + } + +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/test b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/test new file mode 100644 index 0000000..a7dd274 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/test @@ -0,0 +1,9 @@ +# run scoverage using the coverage task +> clean +> coverage +> test +> coverageReport +# There should be no directory for the excluded package +$ exists target/scala-3.3.4/scoverage-report/GoodCoverage.scala.html +-$ exists target/scala-3.3.4/scoverage-report/two +-$ exists target/scala-3.3.4/scoverage-report/three From ea175e7f8998ddaf1843cda7c76da62c072812e7 Mon Sep 17 00:00:00 2001 From: Antonio Morales Date: Mon, 7 Oct 2024 14:20:19 -0700 Subject: [PATCH 6/6] include missing project/ directory for scala 3.3.4 tests --- .../project/build.properties | 1 + .../project/plugins.sbt | 16 ++++++++++++++++ .../project/build.properties | 1 + .../project/plugins.sbt | 16 ++++++++++++++++ 4 files changed, 34 insertions(+) create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/project/build.properties create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/project/plugins.sbt create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/build.properties create mode 100644 src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/plugins.sbt diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/project/build.properties b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/project/build.properties new file mode 100644 index 0000000..04267b1 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.9.9 diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/project/plugins.sbt b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/project/plugins.sbt new file mode 100644 index 0000000..8d34923 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-files/project/plugins.sbt @@ -0,0 +1,16 @@ +val pluginVersion = sys.props.getOrElse( + "plugin.version", + throw new RuntimeException( + """|The system property 'plugin.version' is not defined. + |Specify this property using the scriptedLaunchOpts -D.""".stripMargin + ) +) + +addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion) + +resolvers ++= { + if (pluginVersion.endsWith("-SNAPSHOT")) + Seq(Resolver.sonatypeRepo("snapshots")) + else + Seq.empty +} diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/build.properties b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/build.properties new file mode 100644 index 0000000..04267b1 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.9.9 diff --git a/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/plugins.sbt b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/plugins.sbt new file mode 100644 index 0000000..8d34923 --- /dev/null +++ b/src/sbt-test/scoverage/scala3.3.4-coverage-excluded-packages/project/plugins.sbt @@ -0,0 +1,16 @@ +val pluginVersion = sys.props.getOrElse( + "plugin.version", + throw new RuntimeException( + """|The system property 'plugin.version' is not defined. + |Specify this property using the scriptedLaunchOpts -D.""".stripMargin + ) +) + +addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion) + +resolvers ++= { + if (pluginVersion.endsWith("-SNAPSHOT")) + Seq(Resolver.sonatypeRepo("snapshots")) + else + Seq.empty +}