我们有自定义SBT任务,它具有依赖关系(addSbtPlugin
)。但是这个插件实际上并没有用于编译和测试,尽管SBT试图立即解决依赖。
是否可以使SBT仅在特定任务启动时解决此依赖关系?
答案 0 :(得分:1)
我认为这是不可能的。如果我理解正确,你问的是什么类似于“只有当我运行依赖于它的代码时才能解析库依赖关系?”。如果您的任务依赖于插件(或由插件引入),则必须在加载项目时解决该依赖关系。
另外请注意,如果此插件与项目本身无关,并且您不想强迫其他维护者使用它,那么最好将其添加到global config(这只会影响项目)你为你的计算机上的所有sbt项目工作):
addSbtPlugin
放入~/.sbt/1.0/plugins/
~/.sbt/1.0/global.sbt
(替换版本,如果您使用较旧的sbt)