diff options
Diffstat (limited to 'stage2/plugins/Tut.scala')
-rw-r--r-- | stage2/plugins/Tut.scala | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/stage2/plugins/Tut.scala b/stage2/plugins/Tut.scala new file mode 100644 index 0000000..f2fee14 --- /dev/null +++ b/stage2/plugins/Tut.scala @@ -0,0 +1,38 @@ +package cbt +trait Tut extends BaseBuild { + def tut = Tut.apply( lib, context.cbtLastModified, context.paths.mavenCache, scalaMajorVersion ).config( + projectDirectory / "tut", target / "tut", classpath, scalacOptions + ) +} + +import java.io.File +object Tut { + case class apply( + lib: Lib, cbtLastModified: Long, mavenCache: File, scalaMajorVersion: String + )( + implicit + logger: Logger, transientCache: java.util.Map[AnyRef, AnyRef], classLoaderCache: ClassLoaderCache + ) { + case class config( + sourceDirectory: File, + targetDirectory: File, + classpath: ClassPath, + scalacOptions: Seq[String], + fileExtensionRegex: String = """.*\.(md|txt|htm|html)""", + version: String = "0.4.8" + ) { + def apply = + lib.redirectOutToErr { + tut( version ).runMain( + "tut.TutMain", + Seq( + sourceDirectory.string, targetDirectory.string, fileExtensionRegex, "-cp", classpath.string + ) ++ scalacOptions + ) + } + } + def tut( version: String ) = MavenResolver( cbtLastModified, mavenCache, bintray( "tpolecat" ), mavenCentral ).bindOne( + MavenDependency( "org.tpolecat", "tut-core_" ~ scalaMajorVersion, version ) + ) + } +} |