diff options
author | Eric Torreborre <etorreborre@yahoo.com> | 2017-06-14 17:04:12 +0200 |
---|---|---|
committer | Eric Torreborre <etorreborre@yahoo.com> | 2017-06-14 17:04:12 +0200 |
commit | 72c4a8d33528f924d4623eb204539455b82c4e01 (patch) | |
tree | e8569a6b24eccc6ae8fef71caefe2a4055554af1 | |
parent | ace672254b31d7e6203b0c5a22f1c4e6dfe13f42 (diff) | |
download | cbt-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.scala | 28 |
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 + ) +} |