sbt 脚本插件失败,因为未解决对发布交叉编译的 scala 版本的依赖

sbt scripted plugin fails as an unresolved dependency on publishing cross-compiled scala versions

我们的 play-googleauth 库基于 Scala 2.12 构建,并使用 sbt 1.1.6 交叉编译为 Scala 2.11。由于该库旨在 运行 用于 Play 项目,我们过去曾提供一个使用该库的独立 Playframework 项目示例,以便用户了解如何设置它。

我最近将 sbt 插件 scripted 添加到项目中,因此通过 运行 运行 sbt 命令 scripted 我们可以检查示例项目是否正常工作。但是,我现在发现我们的发布过程失败了:

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.scala-sbt#scripted-sbt_2.11;1.1.6: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn] 
[warn]  Note: Unresolved dependencies path:
[warn]      org.scala-sbt:scripted-sbt_2.11:1.1.6 ((sbt.ScriptedPlugin.projectSettings) ScriptedPlugin.scala#L43)
[warn]        +- com.gu:play-googleauth_2.11:0.7.7-SNAPSHOT

如果您克隆回购协议并签出 scripted-plugin-fails-to-resolve 标签,您可以通过 运行 宁 sbt +publishLocal.

重现它

这里出了什么问题? scripted 的问题是用于开发 sbt 插件而不是 Scala 库(如果是这样,是否有一个好的选择)?我知道 scripted 在 Play 2.6 中使用,它交叉编译为 Scala 2.12 和 2.11。

Maven Central 表示脚本插件 1.1.6 未针对 2.11 发布。

Play 2.6 使用 SBT 0.13.17 and so fetches scripted-plugin 0.13.17