【发布时间】:2022-01-13 14:21:38
【问题描述】:
用例:我希望能够显示我的 sbt 项目的依赖关系树,因此我将 addDependencyTreePlugin 添加到我的 ~/.sbt/1.0/plugins.sbt 中,以使其在我的机器上全局可用。
但是,该插件仅在 sbt 1.4.x 之后才可用(不确定确切的版本)。
问题:每当我尝试构建一个具有sbt.version=1.3.x 或build.properties 或更低的项目时,它都会失败。
有没有办法根据构建过程使用的“当前”版本的 sbt 有条件地执行 addDependencyTreePlugin?
这不起作用:
addDependencyTreePlugin.filter(es => sbtVersion.value.startsWith("1.5")
sbt 会抱怨:
.../plugins.sbt:4: error: `value` can only be used within a task or setting macro, such as :=, +=, ++=, Def.task, or Def.setting.
addDependencyTreePlugin.filter(es => sbtVersion.value.startsWith("1.5"))
^
【问题讨论】:
-
你为什么不升级那些项目呢? Sbt 兼容回 1.0。
-
我很乐意,但企业环境发展缓慢,因此并非所有项目都可以一直更新。此外,在回顾旧分支时,我有时希望能够使用旧版本重现构建。
标签: scala sbt sbt-plugin