Ako získať nastavenie hodnoty ďalší projekt v multi-project stavať

0

Otázka

Nie som si istý, že som sa správne pojem sbt workflow. Mám multi-project štruktúra ľubovoľnej hĺbky v mojom stavať.sbt Teraz chcem definovať úlohy, ktoré môžete mi ukázať, knižnica závislosti projektu aktuálnych čiastkových projektov závisí na. Alebo v spoločných: je tam nejaký spôsob, ako získať nastavenie hodnoty ďalší projekt?

Snažím sa robiť somthing, ako je tento:

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)

ale dostať 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

Najlepšiu odpoveď

0

Myslím si, že sa snaží urobiť niečo mimo sbt filozofie.

Mali by ste definovať úlohy pre každý projekt, ktorý robí niečo. Potom pridať aggregate na váš korenový projektu zoznam všetkých sub-projektov. Preto, keď budete volať sbt taskNameto sa bude volať taskName pre všetkých sub-projektov v aggregate.

Tiež, to, čo chcete robiť, možno vykonať len s nasledujúcimi

sbt "show libraryDependencies"

vzhľadom na to, že ste definovali aggregate pre váš korenový projektu

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

2021-11-24 09:35:32

V iných jazykoch

Táto stránka je v iných jazykoch

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