Skip to content

Commit 3bf76c1

Browse files
authored
Merge pull request #635 from lolgab/delete-measurements-task
Add task to delete measurements
2 parents d79e2f2 + 330c3a5 commit 3bf76c1

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

src/main/scala/scoverage/ScoverageKeys.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ object ScoverageKeys {
88
"controls whether code instrumentation is enabled or not"
99
)
1010
@transient
11+
lazy val coverageDeleteMeasurements = taskKey[Unit]("delete existing coverage measurements")
12+
@transient
1113
lazy val coverageReport = taskKey[Unit]("run report generation")
1214
@transient
1315
lazy val coverageAggregate = taskKey[Unit]("aggregate reports from subprojects")

src/main/scala/scoverage/ScoverageSbtPlugin.scala

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ object ScoverageSbtPlugin extends AutoPlugin {
6767

6868
override def projectSettings: Seq[Setting[_]] = Seq(
6969
ivyConfigurations += ScoveragePluginConfig,
70+
coverageDeleteMeasurements := coverageDeleteMeasurements0.value,
7071
coverageReport := coverageReport0.value,
7172
coverageAggregate := coverageAggregate0.value,
7273
coverageAggregate / aggregate := false,
@@ -251,11 +252,19 @@ object ScoverageSbtPlugin extends AutoPlugin {
251252
sjsClassifier getOrElse ""
252253
}
253254

255+
private lazy val coverageDeleteMeasurements0 = Def.task {
256+
val dataDir = coverageDataDir.value
257+
implicit val log: Logger = streams.value.log
258+
259+
log.info("Deleting existing coverage measurements...")
260+
IOUtils.findMeasurementFiles(dataDir).foreach(IO.delete)
261+
}
262+
254263
private lazy val coverageReport0 = Def.task {
255264
val target = coverageDataDir.value
256265
implicit val log: Logger = streams.value.log
257266

258-
log.info(s"Waiting for measurement data to sync...")
267+
log.info("Waiting for measurement data to sync...")
259268
if (System.getProperty("os.name").toLowerCase.contains("windows")) {
260269
Thread.sleep(
261270
1000

0 commit comments

Comments
 (0)