Guest User

Untitled

a guest
Dec 16th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. import java.io.{File, FileWriter}
  2. import sbt._
  3. import Keys._
  4.  
  5. object InitPlugin extends Plugin
  6. {
  7. override lazy val settings = Seq(commands += initCommand)
  8.  
  9. def using[A <: {def close(): Unit}, B](param: A)(f: A => B): B =
  10. try { f(param) } finally { param.close() }
  11.  
  12. def writeToFile(fileName:String, data:String) =
  13. using (new FileWriter(fileName)) {
  14. fileWriter => fileWriter.write(data)
  15. }
  16.  
  17. lazy val initCommand =
  18. Command.command("init") { (state: State) =>
  19. new File("lib").mkdir()
  20. new File("project").mkdir()
  21. new File("src/main/resources").mkdirs()
  22. new File("src/main/scala").mkdirs()
  23. new File("src/test/resources").mkdirs()
  24. new File("src/test/scala").mkdirs()
  25. writeToFile("build.sbt", "name := \"hello\"\n\nversion := \"1.0\"\n\nscalaVersion := \"2.9.2\"")
  26. writeToFile(".gitignore", "bin/\ntarget/")
  27. state
  28. }
  29. }
Add Comment
Please, Sign In to add comment