aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorIlya Kirillov <darthorimar@users.noreply.github.com>2017-03-18 15:42:33 +0300
committerIlya Kirillov <darthorimar@users.noreply.github.com>2017-03-19 02:56:28 +0300
commit923fd231e0b2c22c0c60379da91066c0f544e83c (patch)
tree1f80e94e0f605453c769bb4e62ecb3b5d8cc836c /plugins
parentb9c20082bcbd231eb67c3ded0d3fe6674c8c55b7 (diff)
downloadcbt-923fd231e0b2c22c0c60379da91066c0f544e83c.tar.gz
cbt-923fd231e0b2c22c0c60379da91066c0f544e83c.tar.bz2
cbt-923fd231e0b2c22c0c60379da91066c0f544e83c.zip
Add scalafix plugin with example project and tests
Diffstat (limited to 'plugins')
-rw-r--r--plugins/scalafix/Scalafix.scala28
-rw-r--r--plugins/scalafix/build/build.scala12
2 files changed, 40 insertions, 0 deletions
diff --git a/plugins/scalafix/Scalafix.scala b/plugins/scalafix/Scalafix.scala
new file mode 100644
index 0000000..cf808d7
--- /dev/null
+++ b/plugins/scalafix/Scalafix.scala
@@ -0,0 +1,28 @@
+package cbt
+
+import cbt._
+import java.nio.file.Files._
+import java.nio.file._
+import java.io.File
+
+trait Scalafix 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
+}
diff --git a/plugins/scalafix/build/build.scala b/plugins/scalafix/build/build.scala
new file mode 100644
index 0000000..b25b54d
--- /dev/null
+++ b/plugins/scalafix/build/build.scala
@@ -0,0 +1,12 @@
+package scalafix_build
+
+import cbt._
+
+class Build(val context: Context) extends Plugin {
+ override def dependencies = (
+ super.dependencies ++
+ Resolver( mavenCentral, sonatypeReleases ).bind(
+ ScalaDependency( "ch.epfl.scala", "scalafix-nsc", "0.3.1" )
+ )
+ )
+}