aboutsummaryrefslogtreecommitdiff
path: root/stage2/plugins/Scalameta.scala
blob: 663399d106faf0124d188fb92788647dfcada34f (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
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"
    )
}