diff options
author | Martin Egri <meg@speedledger.se> | 2017-06-13 15:09:37 +0200 |
---|---|---|
committer | Martin Egri <meg@speedledger.se> | 2017-06-13 15:09:37 +0200 |
commit | 38c7dc3bb8b81bebd7dc6a9e092cec0c10d30a9f (patch) | |
tree | 7a0cdec601addcfe487d299dcad25dc85c3dd7e8 /stage2/plugins/NewStyleMacros.scala | |
parent | 7d8d01dfb5dc934dc57f08d9e24be38c67270ea3 (diff) | |
download | cbt-38c7dc3bb8b81bebd7dc6a9e092cec0c10d30a9f.tar.gz cbt-38c7dc3bb8b81bebd7dc6a9e092cec0c10d30a9f.tar.bz2 cbt-38c7dc3bb8b81bebd7dc6a9e092cec0c10d30a9f.zip |
Disambiguate old-style/new-style macro compiler plugin builds
Diffstat (limited to 'stage2/plugins/NewStyleMacros.scala')
-rw-r--r-- | stage2/plugins/NewStyleMacros.scala | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/stage2/plugins/NewStyleMacros.scala b/stage2/plugins/NewStyleMacros.scala new file mode 100644 index 0000000..42b3287 --- /dev/null +++ b/stage2/plugins/NewStyleMacros.scala @@ -0,0 +1,29 @@ +package cbt +import java.io.File + +trait NewStyleMacros extends BaseBuild{ + def newStyleMacrosVersion = "3.0.0-M9" + + override def scalacOptions = super.scalacOptions ++ NewStyleMacros.scalacOptions( + NewStyleMacros.dependencies( scalaVersion, newStyleMacrosVersion, context.cbtLastModified, context.paths.mavenCache ).jar + ) +} + +object NewStyleMacros{ + def dependencies( + scalaVersion: String, newStyleMacrosVersion: 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, newStyleMacrosVersion ) + ) + + def scalacOptions( jarPath: File ) = + Seq( + "-Xplugin:" ++ jarPath.string, + "-Yrangepos", + "-Xplugin-require:macroparadise" + ) +} + |