Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.{File, FileWriter}
- import sbt._
- import Keys._
- object InitPlugin extends Plugin
- {
- override lazy val settings = Seq(commands += initCommand)
- def using[A <: {def close(): Unit}, B](param: A)(f: A => B): B =
- try { f(param) } finally { param.close() }
- def writeToFile(fileName:String, data:String) =
- using (new FileWriter(fileName)) {
- fileWriter => fileWriter.write(data)
- }
- lazy val initCommand =
- Command.command("init") { (state: State) =>
- new File("lib").mkdir()
- new File("project").mkdir()
- new File("src/main/resources").mkdirs()
- new File("src/main/scala").mkdirs()
- new File("src/test/resources").mkdirs()
- new File("src/test/scala").mkdirs()
- writeToFile("build.sbt", "name := \"hello\"\n\nversion := \"1.0\"\n\nscalaVersion := \"2.9.2\"")
- writeToFile(".gitignore", "bin/\ntarget/")
- state
- }
- }
Add Comment
Please, Sign In to add comment