diff --git a/main/src/main/scala/sbt/Defaults.scala b/main/src/main/scala/sbt/Defaults.scala index b943ea5c4..9d4ab0119 100644 --- a/main/src/main/scala/sbt/Defaults.scala +++ b/main/src/main/scala/sbt/Defaults.scala @@ -4813,8 +4813,8 @@ trait BuildExtra extends BuildCommon with DefExtra { } /** Transforms `dependency` to be in the auto-compiler plugin configuration. */ - def compilerPlugin(dependency: ModuleID): ModuleID = { - dependency.configurations match { + def compilerPlugin(dependency: ModuleID): ModuleID = + dependency.configurations match case Some(confs) if confs.toLowerCase != "compile" && confs.nonEmpty => sys.error( s"""Configuration-scoped compiler plugins are not supported. @@ -4823,9 +4823,10 @@ trait BuildExtra extends BuildCommon with DefExtra { |The plugin will be applied to all configurations.""".stripMargin ) case _ => - dependency.withConfigurations(Some("plugin->default(compile)")) - } - } + // Compiler plugins should ignore the subproject platform and use JVM + dependency + .withConfigurations(Some("plugin->default(compile)")) + .platform(Platform.jvm) /** Adds `dependency` to `libraryDependencies` in the auto-compiler plugin configuration. */ def addCompilerPlugin(dependency: ModuleID): Setting[Seq[ModuleID]] = diff --git a/sbt-app/src/sbt-test/plugins/hydra/Hello.scala b/sbt-app/src/sbt-test/plugins/hydra/Hello.scala deleted file mode 100644 index cd947e497..000000000 --- a/sbt-app/src/sbt-test/plugins/hydra/Hello.scala +++ /dev/null @@ -1,7 +0,0 @@ -package example - -object Hello { - def main(args: Array[String]): Unit = { - println("Hello!") - } -} diff --git a/sbt-app/src/sbt-test/plugins/hydra/build.sbt b/sbt-app/src/sbt-test/plugins/hydra/build.sbt deleted file mode 100644 index 1e702ff87..000000000 --- a/sbt-app/src/sbt-test/plugins/hydra/build.sbt +++ /dev/null @@ -1,12 +0,0 @@ -ThisBuild / scalaVersion := "2.12.21" - -lazy val check = taskKey[Unit]("") - -lazy val root = (project in file(".")) - .settings( - name := "hello", - check := { - val rs = scalaCompilerBridgeResolvers.value - assert(rs.exists(r => r.name == "Triplequote Maven Releases")) - } - ) diff --git a/sbt-app/src/sbt-test/plugins/hydra/disabled b/sbt-app/src/sbt-test/plugins/hydra/disabled deleted file mode 100644 index 15675b169..000000000 --- a/sbt-app/src/sbt-test/plugins/hydra/disabled +++ /dev/null @@ -1 +0,0 @@ -> check diff --git a/sbt-app/src/sbt-test/plugins/hydra/project/HydraPlugin.scala b/sbt-app/src/sbt-test/plugins/hydra/project/HydraPlugin.scala deleted file mode 100644 index 68d4ffa99..000000000 --- a/sbt-app/src/sbt-test/plugins/hydra/project/HydraPlugin.scala +++ /dev/null @@ -1,23 +0,0 @@ -package sbtmyplugin - -import sbt._ -import sbt.Keys._ - -object HydraPlugin extends AutoPlugin { - override def requires: Plugins = plugins.JvmPlugin - override def trigger: PluginTrigger = allRequirements - - override lazy val projectSettings = Seq( - resolvers += "Triplequote Maven Releases" at "https://repo.triplequote.com/artifactory/libs-release/", - ) ++ inConfig(Compile)(compileSettings) ++ inConfig(Test)(compileSettings) - - private lazy val compileSettings: Seq[Def.Setting[_]] = inTask(compile)(compileInputsSettings) - - private def compileInputsSettings: Seq[Setting[_]] = Seq( - scalaCompilerBridgeSource := { - ModuleID("com.triplequote", "hydra-bridge_1_0", "2.1.4") - .withConfigurations(Some(Configurations.Compile.name)) - .sources() - } - ) -} diff --git a/sbt-app/src/sbt-test/plugins/scala-native/A.scala b/sbt-app/src/sbt-test/plugins/scala-native/A.scala new file mode 100644 index 000000000..b4f7835cf --- /dev/null +++ b/sbt-app/src/sbt-test/plugins/scala-native/A.scala @@ -0,0 +1,3 @@ +package example + +case class A() diff --git a/sbt-app/src/sbt-test/plugins/scala-native/build.sbt b/sbt-app/src/sbt-test/plugins/scala-native/build.sbt new file mode 100644 index 000000000..cbef273a9 --- /dev/null +++ b/sbt-app/src/sbt-test/plugins/scala-native/build.sbt @@ -0,0 +1,3 @@ +semanticdbEnabled := true +scalaVersion := "2.13.18" +enablePlugins(ScalaNativePlugin) diff --git a/sbt-app/src/sbt-test/plugins/scala-native/project/plugins.sbt b/sbt-app/src/sbt-test/plugins/scala-native/project/plugins.sbt new file mode 100644 index 000000000..ecbbaada7 --- /dev/null +++ b/sbt-app/src/sbt-test/plugins/scala-native/project/plugins.sbt @@ -0,0 +1 @@ +addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.5.11") diff --git a/sbt-app/src/sbt-test/plugins/scala-native/test b/sbt-app/src/sbt-test/plugins/scala-native/test new file mode 100644 index 000000000..73a68203f --- /dev/null +++ b/sbt-app/src/sbt-test/plugins/scala-native/test @@ -0,0 +1 @@ +> compile \ No newline at end of file