我有一组松散相关的组件,其中一些依赖于其他组件。为了具体起见,让我们假设我们有组件“common”、“a”和“b”。 “common”没有任何依赖关系,但所有其他项目都使用“common”。此外,“a”取决于“b”。所有组件都是用 Scala 编写的,我想使用 sbt 来构建它们。
拥有以下属性会很好:
据我所知,在 sbt 中存在这种依赖有两种可能性;我们要么使用子项目,要么使用托管依赖项(推送到某处,例如本地)。但是,这两个选项似乎都没有提供上述 (1) 或 (2)。特别是
真的没有办法说一个 sbt 项目依赖于某个(相对)位置的另一个 sbt 项目,并且让 sbt 弄清楚何时建立依赖关系?
最佳答案
通过 SBT,您可以使用源依赖项。
lazy val root = Project("root", file("."), settings = ...) dependsOn(dispatchLiftJson)
lazy val dispatchLiftJson = uri("git://github.com/dispatch/dispatch-lift-json#0.1.0")
在这个例子中,它将从 git 中获取。您可以在磁盘上指定文件位置,但我找不到示例。可能
lazy val dep = file("/path/to")
或者
lazy val dep = uri("file:///path/to")
我自己也在为此苦苦挣扎 - 目前我正在使用运行正常的发布本地方法。
关于scala - SBT:在不发布的情况下依赖其他 SBT 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12764795/