3

我有一个项目取决于:

"com.github.haifengl" % "smile-core" % "1.1.0",
"com.github.haifengl" % "smile-scala_2.11" % "1.1.0",

并想修改 sbt 以使用来自 github 的同一项目的最新 master。

我已经用其他类似的项目做到了这一点:

lazy val myProject = Project("myProject", file("."))
  .settings(commonSettings: _*)
  .dependsOn(smileProject)


lazy val smileProject = RootProject(uri("https://github.com/haifengl/smile"))

但是,这失败了:

 unresolved dependency: default#smile_2.11;0.1-SNAPSHOT: not found

这有点道理。按照这个例子

lazy val smileProject = ProjectRef(uri("https://github.com/haifengl/smile"), "smile-core")

我得到:

[error] No project 'smile-core' in 'https://github.com/haifengl/smile'.
[error] Valid project IDs: smile

微笑核心似乎是正确的名称。

更新:添加 .git 扩展名

lazy val smileProject = ProjectRef(uri("https://github.com/haifengl/smile.git"), "smile-core")

还给出:

[error] No project 'smile-core' in 'https://github.com/haifengl/smile.git'.
[error] Valid project IDs: benchmark, core, data, demo, graph, interpolation, math, nlp, plot, root, scala, shell

...这似乎是一种改进

4

1 回答 1

2

您可以检查2015 年的“ Git Subproject Compile-time Dependencies in Sbt ”是否可以工作:

lazy val root = Project("root", sbt.file(".")).dependsOn(smileProject, ...)
lazy val smileProject = ProjectRef(uri("https://github.com/haifengl/smile.git"), "core")
于 2016-08-12T12:04:09.837 回答