From be1e756104be071fbc8862a7d59206a8481b6fad Mon Sep 17 00:00:00 2001 From: Adrien Piquerez Date: Sat, 13 Feb 2021 14:12:15 +0100 Subject: [PATCH 1/3] Upgrade semanticdb default version --- build.sbt | 1 + main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 750158a25..91e95cacf 100644 --- a/build.sbt +++ b/build.sbt @@ -19,6 +19,7 @@ ThisBuild / turbo := true ThisBuild / usePipelining := false // !(Global / insideCI).value Global / semanticdbEnabled := !(Global / insideCI).value +Global / semanticdbVersion := "4.4.8" val excludeLint = SettingKey[Set[Def.KeyedInitialize[_]]]("excludeLintKeys") Global / excludeLint := (Global / excludeLint).?.value.getOrElse(Set.empty) Global / excludeLint += componentID diff --git a/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala b/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala index 37a3d2fac..68eee6ec3 100644 --- a/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala +++ b/main/src/main/scala/sbt/plugins/SemanticdbPlugin.scala @@ -26,7 +26,7 @@ object SemanticdbPlugin extends AutoPlugin { semanticdbEnabled := SysProp.semanticdb, semanticdbIncludeInJar := false, semanticdbOptions := List(), - semanticdbVersion := "4.4.0" + semanticdbVersion := "4.4.8" ) override lazy val projectSettings: Seq[Def.Setting[_]] = Seq( From 80de6a5f6b11f52b4c8738a02b7cad36dc44e8e1 Mon Sep 17 00:00:00 2001 From: Adrien Piquerez Date: Sat, 20 Feb 2021 11:53:09 +0100 Subject: [PATCH 2/3] Add scripted auto-plugins-ivy-disabled --- .../sbt-test/project/auto-plugins-ivy-disabled/build.sbt | 6 ++++++ sbt/src/sbt-test/project/auto-plugins-ivy-disabled/test | 1 + sbt/src/sbt-test/project/auto-plugins/build.sbt | 6 +----- 3 files changed, 8 insertions(+), 5 deletions(-) create mode 100644 sbt/src/sbt-test/project/auto-plugins-ivy-disabled/build.sbt create mode 100644 sbt/src/sbt-test/project/auto-plugins-ivy-disabled/test diff --git a/sbt/src/sbt-test/project/auto-plugins-ivy-disabled/build.sbt b/sbt/src/sbt-test/project/auto-plugins-ivy-disabled/build.sbt new file mode 100644 index 000000000..82a2f4d9d --- /dev/null +++ b/sbt/src/sbt-test/project/auto-plugins-ivy-disabled/build.sbt @@ -0,0 +1,6 @@ +disablePlugins(plugins.IvyPlugin) + +TaskKey[Unit]("check") := { + val pid = projectID.?.value + assert(pid.isEmpty) +} \ No newline at end of file diff --git a/sbt/src/sbt-test/project/auto-plugins-ivy-disabled/test b/sbt/src/sbt-test/project/auto-plugins-ivy-disabled/test new file mode 100644 index 000000000..a5912a391 --- /dev/null +++ b/sbt/src/sbt-test/project/auto-plugins-ivy-disabled/test @@ -0,0 +1 @@ +> check \ No newline at end of file diff --git a/sbt/src/sbt-test/project/auto-plugins/build.sbt b/sbt/src/sbt-test/project/auto-plugins/build.sbt index a4471b3c0..f564d4879 100644 --- a/sbt/src/sbt-test/project/auto-plugins/build.sbt +++ b/sbt/src/sbt-test/project/auto-plugins/build.sbt @@ -28,9 +28,6 @@ lazy val projI = project.enablePlugins(TopC) // Tests that we can disable an auto-enabled root plugin lazy val disableAutoNoRequirePlugin = project.disablePlugins(OrgPlugin) - -disablePlugins(plugins.IvyPlugin) - check := { // Ensure organization on root is overridable. val rorg = (organization).value // Should be None @@ -38,8 +35,7 @@ check := { // this will pass when the raw disablePlugin works. val dversion = (projectID in projD).?.value // Should be None same(dversion, None, "projectID in projD") - val rversion = projectID.?.value // Should be None - same(rversion, None, "projectID") + // Ensure with multiple .sbt files that disabling/enabling works across them val fDel = (del in Quux in projF).?.value same(fDel, Some(" Q"), "del in Quux in projF") From 9a2b0f5f06c67e79f73444d9e3042aef5fae4ae6 Mon Sep 17 00:00:00 2001 From: Adrien Piquerez Date: Sat, 20 Feb 2021 13:22:30 +0100 Subject: [PATCH 3/3] Move sbtDependency in pluginCrossBuild to JvmPlugin --- main/src/main/scala/sbt/Defaults.scala | 34 +++++++++++++------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index 0f40b7c27..6bdc67b2c 100644 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -661,6 +661,23 @@ object Defaults extends BuildCommon { sbtBinaryVersion in pluginCrossBuild := binarySbtVersion( (sbtVersion in pluginCrossBuild).value ), + // Use (sbtVersion in pluginCrossBuild) to pick the sbt module to depend from the plugin. + // Because `sbtVersion in pluginCrossBuild` can be scoped to project level, + // this setting needs to be set here too. + sbtDependency in pluginCrossBuild := { + val app = appConfiguration.value + val id = app.provider.id + val sv = (sbtVersion in pluginCrossBuild).value + val scalaV = (scalaVersion in pluginCrossBuild).value + val binVersion = (scalaBinaryVersion in pluginCrossBuild).value + val cross = id.crossVersionedValue match { + case CrossValue.Disabled => Disabled() + case CrossValue.Full => CrossVersion.full + case CrossValue.Binary => CrossVersion.binary + } + val base = ModuleID(id.groupID, id.name, sv).withCrossVersion(cross) + CrossVersion(scalaV, binVersion)(base).withCrossVersion(Disabled()) + }, crossSbtVersions := Vector((sbtVersion in pluginCrossBuild).value), crossTarget := makeCrossTarget( target.value, @@ -2512,23 +2529,6 @@ object Defaults extends BuildCommon { // Missing but core settings baseDirectory := thisProject.value.base, target := baseDirectory.value / "target", - // Use (sbtVersion in pluginCrossBuild) to pick the sbt module to depend from the plugin. - // Because `sbtVersion in pluginCrossBuild` can be scoped to project level, - // this setting needs to be set here too. - sbtDependency in pluginCrossBuild := { - val app = appConfiguration.value - val id = app.provider.id - val sv = (sbtVersion in pluginCrossBuild).value - val scalaV = (scalaVersion in pluginCrossBuild).value - val binVersion = (scalaBinaryVersion in pluginCrossBuild).value - val cross = id.crossVersionedValue match { - case CrossValue.Disabled => Disabled() - case CrossValue.Full => CrossVersion.full - case CrossValue.Binary => CrossVersion.binary - } - val base = ModuleID(id.groupID, id.name, sv).withCrossVersion(cross) - CrossVersion(scalaV, binVersion)(base).withCrossVersion(Disabled()) - }, bgHashClasspath := !turbo.value, classLoaderLayeringStrategy := { if (turbo.value) ClassLoaderLayeringStrategy.AllLibraryJars