我有一组松散相关的组件,其中一些组件依赖于其他组件.为了具体,我们假设我们有"common","a"和"b"组件."common"没有任何依赖关系,但所有其他项目都使用"common".此外,"a"取决于"b".所有组件都是用Scala编写的,我想用sbt来构建它们.
以下属性很不错:
据我所知,有两种可能性在sbt中具有这种依赖性; 我们要么使用子项目,要么使用托管依赖项(在某处推送,例如在本地推送).但是,似乎这两个选项都没有提供上述(1)或(2).特别是
真的没有办法说某个sbt项目依赖于某个(相对)位置的另一个sbt项目,并且知道何时构建依赖项?
在Sbt中是否有相当于Leiningen的"结账"功能?
这是我想要完成的:
我有两个项目,一个应用程序Foo和库" Bar ".我想独立发布这些项目. Foo依赖于Bar,并且每当第三方尝试构建"Foo"(这是典型行为)时,sbt项目将指示sbt 从存储库下载" Bar " 的jar .
现在,说我想同时攻击Foo和Bar.例如,在处理Foo时,我想直接编辑和调试Bar的一些源代码,因此编辑会影响Foo(稍后在方便的时候重建Bar).
在此黑客会话期间,如何指示sbt 从我的机器(而不是我的本地存储库)上的源代码中满足其对Bar的依赖?
(PS我问过Clojure/Leiningen 的类似问题 .Leiningen有"结账"功能来完成这个.我想知道是否有类似的东西......)