diff options
Diffstat (limited to 'stage2')
-rw-r--r-- | stage2/plugins.scala | 1 | ||||
-rw-r--r-- | stage2/plugins/Scalameta.scala | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/stage2/plugins.scala b/stage2/plugins.scala index b1638da..6c5ee29 100644 --- a/stage2/plugins.scala +++ b/stage2/plugins.scala @@ -5,6 +5,7 @@ class plugins( implicit context: Context ) { final lazy val googleJavaFormat = plugin( "google-java-format" ) final lazy val proguard = plugin( "proguard" ) final lazy val sbtLayout = plugin( "sbt_layout" ) + final lazy val scalafix = plugin( "scalafix" ) final lazy val scalafixCompilerPlugin = plugin( "scalafix-compiler-plugin" ) final lazy val scalafmt = plugin( "scalafmt" ) final lazy val scalaJs = plugin( "scalajs" ) diff --git a/stage2/plugins/Scalameta.scala b/stage2/plugins/Scalameta.scala new file mode 100644 index 0000000..663399d --- /dev/null +++ b/stage2/plugins/Scalameta.scala @@ -0,0 +1,26 @@ +package cbt +import java.io.File +trait Scalameta extends BaseBuild{ + override def scalacOptions = super.scalacOptions ++ Scalameta.scalacOptions( + Scalameta.scalaHost( scalaVersion, context.cbtLastModified, context.paths.mavenCache ).jar + ) +} +object Scalameta{ + def scalaHost( + scalaVersion: 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", "scalahost_"+scalaVersion, "1.6.0" + ) + ) + + def scalacOptions( scalaHost: File ) = + Seq( + "-Xplugin:" ++ scalaHost.string, + "-Yrangepos", + "-Xplugin-require:scalahost" + ) +} |