Exception thrown by mdoc terminates unforked JVM on sbt 1.6.x
iRevive opened this issue · comments
Maksym Ochenashko commented
sbt: 1.6.1
sbt-mdoc: 2.2.4
The issue
sbt dropped TrapExit
mechanism in 1.6.0 release (sbt/sbt#6665), hence any exception thrown by mdoc terminates unforked JVM.
The output of docs/mdoc
command:
[info] running mdoc.Main
info: Compiling 23 files to /Users/maksim/projects/oss/xxx/mdoc/target/mdoc
error: README.md:2:15: compile-only cannot be used in combination with silent
```scala mdoc:silent:compile-only
^^^^^^^^^^^^^^^^^^^
info: Compiled in 1.69s (1 error)
[info] shutting down sbt server
The local fix
lazy val docs = project
.in(file("mdoc"))
.enablePlugins(MdocPlugin)
.settings(
+ run / fork := true
)
The proper solution
Should MdocPlugin
enable forking by default? If not, I guess it's worth mentioning a workaround in the docs.
Arman Bilge commented
I'd also be interested if there's a way to solve this in mdoc without requiring forking. For some reason forking doesn't interact well with --watch
in typelevel/sbt-typelevel#197.