gpt4 book ai didi

scala - 在多项目 Build.sbt 中分解 libraryDependencies

转载 作者:行者123 更新时间:2023-12-01 23:57:39 26 4
gpt4 key购买 nike

我正在尝试编写一个简洁的多项目Build.sbt,因此我尝试将所有库依赖项放在根项目中,然后让其他人依赖它。我的 Build.sbt 如下所示:

object KataBuild extends Build {

lazy val fizzBuzz = Project(
id = "fizzBuzz",
base = file("fizzBuzz"),
settings = Project.defaultSettings ++ Seq(
name := "fizzBuzz",
version := "1.0",
scalaVersion := "2.10.3"
)
)

lazy val kata = Project(
id = "scala-kata",
base = file("."),
settings = Project.defaultSettings ++ Seq(
name := "scala-kata",
version := "1.0",
scalaVersion := "2.10.3",
libraryDependencies ++= Seq(
"org.scalatest" %% "scalatest" % "2.1.0" % "test"
)
)
) aggregate(fizzBuzz)

fizzBuzz dependsOn(kata)

}

但是从主项目 (scala-kata) 运行测试无法为 fizzBu​​zz 构建测试。我错过了什么?

最佳答案

您的问题类似于this one .总之,fizzBuzz.dependsOn(kata)意味着它的编译配置依赖于kata的编译配置,但是你想链接测试配置。

'Per-configuration classpath dependencies' sbt 文档的一部分向您展示了如何制作 test->test依赖代替。

但是,如果您不打算使用 kata的测试源,但只是在寻找一种在 fizzBuzz 中包含 Scala-Test 的方法, 只需将其显式添加到 fizzBuzz的库依赖项也是如此。您可以定义一个辅助值

lazy val scalaTest = "org.scalatest" %% "scalatest" % "2.1.0" % "test"

然后您可以将其添加为子项目的库依赖项( libraryDependencies += scalaTest )。

关于scala - 在多项目 Build.sbt 中分解 libraryDependencies,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22878896/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com