@@ -16,7 +16,10 @@ class ScoverageSbtPlugin extends sbt.Plugin {
1616 val excludedPackages = SettingKey [String ](" scoverage-excluded-packages" )
1717 val minimumCoverage = SettingKey [Double ](" scoverage-minimum-coverage" )
1818 val failOnMinimumCoverage = SettingKey [Boolean ](" scoverage-fail-on-minimum-coverage" )
19- val highlighting = SettingKey [Boolean ](" scoverage-highlighting" , " enables range positioning for highlighting" )
19+ val highlighting = settingKey[Boolean ](" enables range positioning for highlighting" )
20+ val scoverageOutputCobertua = settingKey[Boolean ](" enables cobertura XML report generation" )
21+ val scoverageOutputXML = settingKey[Boolean ](" enables xml report generation" )
22+ val scoverageOutputHTML = settingKey[Boolean ](" enables html report generation" )
2023 }
2124
2225 import ScoverageKeys ._
@@ -43,6 +46,9 @@ class ScoverageSbtPlugin extends sbt.Plugin {
4346 failOnMinimumCoverage := false ,
4447 highlighting := false ,
4548 excludedPackages in Scoverage := " " ,
49+ scoverageOutputXML := true ,
50+ scoverageOutputHTML := true ,
51+ scoverageOutputCobertua := true ,
4652
4753 scalacOptions in Scoverage <++= (crossTarget in Compile , update, excludedPackages in Scoverage ) map {
4854 (target, report, excluded) =>
@@ -103,18 +109,22 @@ class ScoverageSbtPlugin extends sbt.Plugin {
103109 val measurements = IOUtils .invoked(measurementFiles)
104110 coverage.apply(measurements)
105111
106- streams.value.log
107- .info(s " [scoverage] Generating Cobertura report [ ${coberturaDir.getAbsolutePath}/cobertura.xml] " )
108- new CoberturaXmlWriter ((baseDirectory in Compile ).value, coberturaDir).write(coverage)
109-
110- streams.value.log.info(s " [scoverage] Generating XML report [ ${reportDir.getAbsolutePath}/scoverage.xml] " )
111- new ScoverageXmlWriter ((scalaSource in Compile ).value, reportDir, false ).write(coverage)
112- new ScoverageXmlWriter ((scalaSource in Compile ).value, reportDir, true ).write(coverage)
112+ if (scoverageOutputCobertua.value) {
113+ streams.value.log
114+ .info(s " [scoverage] Generating Cobertura report [ ${coberturaDir.getAbsolutePath}/cobertura.xml] " )
115+ new CoberturaXmlWriter ((baseDirectory in Compile ).value, coberturaDir).write(coverage)
116+ }
113117
114- streams.value.log.info(s " [scoverage] Generating HTML report [ ${reportDir.getAbsolutePath}/index.html] " )
115- new ScoverageHtmlWriter ((scalaSource in Compile ).value, reportDir).write(coverage)
118+ if (scoverageOutputXML.value) {
119+ streams.value.log.info(s " [scoverage] Generating XML report [ ${reportDir.getAbsolutePath}/scoverage.xml] " )
120+ new ScoverageXmlWriter ((scalaSource in Compile ).value, reportDir, false ).write(coverage)
121+ new ScoverageXmlWriter ((scalaSource in Compile ).value, reportDir, true ).write(coverage)
122+ }
116123
117- streams.value.log.info(" [scoverage] Reports completed" )
124+ if (scoverageOutputHTML.value) {
125+ streams.value.log.info(s " [scoverage] Generating HTML report [ ${reportDir.getAbsolutePath}/index.html] " )
126+ new ScoverageHtmlWriter ((scalaSource in Compile ).value, reportDir).write(coverage)
127+ }
118128
119129 val min = minimumCoverage.value
120130 val failOnMin = failOnMinimumCoverage.value
0 commit comments