diff options
Diffstat (limited to 'stage2/plugins')
-rw-r--r-- | stage2/plugins/Macroparadise.scala | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/stage2/plugins/Macroparadise.scala b/stage2/plugins/Macroparadise.scala new file mode 100644 index 0000000..2b05c92 --- /dev/null +++ b/stage2/plugins/Macroparadise.scala @@ -0,0 +1,31 @@ +package cbt +import java.io.File + +trait Macroparadise extends BaseBuild{ + def macroParadiseVersion = "3.0.0-M9" + + override def scalacOptions = super.scalacOptions ++ Macroparadise.scalacOptions( + Macroparadise.dependencies( scalaVersion, macroParadiseVersion, context.cbtLastModified, context.paths.mavenCache ).jar + ) +} + +object Macroparadise{ + def dependencies( + scalaVersion: String, macroParadiseVersion: String, cbtLastModified: Long, mavenCache: java.io.File + )( + implicit logger: Logger, transientCache: java.util.Map[AnyRef,AnyRef], classLoaderCache: ClassLoaderCache + ) = + MavenResolver( cbtLastModified, mavenCache, mavenCentral ).bindOne( + MavenDependency( + "org.scalameta", "paradise_"+scalaVersion, macroParadiseVersion + ) + ) + + def scalacOptions( jarPath: File ) = + Seq( + "-Xplugin:" ++ jarPath.string, + "-Yrangepos", + "-Xplugin-require:macroparadise" + ) +} + |