我正在深入研究 Scala 并注意到 sbt。我对 java/groovy 项目中的 Gradle 非常满意,而且我知道 Gradle 有一个 scala 插件。
在 Scala 项目中支持 sbt 而不是 Gradle 的充分理由是什么?
请注意,SBT 和 Gradle 之间的一个主要区别是其依赖管理:
-
SBT https://github.com/harrah/xsbt/wiki: Ivy http://ant.apache.org/ivy/,修订版可以作为固定修订版(例如 1.5.2)或最新(或动态)修订版。
See "常春藤依赖 http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency.html"
这意味着“-SNAPSHOT”机制支持可能会出现问题,即使马克·哈拉 https://github.com/harrah详细信息在这个线程 https://groups.google.com/d/msg/simple-build-tool/XeQmdUwC6iU/vdCIlCGYxBwJ:
确实,缓存可能会变得混乱,但 Ivy 并不理解解析快照。尤金在另一个线程中解释了这一点,可能是在管理员列表中。 sbt 自动更新存在问题,已在 0.12 中解决。
据我所知,Ivy 不支持以 Maven 的方式发布快照。我相信我已经在其他地方说过这一点,但如果有人想改善这种情况,我的观点是最好与 Gradle 团队合作以重用他们的依赖管理代码。
-
Gradle http://www.gradle.org/: 这个线程 https://groups.google.com/d/msg/simple-build-tool/XeQmdUwC6iU/vdCIlCGYxBwJ提到(彼得·尼德维瑟 https://twitter.com/#!/pniederw):
只是想让你知道,Ivy 和 Maven 快照依赖关系的问题是 Gradle 最终用自己的依赖管理代码取代 Ivy 的原因之一。这是一项艰巨的任务,但给我们带来了很多好处。
这条推文 https://twitter.com/ijuma/status/212441297129193472提到未来所有情况都可能发生变化:
Mark 过去曾表示,他有兴趣使用 Gradle 而不是 Ivy 进行 SBT。
(这两个工具都可以互相学习 https://twitter.com/timperrett/status/212452663810457601)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)