scalameta / mdoc

Typechecked markdown documentation for Scala

Home Page:https://scalameta.org/mdoc/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Exception thrown by mdoc terminates unforked JVM on sbt 1.6.x

iRevive opened this issue · comments

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.

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.