是否可以通过 AutoPlugin 将解析器添加到 SBT 项目的构建中?

Is it possible to add a resolver to an SBT project's build via an AutoPlugin?

我正在创建一个包装非自动插件的 AutoPlugin flywaydb。不幸的是,非自动插件需要自定义解析器。当我发布我们的自动插件时,客户端项目的元构建中没有使用解析器,导致 SBT 无法启动,并以以下开头的大堆栈跟踪:

sbt.ResolveException: unresolved dependency: org.flywaydb#flyway-sbt;3.2.1: not found

我没有在本地捕捉到这个,因为我在 ~/.ivy/cache/scala_2.10/sbt_0.13/org.flywaydb/

中缓存了 flyway 工件

错误显然是由于 SBT 在加载启用了 AutoPlugin 的构建时未使用自定义飞路解析器。我的问题是,有没有办法通过 AutoPlugin 设置添加 meta build 解析器?或者是否要求所有插件依赖项都必须可以通过默认的 SBT 解析器解析?

第二个问题(可能是真正的问题):客户项目的元构建不会传递依赖于已启用插件的依赖性,这可能是 SBT 错误吗?

本项目为OSS。代码链接以防有帮助:

这里是插件项目添加解析器的地方: https://github.com/allenai/sbt-plugins/blob/a3ea78319836fd39cc8f2e13305e85bb9bfef5c7/build.sbt#L44-L45

这是自动插件: https://github.com/allenai/sbt-plugins/blob/a3ea78319836fd39cc8f2e13305e85bb9bfef5c7/src/main/scala/org/allenai/plugins/DatabasePlugin.scala

不幸的是,您的构建用户仍然需要将解析器设置放入 project/*.sbt

我发现我指向了错误的解析器,现在是

resolvers += "Flyway" at "https://flywaydb.org/repo"