在sbt 0.13中进行sbt-cross-building有什么用例?

时间:2014-04-20 11:55:59

标签: scala sbt

With the recent issue reported against sbt-cross-building(将.value宏用于属性时的错误),我想知道sbt 0.13.2和插件的插件的用例是什么?内置的crossScalaVersions设施是否足够(如Cross-building所述)?

需要在sbt 0.13和sbt中存在sbt-cross-building插件的用例是什么?

1 个答案:

答案 0 :(得分:3)

sbt-cross-building就像一个音乐家的音乐 - 一个插件作者的插件。由于sbt现在在次要版本之间保留了二进制兼容性,现在对sbt-cross-building的需求减少了,但它曾经是sbt插件作者之间的常规仪式,每次sbt发布时都会重新发布。所以当这个插件出来时,它曾经是我最喜欢的插件。

甚至有人谈论将插件合并到sbt母舰中,但是之前的sbt所有者提出了一种机制来交叉发布来自sbt 0.12.4的sbt 0.13插件:

sbtVersion in Global := "0.13.0-RC1" 

scalaVersion in Global := "2.10.2"

这很好用,在0.12到0.13跳跃期间,sbt-cross-publishing有点错过了这一波。 sbt-cross-publishing上的一个简洁功能是,您可以创建用于特定sbt版本的自定义Scala源目录。这样就可以使用单个插件代码库,即使从sbt端打破了源代码级兼容性。

横跨sbt版本的交叉构建的概念非常有用,就像跨Scala版本的交叉构建一样。与此同时,部分由于次要版本中的停滞,主要的版本跳跃足够大,我维护的许多插件都需要剪切新版本以利用新的Scala版本,库,DSL语法等。

相关问题