Skip to content

Commit da6e495

Browse files
committed
Merge pull request #155 from gslowikowski/source-encoding-2
Source encoding parametrization - fix for issue scoverage/scalac-scoverage-plugin#134
2 parents 40bd4b2 + 8e812c1 commit da6e495

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/main/scala/scoverage/ScoverageSbtPlugin.scala

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ object ScoverageSbtPlugin extends AutoPlugin {
8181
coverageOutputHTML.value,
8282
coverageOutputDebug.value,
8383
coverageOutputTeamCity.value,
84+
sourceEncoding((scalacOptions in (Compile)).value),
8485
log)
8586

8687
checkCoverage(cov, log, coverageMinimum.value, coverageFailOnMinimum.value)
@@ -105,6 +106,7 @@ object ScoverageSbtPlugin extends AutoPlugin {
105106
coverageOutputHTML.value,
106107
coverageOutputDebug.value,
107108
coverageOutputTeamCity.value,
109+
sourceEncoding((scalacOptions in (Compile)).value),
108110
log)
109111
val cfmt = cov.statementCoverageFormatted
110112
log.info(s"Aggregation complete. Coverage was [$cfmt]")
@@ -157,6 +159,7 @@ object ScoverageSbtPlugin extends AutoPlugin {
157159
coverageOutputHTML: Boolean,
158160
coverageDebug: Boolean,
159161
coverageOutputTeamCity: Boolean,
162+
coverageSourceEncoding: Option[String],
160163
log: Logger): Unit = {
161164
log.info(s"Generating scoverage reports...")
162165

@@ -180,7 +183,7 @@ object ScoverageSbtPlugin extends AutoPlugin {
180183

181184
if (coverageOutputHTML) {
182185
log.info(s"Written HTML coverage report [${reportDir.getAbsolutePath}/index.html]")
183-
new ScoverageHtmlWriter(compileSourceDirectories, reportDir).write(coverage)
186+
new ScoverageHtmlWriter(compileSourceDirectories, reportDir, coverageSourceEncoding).write(coverage)
184187
}
185188
if (coverageOutputTeamCity) {
186189
log.info("Writing coverage report to teamcity")
@@ -259,4 +262,8 @@ object ScoverageSbtPlugin extends AutoPlugin {
259262

260263
log.info(s"All done. Coverage was [$cfmt%]")
261264
}
265+
266+
private def sourceEncoding(scalacOptions: Seq[String]): Option[String] =
267+
scalacOptions.sliding(2).collectFirst { case Seq("-encoding", encoding) => encoding }
268+
262269
}

0 commit comments

Comments
 (0)