aboutsummaryrefslogtreecommitdiff
path: root/plugins/scalafix-compiler-plugin/Scalafix.scala
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/scalafix-compiler-plugin/Scalafix.scala')
-rw-r--r--plugins/scalafix-compiler-plugin/Scalafix.scala28
1 files changed, 28 insertions, 0 deletions
diff --git a/plugins/scalafix-compiler-plugin/Scalafix.scala b/plugins/scalafix-compiler-plugin/Scalafix.scala
new file mode 100644
index 0000000..2a18c5d
--- /dev/null
+++ b/plugins/scalafix-compiler-plugin/Scalafix.scala
@@ -0,0 +1,28 @@
+package cbt
+
+import cbt._
+import java.nio.file.Files._
+import java.nio.file._
+import java.io.File
+
+trait ScalafixCompilerPlugin extends BaseBuild {
+ def scalafixVersion = "0.3.1"
+
+ override def scalacOptions = super.scalacOptions ++
+ Scalafix.scalacOptions(projectDirectory.toPath,
+ Resolver( mavenCentral, sonatypeReleases ).bindOne(
+ ScalaDependency( "ch.epfl.scala", "scalafix-nsc", scalafixVersion )
+ ).jar)
+}
+
+object Scalafix {
+ def scalacOptions( rootPath: Path, nscJar: File ) =
+ Seq(
+ "-Xplugin:" ++ nscJar.string,
+ "-Yrangepos"
+ ) ++ configOption(rootPath)
+
+ def configOption( rootPath: Path ) =
+ Some( rootPath.resolve(".scalafix.conf").toAbsolutePath )
+ .filter(isRegularFile(_)).map("-P:scalafix:" ++ _.toString).toSeq
+}