diff --git a/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala b/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala index fcca397de..37a3d2fac 100644 --- a/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala +++ b/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala @@ -70,9 +70,11 @@ object SemanticdbPlugin extends AutoPlugin { targetRootOptions(scalaVersion.value, semanticdbTargetRoot.value), scalacOptions --= Def.settingDyn { val config = configuration.value - Def.setting { - semanticdbOptions.?.all(ancestorConfigs(config)).value.flatten.flatten - } + val enabled = semanticdbEnabled.value + if (enabled) + Def.setting { + semanticdbOptions.?.all(ancestorConfigs(config)).value.flatten.flatten + } else Def.setting { Nil } }.value, scalacOptions ++= { if (semanticdbEnabled.value) diff --git a/sbt/src/sbt-test/tests/munit/build.sbt b/sbt/src/sbt-test/tests/munit/build.sbt new file mode 100644 index 000000000..8468c0502 --- /dev/null +++ b/sbt/src/sbt-test/tests/munit/build.sbt @@ -0,0 +1,10 @@ +ThisBuild / scalaVersion := "2.12.12" + +lazy val munit = "org.scalameta" %% "munit" % "0.7.22" + +lazy val root = (project in file(".")) + .settings( + Compile / scalacOptions += "-Yrangepos", + libraryDependencies += munit % Test, + testFrameworks += new TestFramework("munit.Framework"), + ) diff --git a/sbt/src/sbt-test/tests/munit/src/test/scala/ClueSuite.scala b/sbt/src/sbt-test/tests/munit/src/test/scala/ClueSuite.scala new file mode 100644 index 000000000..f4e44be9a --- /dev/null +++ b/sbt/src/sbt-test/tests/munit/src/test/scala/ClueSuite.scala @@ -0,0 +1,40 @@ +package testpkg + +import munit._ + +class ClueSuite extends FunSuite { + val x = 42 + val y = 32 + checkPrint( + "clues", + clues(x, y), + """|Clues { + | x: Int = 42 + | y: Int = 32 + |} + |""".stripMargin + ) + + val z: List[Int] = List(1) + checkPrint( + "list", + clues(z), + """|Clues { + | z: List[Int] = List( + | 1 + | ) + |} + |""".stripMargin + ) + + def checkPrint( + options: TestOptions, + clues: Clues, + expected: String + )(implicit loc: Location): Unit = { + test(options) { + val obtained = munitPrint(clues) + assertNoDiff(obtained, expected) + } + } +} diff --git a/sbt/src/sbt-test/tests/munit/test b/sbt/src/sbt-test/tests/munit/test new file mode 100644 index 000000000..dfffb838b --- /dev/null +++ b/sbt/src/sbt-test/tests/munit/test @@ -0,0 +1 @@ +> test