Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

easiest way for users to include scalamacros paradise

I have just added some macro annotations to my library. In my library build, I include

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

to enable macro paradise.

In my users' projects that consume the macros, I know they need to include scalamacros somehow as well. Right now, in my example project, I do it the same as above. I was wondering if there was a briefer or less complicated way for the users to bring in the macros? For instance, is there some way I can leave off the cross CrossVersion.full? (As the user is probably not cross-compiling.)

like image 470
john sullivan Avatar asked Sep 05 '25 12:09

john sullivan


1 Answers

That's as simple as it gets, really. Macro paradise versions are published against full Scala versions (like 2.11.8) rather than binary versions (like 2.11). cross CrossVersion.full ensures that the full scalaVersion from a build is appended to the artifact name, so assuming scalaVersion := "2.11.8":

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

becomes

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

It's simple enough to ask your users to include a single line in their build.

like image 144
Michael Zajac Avatar answered Sep 10 '25 06:09

Michael Zajac