aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Torreborre <etorreborre@yahoo.com>2017-06-14 17:04:12 +0200
committerEric Torreborre <etorreborre@yahoo.com>2017-06-14 17:04:12 +0200
commit72c4a8d33528f924d4623eb204539455b82c4e01 (patch)
treee8569a6b24eccc6ae8fef71caefe2a4055554af1
parentace672254b31d7e6203b0c5a22f1c4e6dfe13f42 (diff)
downloadcbt-72c4a8d33528f924d4623eb204539455b82c4e01.tar.gz
cbt-72c4a8d33528f924d4623eb204539455b82c4e01.tar.bz2
cbt-72c4a8d33528f924d4623eb204539455b82c4e01.zip
added a cbt plugin for the kind-projector compiler plugin
-rw-r--r--stage2/plugins/KindProjector.scala28
1 files changed, 28 insertions, 0 deletions
diff --git a/stage2/plugins/KindProjector.scala b/stage2/plugins/KindProjector.scala
new file mode 100644
index 0000000..1e04a08
--- /dev/null
+++ b/stage2/plugins/KindProjector.scala
@@ -0,0 +1,28 @@
+package cbt
+
+trait KindProjectorPlugin extends BaseBuild {
+ def kindProjectorVersion = "0.9.4"
+
+ override def scalacOptions = super.scalacOptions ++
+ KindProjector.scalacOptions(
+ KindProjector.dependencies( scalaMajorVersion, kindProjectorVersion, context.cbtLastModified, context.paths.mavenCache ).jar
+ )
+}
+
+object KindProjector {
+ def dependencies(
+ scalaMajorVersion: String, kindProjectorVersion: 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.spire-math", "kind-projector_"+scalaMajorVersion, kindProjectorVersion
+ )
+ )
+
+ def scalacOptions( jarPath: File ) =
+ Seq(
+ "-Xplugin:" ++ jarPath.string
+ )
+}