summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Heredia Montiel <fabianherediajr@gmail.com>2019-09-04 16:02:03 -0500
committerTobias Roeser <le.petit.fou@web.de>2019-09-04 23:02:03 +0200
commit67ba8651ab940c911f62ac6a3350c56a6917b830 (patch)
treed620fc81416a594f97233fa8a60bebc8fa9177de
parentbf99e9fee28b0c391eb89bb6d86a65eb7b6ef61a (diff)
downloadmill-67ba8651ab940c911f62ac6a3350c56a6917b830.tar.gz
mill-67ba8651ab940c911f62ac6a3350c56a6917b830.tar.bz2
mill-67ba8651ab940c911f62ac6a3350c56a6917b830.zip
Upgrade scoverage: 1.3.1 -> 1.4.0 (#687)
-rwxr-xr-xbuild.sc5
-rw-r--r--contrib/scoverage/src/ScoverageModule.scala4
-rw-r--r--contrib/scoverage/test/src/HelloWorldTests.scala20
-rw-r--r--contrib/scoverage/worker/1.4.0/src/ScoverageReportWorkerImpl.scala37
-rw-r--r--docs/pages/9 - Contrib Modules.md6
5 files changed, 55 insertions, 17 deletions
diff --git a/build.sc b/build.sc
index e78d8947..02f06b07 100755
--- a/build.sc
+++ b/build.sc
@@ -361,7 +361,8 @@ object contrib extends MillModule {
def testArgs = T {
val mapping = Map(
- "MILL_SCOVERAGE_REPORT_WORKER_1_3_1" -> worker("1.3.1").compile().classes.path
+ "MILL_SCOVERAGE_REPORT_WORKER_1_3_1" -> worker("1.3.1").compile().classes.path,
+ "MILL_SCOVERAGE_REPORT_WORKER_1_4_0" -> worker("1.4.0").compile().classes.path
)
scalalib.worker.testArgs() ++
scalalib.backgroundwrapper.testArgs() ++
@@ -378,7 +379,7 @@ object contrib extends MillModule {
def moduleDeps = Seq(scalalib)
}
- object worker extends Cross[WorkerModule]("1.3.1")
+ object worker extends Cross[WorkerModule]("1.3.1", "1.4.0")
class WorkerModule(scoverageVersion: String) extends MillApiModule {
def moduleDeps = Seq(scoverage.api)
diff --git a/contrib/scoverage/src/ScoverageModule.scala b/contrib/scoverage/src/ScoverageModule.scala
index 734c317f..a4637e1a 100644
--- a/contrib/scoverage/src/ScoverageModule.scala
+++ b/contrib/scoverage/src/ScoverageModule.scala
@@ -27,8 +27,8 @@ import mill.moduledefs.Cacher
* import mill.contrib.scoverage.ScoverageModule
*
* Object foo extends ScoverageModule {
- * def scalaVersion = "2.11.8"
- * def scoverageVersion = "1.3.1"
+ * def scalaVersion = "2.12.9"
+ * def scoverageVersion = "1.4.0"
*
* object test extends ScoverageTests {
* def ivyDeps = Agg(ivy"org.scalatest::scalatest:3.0.5")
diff --git a/contrib/scoverage/test/src/HelloWorldTests.scala b/contrib/scoverage/test/src/HelloWorldTests.scala
index 66f7a50e..62ca4b77 100644
--- a/contrib/scoverage/test/src/HelloWorldTests.scala
+++ b/contrib/scoverage/test/src/HelloWorldTests.scala
@@ -17,12 +17,12 @@ object HelloWorldTests extends utest.TestSuite {
object HelloWorld extends HelloBase {
object other extends ScalaModule {
- def scalaVersion = "2.12.4"
+ def scalaVersion = "2.12.9"
}
object core extends ScoverageModule with BuildInfo {
- def scalaVersion = "2.12.4"
- def scoverageVersion = "1.3.1"
+ def scalaVersion = "2.12.9"
+ def scoverageVersion = "1.4.0"
def moduleDeps = Seq(other)
@@ -31,7 +31,7 @@ object HelloWorldTests extends utest.TestSuite {
}
object test extends ScoverageTests {
- override def ivyDeps = Agg(ivy"org.scalatest::scalatest:3.0.5")
+ override def ivyDeps = Agg(ivy"org.scalatest::scalatest:3.0.8")
def testFrameworks = Seq("org.scalatest.tools.Framework")
}
}
@@ -39,8 +39,8 @@ object HelloWorldTests extends utest.TestSuite {
object HelloWorldSbt extends HelloBase { outer =>
object core extends ScoverageModule {
- def scalaVersion = "2.12.4"
- def scoverageVersion = "1.3.1"
+ def scalaVersion = "2.12.9"
+ def scoverageVersion = "1.4.0"
override def sources = T.sources(
millSourcePath / 'src / 'main / 'scala,
millSourcePath / 'src / 'main / 'java
@@ -48,7 +48,7 @@ object HelloWorldTests extends utest.TestSuite {
override def resources = T.sources{ millSourcePath / 'src / 'main / 'resources }
object test extends ScoverageTests {
- override def ivyDeps = Agg(ivy"org.scalatest::scalatest:3.0.5")
+ override def ivyDeps = Agg(ivy"org.scalatest::scalatest:3.0.8")
def testFrameworks = Seq("org.scalatest.tools.Framework")
override def millSourcePath = outer.millSourcePath
override def intellijModulePath = outer.millSourcePath / 'src / 'test
@@ -74,7 +74,7 @@ object HelloWorldTests extends utest.TestSuite {
val Right((result, evalCount)) = eval.apply(HelloWorld.core.scoverageVersion)
assert(
- result == "1.3.1",
+ result == "1.4.0",
evalCount > 0
)
}
@@ -84,7 +84,7 @@ object HelloWorldTests extends utest.TestSuite {
eval.apply(HelloWorld.core.scoverage.ivyDeps)
assert(
- result == Agg(ivy"org.scoverage::scalac-scoverage-runtime:1.3.1"),
+ result == Agg(ivy"org.scoverage::scalac-scoverage-runtime:1.4.0"),
evalCount > 0
)
}
@@ -93,7 +93,7 @@ object HelloWorldTests extends utest.TestSuite {
eval.apply(HelloWorld.core.scoverage.scalacPluginIvyDeps)
assert(
- result == Agg(ivy"org.scoverage::scalac-scoverage-plugin:1.3.1"),
+ result == Agg(ivy"org.scoverage::scalac-scoverage-plugin:1.4.0"),
evalCount > 0
)
}
diff --git a/contrib/scoverage/worker/1.4.0/src/ScoverageReportWorkerImpl.scala b/contrib/scoverage/worker/1.4.0/src/ScoverageReportWorkerImpl.scala
new file mode 100644
index 00000000..63fdd693
--- /dev/null
+++ b/contrib/scoverage/worker/1.4.0/src/ScoverageReportWorkerImpl.scala
@@ -0,0 +1,37 @@
+package mill.contrib.scoverage.worker
+
+import mill.contrib.scoverage.api.ScoverageReportWorkerApi
+import mill.eval.PathRef
+import _root_.scoverage.Serializer.{ coverageFile, deserialize }
+import _root_.scoverage.IOUtils.{ findMeasurementFiles, invoked }
+import _root_.scoverage.report.ScoverageHtmlWriter
+import _root_.scoverage.report.ScoverageXmlWriter
+
+private sealed trait ReportType { def folderName: String }
+private case object Html extends ReportType { val folderName: String = "htmlReport" }
+private case object Xml extends ReportType { val folderName: String = "xmlReport" }
+
+class ScoverageReportWorkerImpl extends ScoverageReportWorkerApi {
+ private def buildReport(sources: Seq[PathRef], dataDir: String, selfDir: String, reportType: ReportType) = {
+ val coverageFileObj = coverageFile(dataDir)
+ val coverage = deserialize(coverageFileObj)
+ coverage(invoked(findMeasurementFiles(dataDir)))
+ val sourceFolders = sources.map(_.path.toIO)
+ val folder = new java.io.File(s"${selfDir}/${reportType.folderName}")
+ folder.mkdir()
+ reportType match {
+ case Html =>
+ new ScoverageHtmlWriter(sourceFolders, folder, None)
+ .write(coverage)
+ case Xml =>
+ new ScoverageXmlWriter(sourceFolders, folder, false)
+ .write(coverage)
+ }
+ }
+ def htmlReport(sources: Seq[PathRef], dataDir: String, selfDir: String) = {
+ buildReport(sources, dataDir, selfDir, Html)
+ }
+ def xmlReport(sources: Seq[PathRef], dataDir: String, selfDir: String) = {
+ buildReport(sources, dataDir, selfDir, Xml)
+ }
+}
diff --git a/docs/pages/9 - Contrib Modules.md b/docs/pages/9 - Contrib Modules.md
index 44377462..d116357c 100644
--- a/docs/pages/9 - Contrib Modules.md
+++ b/docs/pages/9 - Contrib Modules.md
@@ -596,11 +596,11 @@ import $ivy.`com.lihaoyi::mill-contrib-scoverage:$MILL_VERSION`
import mill.contrib.scoverage.ScoverageModule
object foo extends ScoverageModule {
- def scalaVersion = "2.11.8"
- def scoverageVersion = "1.3.1"
+ def scalaVersion = "2.12.9"
+ def scoverageVersion = "1.4.0"
object test extends ScoverageTests {
- def ivyDeps = Agg(ivy"org.scalatest::scalatest:3.0.5")
+ def ivyDeps = Agg(ivy"org.scalatest::scalatest:3.0.8")
def testFrameworks = Seq("org.scalatest.tools.Framework")
}
}