@@ -24,8 +24,6 @@ object ScoverageSbtPlugin extends AutoPlugin {
24
24
commands += Command .command(" coverage" , " enable compiled code with instrumentation" , " " )(toggleCoverage(true )),
25
25
commands += Command .command(" coverageOff" , " disable compiled code with instrumentation" , " " )(toggleCoverage(false )),
26
26
coverageReport <<= coverageReport0,
27
- testOptions in Test += postTestReport.value,
28
- testOptions in IntegrationTest += postTestReport.value,
29
27
coverageAggregate <<= coverageAggregate0,
30
28
libraryDependencies ++= Seq (
31
29
OrgScoverage % (ScalacRuntimeArtifact + " _" + scalaBinaryVersion.value) % ScoverageVersion % " provided" intransitive(),
@@ -65,14 +63,18 @@ object ScoverageSbtPlugin extends AutoPlugin {
65
63
Thread .sleep(1000 ) // have noticed some delay in writing on windows, hacky but works
66
64
67
65
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)
76
78
case None => log.warn(" No coverage data, skipping reports" )
77
79
}
78
80
}
@@ -84,7 +86,8 @@ object ScoverageSbtPlugin extends AutoPlugin {
84
86
val xmlReportFiles = crossTarget.all(aggregateFilter).value map (_ / " scoverage-report" / Constants .XMLReportFilename ) filter (_.isFile())
85
87
CoverageAggregator .aggregate(xmlReportFiles, coverageCleanSubprojectFiles.value) match {
86
88
case Some (cov) =>
87
- writeReports(crossTarget.value,
89
+ writeReports(
90
+ crossTarget.value,
88
91
sourceDirectories.all(aggregateFilter).value.flatten,
89
92
cov,
90
93
coverageOutputCobertura.value,
@@ -94,6 +97,8 @@ object ScoverageSbtPlugin extends AutoPlugin {
94
97
log)
95
98
val cfmt = cov.statementCoverageFormatted
96
99
log.info(s " Aggregation complete. Coverage was [ $cfmt] " )
100
+
101
+ checkCoverage(cov, log, coverageMinimum.value, coverageFailOnMinimum.value)
97
102
case None =>
98
103
log.info(" No subproject data to aggregate, skipping reports" )
99
104
}
@@ -113,29 +118,6 @@ object ScoverageSbtPlugin extends AutoPlugin {
113
118
}
114
119
}
115
120
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
-
139
121
private def scalaArgs (coverageEnabled : Boolean ,
140
122
pluginPath : File ,
141
123
target : File ,
0 commit comments