如何在所有项目中收集 SettingKey 的所有值以用于 sbt 插件?

Posted

技术标签:

【中文标题】如何在所有项目中收集 SettingKey 的所有值以用于 sbt 插件?【英文标题】:How to collect all the values for a SettingKey across all projects for use in an sbt plugin? 【发布时间】:2018-12-02 20:11:23 【问题描述】:

我正在尝试在 sbt 1.x 构建中跨所有项目/范围/等收集 libraryDependencies 的值集。

实现此目的的正确方法是什么?

【问题讨论】:

【参考方案1】:

我在Gitter sbt/sbt房间里得到了@gpoirier的回答:

val extracted = Project.extract(state.value)
import extracted._

val allLibraryDependencies = structure.allProjectRefs.flatMap( p =>
  get(libraryDependencies in p)
).distinct

【讨论】:

以上是关于如何在所有项目中收集 SettingKey 的所有值以用于 sbt 插件?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据不同的 sbt 命令设置 SettingKey 的值?

在 Target 中获取项目引用的所有依赖(dll/NuGet/Project)的路径

如何在 Vue.js 中收集没有重复的嵌套数据?

如何在一个列表中收集所有用户输入?

需要从我在我的 sbt 插件中使用的插件中提供一个 SettingKey

如何让backbone.stickit 一次收集所有值?