Skip to content

Commit 5237e3d

Browse files
#132 clarify when reports are generated and when minimums are applied
1 parent de3830e commit 5237e3d

File tree

1 file changed

+16
-34
lines changed

1 file changed

+16
-34
lines changed

Diff for: src/main/scala/scoverage/ScoverageSbtPlugin.scala

+16-34
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ object ScoverageSbtPlugin extends AutoPlugin {
2424
commands += Command.command("coverage", "enable compiled code with instrumentation", "")(toggleCoverage(true)),
2525
commands += Command.command("coverageOff", "disable compiled code with instrumentation", "")(toggleCoverage(false)),
2626
coverageReport <<= coverageReport0,
27-
testOptions in Test += postTestReport.value,
28-
testOptions in IntegrationTest += postTestReport.value,
2927
coverageAggregate <<= coverageAggregate0,
3028
libraryDependencies ++= Seq(
3129
OrgScoverage % (ScalacRuntimeArtifact + "_" + scalaBinaryVersion.value) % ScoverageVersion % "provided" intransitive(),
@@ -65,14 +63,18 @@ object ScoverageSbtPlugin extends AutoPlugin {
6563
Thread.sleep(1000) // have noticed some delay in writing on windows, hacky but works
6664

6765
loadCoverage(target, log) match {
68-
case Some(cov) => writeReports(target,
69-
(sourceDirectories in Compile).value,
70-
cov,
71-
coverageOutputCobertura.value,
72-
coverageOutputXML.value,
73-
coverageOutputHTML.value,
74-
coverageOutputDebug.value,
75-
log)
66+
case Some(cov) =>
67+
writeReports(
68+
target,
69+
(sourceDirectories in Compile).value,
70+
cov,
71+
coverageOutputCobertura.value,
72+
coverageOutputXML.value,
73+
coverageOutputHTML.value,
74+
coverageOutputDebug.value,
75+
log)
76+
77+
checkCoverage(cov, log, coverageMinimum.value, coverageFailOnMinimum.value)
7678
case None => log.warn("No coverage data, skipping reports")
7779
}
7880
}
@@ -84,7 +86,8 @@ object ScoverageSbtPlugin extends AutoPlugin {
8486
val xmlReportFiles = crossTarget.all(aggregateFilter).value map (_ / "scoverage-report" / Constants.XMLReportFilename) filter (_.isFile())
8587
CoverageAggregator.aggregate(xmlReportFiles, coverageCleanSubprojectFiles.value) match {
8688
case Some(cov) =>
87-
writeReports(crossTarget.value,
89+
writeReports(
90+
crossTarget.value,
8891
sourceDirectories.all(aggregateFilter).value.flatten,
8992
cov,
9093
coverageOutputCobertura.value,
@@ -94,6 +97,8 @@ object ScoverageSbtPlugin extends AutoPlugin {
9497
log)
9598
val cfmt = cov.statementCoverageFormatted
9699
log.info(s"Aggregation complete. Coverage was [$cfmt]")
100+
101+
checkCoverage(cov, log, coverageMinimum.value, coverageFailOnMinimum.value)
97102
case None =>
98103
log.info("No subproject data to aggregate, skipping reports")
99104
}
@@ -113,29 +118,6 @@ object ScoverageSbtPlugin extends AutoPlugin {
113118
}
114119
}
115120

116-
private lazy val postTestReport = Def.task {
117-
val log = streams.value.log
118-
val target = crossTarget.value
119-
Tests.Cleanup {
120-
() => if (coverageEnabled.value) {
121-
loadCoverage(target, log) foreach { c =>
122-
writeReports(
123-
target,
124-
(sourceDirectories in Compile).value,
125-
c,
126-
coverageOutputCobertura.value,
127-
coverageOutputXML.value,
128-
coverageOutputHTML.value,
129-
coverageOutputDebug.value,
130-
log
131-
)
132-
checkCoverage(c, log, coverageMinimum.value, coverageFailOnMinimum.value)
133-
}
134-
()
135-
}
136-
}
137-
}
138-
139121
private def scalaArgs(coverageEnabled: Boolean,
140122
pluginPath: File,
141123
target: File,

0 commit comments

Comments
 (0)