aboutsummaryrefslogtreecommitdiff
path: root/stage2/plugins/Scalameta.scala
diff options
context:
space:
mode:
Diffstat (limited to 'stage2/plugins/Scalameta.scala')
-rw-r--r--stage2/plugins/Scalameta.scala26
1 files changed, 26 insertions, 0 deletions
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"
+ )
+}