我正在创建一个包含非自动插件的 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/中缓存了飞行路径工件
该错误显然是由于 SBT 在启用 AutoPlugin 的情况下加载构建时未使用自定义飞行路径解析器。我的问题是,有没有办法通过 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
最佳答案
我发现我指向了错误的解析器,现在是
resolvers += "Flyway" at "https://flywaydb.org/repo"
关于sbt - 是否可以通过 AutoPlugin 将解析器添加到 SBT 项目的构建中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30248497/