aboutsummaryrefslogblamecommitdiff
path: root/stage2/plugins/Scalameta.scala
blob: 128131cdaf1c7dbc3e27a59b1dcbfd6358f97082 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11


                                  

                                        
                                                                              
                                                                                                                



                 
                                                                                                   




                                                                                                             
                                                                    









                                        
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"
    )
}