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

我正在创建一个包装非自动插件
flywaydb的AutoPlugin.不幸的是,非自动插件需要一个自定义解析器.当我发布我们的autoplugin时,解析器不会在客户端项目的元构建中使用,导致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的情况下加载构建时未使用自定义flyway解析器.我的问题是,有没有办法通过AutoPlugin设置添加元构建解析器?或者是否必须通过默认的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

最佳答案 不幸的是,您的构建用户仍然需要在项目/ * .sbt中放入解析器设置.

点赞