Skip to content

Commit 3250cd2

Browse files
committed
improvement: Add fallback to 2.3.0 for older Scala versions
1 parent 7358ba7 commit 3250cd2

File tree

7 files changed

+75
-1
lines changed

7 files changed

+75
-1
lines changed

src/main/scala/scoverage/ScoverageSbtPlugin.scala

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,17 @@ object ScoverageSbtPlugin extends AutoPlugin {
5656
coverageOutputCobertura := true,
5757
coverageOutputDebug := false,
5858
coverageOutputTeamCity := false,
59-
coverageScalacPluginVersion := defaultScoverageVersion,
59+
coverageScalacPluginVersion := {
60+
scalaVersion.value match {
61+
case "2.13.11" => "2.3.0"
62+
case "2.13.12" => "2.3.0"
63+
case "2.13.13" => "2.3.0"
64+
case "2.13.14" => "2.3.0"
65+
case "2.13.15" => "2.3.0"
66+
case "2.12.16" => "2.3.0"
67+
case _ => defaultScoverageVersion
68+
}
69+
},
6070
coverageSourceRoot := (ThisBuild / baseDirectory).value
6171
)
6272

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
version := "0.1"
2+
3+
// Set older version to make sure fallbacks work correctly
4+
scalaVersion := "2.13.11"
5+
6+
libraryDependencies += "org.scalameta" %% "munit" % "1.0.0-M10" % Test
7+
8+
coverageMinimumStmtTotal := 100
9+
coverageMinimumBranchTotal := 100
10+
coverageMinimumStmtPerPackage := 100
11+
coverageMinimumBranchPerPackage := 100
12+
coverageMinimumStmtPerFile := 100
13+
coverageMinimumBranchPerFile := 100
14+
15+
coverageFailOnMinimum := true
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
val pluginVersion = sys.props.getOrElse(
2+
"plugin.version",
3+
throw new RuntimeException(
4+
"""|The system property 'plugin.version' is not defined.
5+
|Specify this property using the scriptedLaunchOpts -D.""".stripMargin
6+
)
7+
)
8+
9+
addSbtPlugin("org.scoverage" % "sbt-scoverage" % pluginVersion)
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
object GoodCoverage {
2+
3+
def sum(num1: Int, num2: Int) = {
4+
if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2
5+
}
6+
7+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package two
2+
3+
object GoodCoverage {
4+
5+
def sum(num1: Int, num2: Int) = {
6+
if (0 == num1) num2 else if (0 == num2) num1 else num1 + num2
7+
}
8+
9+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import munit.FunSuite
2+
3+
/** Created by tbarke001c on 7/8/14.
4+
*/
5+
class GoodCoverageSpec extends FunSuite {
6+
7+
test("GoodCoverage should sum two numbers") {
8+
assertEquals(GoodCoverage.sum(1, 2), 3)
9+
assertEquals(GoodCoverage.sum(0, 3), 3)
10+
assertEquals(GoodCoverage.sum(3, 0), 3)
11+
}
12+
13+
test("two.GoodCoverage should sum two numbers") {
14+
assertEquals(two.GoodCoverage.sum(1, 2), 3)
15+
assertEquals(two.GoodCoverage.sum(0, 3), 3)
16+
assertEquals(two.GoodCoverage.sum(3, 0), 3)
17+
}
18+
19+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# run scoverage
2+
> clean
3+
> coverage
4+
> test
5+
> coverageReport

0 commit comments

Comments
 (0)