用户最简单的方式包括scalamacros天堂

时间:2016-12-06 19:08:08

标签: scala macros sbt scala-macros scala-macro-paradise

我刚刚在我的库中添加了一些宏注释。在我的库构建中,我包括

addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full)

启用宏观天堂。

在我的用户中'使用宏的项目,我知道他们也需要以某种方式包含scalamacros。现在,在我的示例项目中,我和上面一样。我想知道是否有更简洁或更简单的方式让用户引入宏?例如,我可以通过某种方式离开cross CrossVersion.full吗? (因为用户可能没有交叉编译。)

1 个答案:

答案 0 :(得分:2)

这很简单,真的。宏天堂版本是针对完整的Scala版本(如2.11.8)而不是二进制版本(如2.11)发布的。 cross CrossVersion.full确保构建中的完整scalaVersion附加到工件名称,因此假定为scalaVersion := "2.11.8"

addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full)

变为

addCompilerPlugin("org.scalamacros" % "paradise_2.11.8" % "2.1.0")

很简单,要求您的用户在其构建中包含一行。