如何让定价值的另一个项目中的多项目建立

0

的问题

我不知道,我得到权利的概念sbt工作流程。 我有多项目结构的一个任意深度的我的建立。sbt 现在我要定义的任务,它可以显示我的图书馆依赖性的项目当前的次级项目取决。 或者,在共同的:是否有任何方式获得的设定值的另一个项目?

我想要做的财产以后是这样的:

val hierarchyDeps = taskKey[Seq[ModuleID]]("")
val hierarchyDepsImpl = Def.task {
  loadedBuild.value.allProjectRefs.flatMap { case (projectRef, resolvedProject) =>
    (projectRef / libraryDependencies).value
  }
}

val cmn = project.in(file("cmn"))
val subA = project.in(file("sub_a")).dependsOn(cmn).settings(hierarchyDeps := hierarchyDepsImpl.value)
val subB = project.in(file("sub_b")).dependsOn(cmn).settings(hierarchyDeps := hierarchyDepsImpl.value)

但得到 java.lang.IllegalArgumentException:

java.lang.IllegalArgumentException: Could not find proxy for val projectRef: sbt.ProjectRef in List(value projectRef, value $anonfun, method $anonfun$hierarchyDepsImpl$1, value hierarchyDepsImpl, object $5879c5c8d08c0b0b007a, package <empty>, package <root>) (currentOwner= value hierarchyDepsImpl )
sbt scala
2021-11-24 06:33:05
1

最好的答案

0

我认为你是试图做一些事情以外的南部蓝鳍金枪鱼的理念。

你应该定义的任务,对每个项目做些什么。 然后添加 aggregate 你根本项目列表中的所有分项目。 因此,当你打电话 sbt taskName它将呼叫 taskName 对于所有分项目 aggregate.

还有,你想要做什么可以只需完成下

sbt "show libraryDependencies"

给出的定义 aggregate 你根本项目

val root = project.in(file(".")).aggregate(cmn, subA, subB)

2021-11-24 09:35:32

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................