【发布时间】:2014-08-21 22:43:47
【问题描述】:
我有几个使用 SBT 构建的 Scala 模块。其中一些(我称它们为依赖模块)正在发布到 Artifactory,然后被顶级模块使用。
对代码的所有更改都在单独的 git 分支中完成。当功能(或错误修复)完成后,该分支在 Jenkins 中编译,然后部署到测试实例并移交给 QA 团队。
所以在依赖模块中可能会有几个不同代码的git分支。
问题在于 Ivy 正在本地缓存这些模块,因此可能会使用来自不同分支的依赖模块(取自本地缓存)构建顶级模块。
我已经尝试将changing() 指令添加到build.sbt 的依赖规范中。
在这种情况下,Ivy 会忽略本地缓存,每次都去 Artifactory 下载 POM 文件。然后它解析 POM 文件,但断定它在本地缓存中有具有该版本的 jar 文件,并从本地缓存而不是从 Artifactory 获取 jar 文件。这不是我想要的。
由于此时分支中的代码还没有集成到主分支中,因此不同的特性分支具有相同的版本号,但代码不同是完全有效的。
有没有办法告诉 Ivy(通过 SBT)忽略某个 groupid 的本地缓存?或者至少是一个依赖?
【问题讨论】:
-
您是否尝试将版本标记为 SNAPSHOT?
标签: sbt