scala - 在 sbt 中,如何在本地 git 存储库的分支上创建源依赖项?

标签 scala sbt

sbt 对源依赖项目有这些语法:

RootProject(file("/a/b/c"))
RootProject(uri("git://github.com/a/b/c#some-branch"))

但我找不到任何方法从本地 git 存储库克隆,而这不需要像运行 git 服务器这样荒谬的东西。我想表达以下内容,或道德上的等价物——道德上的等价物意味着它不应该需要 ssh 或工作 DNS 或 git 服务器,甚至不需要“localhost”的工作解析,也不应该引入任何形式的无意义的构建脆弱性。 (手动将所需的分支 check out 到另一个工作目录并将 sbt 指向该分支是毫无意义的构建脆弱性的一个例子。)

RootProject(file("/a/b/c#some-branch"))
// This seems like the most plausible syntax,
// but it explodes during cloning - "ssh: Could not resolve hostname git"
RootProject(uri("git:/a/b/c#some-branch"))

最佳答案

第二次尝试非常接近,假设 commit 是您要使用的提交的 SHA1,并且您将 repo 克隆到 /a/b/c:

RootProject(uri(s"git:file:///a/b/c/#$commit"))

关于scala - 在 sbt 中,如何在本地 git 存储库的分支上创建源依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22274921/

相关文章:

scala - 如何与 Seq[Double] 中的先前值进行比较

scala - 尝试在 Ubuntu 上运行 sbt。 (错误 : java. lang.NoClassDefFoundError:scala/ScalaObject)

scala - 使用向后兼容模式读取 Spark 中的旧数据

scala - 无法在 Play/Scala 中打印 LoggerContext

sbt 根据子项目中的测试给出 "configuration not public"

scala - liftweb sbt持续集成教程

scala - IntelliJ 无法解析 build.sbt 中的符号

scala - org.apache.arrow 的 sbt-assembly 重复数据删除错误

generics - 使用类型级计算时类型推断/类型检查失败

scala - IntelliJ IDEA/Scala - 无法读取资源