У меня возникли проблемы с тем, чтобы сделать jacoco4sbt, работая с моим проектом Play 2.3.4.Как настроить jacoco4sbt для обработки классов в основных и подмодулях в Play?
Мой проект состоит из 3-х подмодулей: common
, api
и frontend
и не имеет кода в app
корневой папке. Теперь, когда я запускаю Jacoco, он не находит классы подмодулей.
Осмотр target/scala-VERSION/classes
Я нахожу только некоторые классы маршрутизации (на самом деле это единственный код, который у меня есть в моем «корневом» проекте, но я ожидал этого, потому что я собираю все эти проекты, которые будут там).
Если я копирую классы от MODULE_NAME/target/scala-VERSION/classes
до target/scala-VERSION/classes
, а затем запускаю Jacoco, я получаю ожидаемый результат.
Итак, что является лучшим способом заставить его работать? Я не могу найти какую-либо конфигурацию в jacoco4sbt, чтобы указать дополнительные классы.
Мой build.sbt файл
import Keys._
// Dummy value to deal with bug in sbt 0.13.5
val k = 0
name := "PlayApp"
version := "0.5.0"
// omitted resolvers part
scalaVersion := "2.10.4"
libraryDependencies ++= Seq(
"com.edulify" %% "play-hikaricp" % "1.5.0" exclude("com.jolbox", "bonecp"),
"com.novocode" % "junit-interface" % "0.11" % "test"
)
lazy val common = project.in(file("common")).enablePlugins(PlayJava)
lazy val frontend = project.in(file("frontend")).enablePlugins(PlayJava).dependsOn(common)
lazy val api = project.in(file("api")).enablePlugins(PlayJava).dependsOn(common)
lazy val main = project.in(file(".")).enablePlugins(PlayJava)
.aggregate(frontend, api).dependsOn(frontend, api)
parallelExecution in Test := false
javaOptions in Test += "-Dconfig.resource=test.conf"
jacoco.sbt
import de.johoop.jacoco4sbt._
import JacocoPlugin._
jacoco.settings
Keys.fork in jacoco.Config := true
parallelExecution in jacoco.Config := false
jacoco.outputDirectory in jacoco.Config := file("target/jacoco")
jacoco.reportFormats in jacoco.Config := Seq(XMLReport("utf-8"), HTMLReport("utf-8"))
jacoco.excludes in jacoco.Config := Seq("views*", "*Routes*", "controllers*routes*", "controllers*Reverse*", "controllers*javascript*", "controller*ref*")
javaOptions in jacoco.Config += "-Dconfig.resource=test.conf"