From a451200bad0b619d84c10a18743a750c30ef7d96 Mon Sep 17 00:00:00 2001 From: Filipe Regadas Date: Fri, 18 Oct 2019 16:48:36 +0100 Subject: [PATCH 1/4] Fix #5110: allow semanticdbVersion override --- .../scala/sbt/plugins/SemanticdbPlugin.scala | 10 +++++----- .../project/semanticdb-version/build.sbt | 18 ++++++++++++++++++ .../src/main/scala/foo/Test.scala | 7 +++++++ .../sbt-test/project/semanticdb-version/test | 1 + 4 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 sbt/src/sbt-test/project/semanticdb-version/build.sbt create mode 100644 sbt/src/sbt-test/project/semanticdb-version/src/main/scala/foo/Test.scala create mode 100644 sbt/src/sbt-test/project/semanticdb-version/test diff --git a/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala b/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala index bb80501dc..9162901f2 100644 --- a/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala +++ b/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala @@ -21,14 +21,14 @@ object SemanticdbPlugin extends AutoPlugin { semanticdbEnabled := false, semanticdbIncludeInJar := false, semanticdbOptions := List("-Yrangepos"), - semanticdbVersion := "4.1.0", - semanticdbCompilerPlugin := { - val v = semanticdbVersion.value - ("org.scalameta" % "semanticdb-scalac" % v).cross(CrossVersion.full) - } + semanticdbVersion := "4.1.0" ) override lazy val projectSettings = Seq( + semanticdbCompilerPlugin := { + val v = semanticdbVersion.value + ("org.scalameta" % "semanticdb-scalac" % v).cross(CrossVersion.full) + }, allDependencies ++= { val sdb = semanticdbEnabled.value val m = semanticdbCompilerPlugin.value diff --git a/sbt/src/sbt-test/project/semanticdb-version/build.sbt b/sbt/src/sbt-test/project/semanticdb-version/build.sbt new file mode 100644 index 000000000..c447644ca --- /dev/null +++ b/sbt/src/sbt-test/project/semanticdb-version/build.sbt @@ -0,0 +1,18 @@ +ThisBuild / scalaVersion := "2.12.8" +ThisBuild / semanticdbEnabled := true +ThisBuild / semanticdbVersion := "4.2.3" +ThisBuild / semanticdbIncludeInJar := false + +lazy val root = (project in file(".")) + +lazy val check = taskKey[Unit]("Checks the configured semanticdbVersion") + +check := { + val expected = Some("4.2.3") + val actual = allDependencies + .value + .find(_.name == "semanticdb-scalac") + .map(_.revision) + + assert(actual == expected, s"Expected version to be $expected, was $actual") +} diff --git a/sbt/src/sbt-test/project/semanticdb-version/src/main/scala/foo/Test.scala b/sbt/src/sbt-test/project/semanticdb-version/src/main/scala/foo/Test.scala new file mode 100644 index 000000000..0bf6e4111 --- /dev/null +++ b/sbt/src/sbt-test/project/semanticdb-version/src/main/scala/foo/Test.scala @@ -0,0 +1,7 @@ +package foo + +object Test { + def main(args: Array[String]): Unit = { + println("hello world") + } +} diff --git a/sbt/src/sbt-test/project/semanticdb-version/test b/sbt/src/sbt-test/project/semanticdb-version/test new file mode 100644 index 000000000..15675b169 --- /dev/null +++ b/sbt/src/sbt-test/project/semanticdb-version/test @@ -0,0 +1 @@ +> check From 0ef5b578f84041847747aa4e1a58a1e3f728aa90 Mon Sep 17 00:00:00 2001 From: Filipe Regadas Date: Fri, 18 Oct 2019 18:39:39 +0100 Subject: [PATCH 2/4] Fix MiMa --- build.sbt | 1 + main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index db0c72eb4..8fe3bd7e7 100644 --- a/build.sbt +++ b/build.sbt @@ -765,6 +765,7 @@ lazy val mainProj = (project in file("main")) exclude[DirectMissingMethodProblem]("sbt.plugins.SbtPlugin.requires"), exclude[DirectMissingMethodProblem]("sbt.ResolvedClasspathDependency.apply"), exclude[DirectMissingMethodProblem]("sbt.ClasspathDependency.apply"), + exclude[IncompatibleSignatureProblem]("sbt.plugins.SemanticdbPlugin.globalSettings"), // File -> Source exclude[DirectMissingMethodProblem]("sbt.Defaults.cleanFilesTask"), diff --git a/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala b/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala index 9162901f2..faba09d09 100644 --- a/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala +++ b/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala @@ -17,14 +17,14 @@ object SemanticdbPlugin extends AutoPlugin { override def requires = JvmPlugin override def trigger = allRequirements - override lazy val globalSettings = Seq( + override lazy val globalSettings: Seq[Def.Setting[_]] = Seq( semanticdbEnabled := false, semanticdbIncludeInJar := false, semanticdbOptions := List("-Yrangepos"), semanticdbVersion := "4.1.0" ) - override lazy val projectSettings = Seq( + override lazy val projectSettings: Seq[Def.Setting[_]] = Seq( semanticdbCompilerPlugin := { val v = semanticdbVersion.value ("org.scalameta" % "semanticdb-scalac" % v).cross(CrossVersion.full) From 46b6ad017149ba37ca922c13a572515b013ac0cc Mon Sep 17 00:00:00 2001 From: Filipe Regadas Date: Fri, 18 Oct 2019 21:39:13 +0100 Subject: [PATCH 3/4] Bump semanticdbVersio to 4.2.4 --- main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala b/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala index faba09d09..550531d8f 100644 --- a/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala +++ b/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala @@ -21,7 +21,7 @@ object SemanticdbPlugin extends AutoPlugin { semanticdbEnabled := false, semanticdbIncludeInJar := false, semanticdbOptions := List("-Yrangepos"), - semanticdbVersion := "4.1.0" + semanticdbVersion := "4.2.4" ) override lazy val projectSettings: Seq[Def.Setting[_]] = Seq( From d49ced04da9b25a0b1b2d2022e8f662befff0822 Mon Sep 17 00:00:00 2001 From: Filipe Regadas Date: Sat, 19 Oct 2019 09:09:36 +0100 Subject: [PATCH 4/4] Bump semanticdbVersio to 4.2.3 --- main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala b/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala index 550531d8f..c6791b462 100644 --- a/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala +++ b/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala @@ -21,7 +21,7 @@ object SemanticdbPlugin extends AutoPlugin { semanticdbEnabled := false, semanticdbIncludeInJar := false, semanticdbOptions := List("-Yrangepos"), - semanticdbVersion := "4.2.4" + semanticdbVersion := "4.2.3" ) override lazy val projectSettings: Seq[Def.Setting[_]] = Seq(