aboutsummaryrefslogtreecommitdiff
path: root/stage2/plugins/Scalameta.scala
blob: 128131cdaf1c7dbc3e27a59b1dcbfd6358f97082 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package cbt
import java.io.File
trait Scalameta extends BaseBuild{
  def scalaMetaVersion: String = "1.6.0"

  override def scalacOptions = super.scalacOptions ++ Scalameta.scalacOptions(
    Scalameta.scalaHost( scalaVersion, scalaMetaVersion, context.cbtLastModified, context.paths.mavenCache ).jar
  )
}
object Scalameta{
  def scalaHost(
    scalaVersion: String, scalaMetaVersion: 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, scalaMetaVersion
      )
    )

  def scalacOptions( scalaHost: File ) =
    Seq(
      "-Xplugin:" ++ scalaHost.string,
      "-Yrangepos",
      "-Xplugin-require:scalahost"
    )
}