Skip to content

Commit ac51ce4

Browse files
committed
Add a coverageOff task to turn off coverage instrumentation
1 parent bb7d3a8 commit ac51ce4

File tree

6 files changed

+58
-0
lines changed

6 files changed

+58
-0
lines changed

src/main/scala/scoverage/ScoverageSbtPlugin.scala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ class ScoverageSbtPlugin extends sbt.AutoPlugin {
1515

1616
object ScoverageKeys {
1717
lazy val coverage = taskKey[Unit]("enable compiled code with instrumentation")
18+
lazy val coverageOff = taskKey[Unit]("disable compiled code with instrumentation")
1819
lazy val coverageReport = taskKey[Unit]("run report generation")
1920
lazy val coverageAggregate = taskKey[Unit]("aggregate reports from subprojects")
2021
val coverageExcludedPackages = settingKey[String]("regex for excluded packages")
@@ -42,6 +43,10 @@ class ScoverageSbtPlugin extends sbt.AutoPlugin {
4243
enabled = true
4344
},
4445

46+
coverageOff := {
47+
enabled = false
48+
},
49+
4550
coverageReport := {
4651
val target = crossTarget.value
4752
val s = (streams in Global).value
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
version := "0.1"
2+
3+
scalaVersion := "2.10.4"
4+
5+
libraryDependencies += "org.specs2" %% "specs2" % "2.3.13" % "test"
6+
7+
ScoverageSbtPlugin.ScoverageKeys.coverageMinimum := 80
8+
9+
ScoverageSbtPlugin.ScoverageKeys.coverageFailOnMinimum := true
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// The Typesafe repository
2+
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/"
3+
4+
//scoverage needs this
5+
resolvers += Classpaths.sbtPluginReleases
6+
7+
{
8+
val pluginVersion = System.getProperty("plugin.version")
9+
if(pluginVersion == null)
10+
throw new RuntimeException("""|The system property 'plugin.version' is not defined.
11+
|Specify this property using the scriptedLaunchOpts -D.""".stripMargin)
12+
else addSbtPlugin("org.scoverage" %% "sbt-scoverage" % pluginVersion)
13+
}
14+
15+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
object GoodCoverage {
2+
3+
def sum(num1: Int, num2: Int) = {
4+
num1 + num2
5+
}
6+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import org.specs2.mutable._
2+
3+
/**
4+
* Created by tbarke001c on 7/8/14.
5+
*/
6+
class GoodCoverageSpec extends Specification {
7+
8+
"GoodCoverage" should {
9+
"sum two numbers" in {
10+
GoodCoverage.sum(1, 2) mustEqual 3
11+
}
12+
}
13+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# run scoverage using the coverage task
2+
> clean
3+
> coverage
4+
> test
5+
# turn off coverage using the coverage-off task and recompile
6+
> clean
7+
> coverageOff
8+
> test
9+
# There should be no scoverage-data directory
10+
-$ exists target/scala-2.10/scoverage-data

0 commit comments

Comments
 (0)