sbt: как зависеть от подмодуля проекта git

У меня есть проект, который зависит от:

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

и хотите изменить sbt, чтобы использовать последний мастер того же проекта из github.

Я сделал это с другими проектами, как это:

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

smile-core кажется правильным именем.

ОБНОВЛЕНИЕ: Добавление расширения.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

... что похоже на улучшение

1 ответ

Решение

Вы можете проверить, может ли работать эта " Зависимость времени компиляции подпроекта Git в Sbt" с 2015 года:

lazy val root = Project("root", sbt.file(".")).dependsOn(smileProject, ...)
lazy val smileProject = ProjectRef(uri("https://github.com/haifengl/smile.git"), "core")
Другие вопросы по тегам