PageRenderTime 30ms CodeModel.GetById 26ms RepoModel.GetById 1ms app.codeStats 0ms

/framework/src/sbt-plugin/src/main/scala/PlaySettings.scala

https://github.com/dctyler/Play20
Scala | 147 lines | 84 code | 61 blank | 2 comment | 0 complexity | 87040a427fbadde2f6265726b78397b8 MD5 | raw file
  1. package sbt
  2. import Keys._
  3. import PlayKeys._
  4. trait PlaySettings {
  5. this: PlayCommands =>
  6. lazy val defaultJavaSettings = Seq[Setting[_]](
  7. testOptions in Test += Tests.Setup { loader =>
  8. loader.loadClass("play.api.Logger").getMethod("init", classOf[java.io.File]).invoke(null, new java.io.File("."))
  9. },
  10. testOptions in Test += Tests.Argument("sequential", "true"),
  11. testOptions in Test += Tests.Argument("junitxml", "console"),
  12. testListeners <<= (target, streams).map((t, s) => Seq(new eu.henkelmann.sbt.JUnitXmlTestsListener(t.getAbsolutePath, s.log))),
  13. templatesImport ++= Seq(
  14. "models._",
  15. "controllers._",
  16. "java.lang._",
  17. "java.util._",
  18. "scala.collection.JavaConversions._",
  19. "scala.collection.JavaConverters._",
  20. "play.api.i18n.Messages",
  21. "play.mvc._",
  22. "play.data._",
  23. "com.avaje.ebean._",
  24. "play.mvc.Http.Context.Implicit._",
  25. "views.%format%._"))
  26. lazy val defaultScalaSettings = Seq[Setting[_]](
  27. templatesImport ++= Seq(
  28. "models._",
  29. "controllers._",
  30. "play.api.i18n.Messages",
  31. "play.api.mvc._",
  32. "play.api.data._",
  33. "views.%format%._"))
  34. lazy val defaultSettings = Seq[Setting[_]](
  35. resolvers ++= Seq(
  36. Resolver.url("Play Repository", url("http://download.playframework.org/ivy-releases/"))(Resolver.ivyStylePatterns),
  37. "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/"),
  38. target <<= baseDirectory / "target",
  39. sourceDirectory in Compile <<= baseDirectory / "app",
  40. sourceDirectory in Test <<= baseDirectory / "test",
  41. confDirectory <<= baseDirectory / "conf",
  42. resourceDirectory in Compile <<= baseDirectory / "conf",
  43. scalaSource in Compile <<= baseDirectory / "app",
  44. scalaSource in Test <<= baseDirectory / "test",
  45. javaSource in Compile <<= baseDirectory / "app",
  46. javaSource in Test <<= baseDirectory / "test",
  47. distDirectory <<= baseDirectory / "dist",
  48. libraryDependencies += "play" %% "play" % play.core.PlayVersion.current,
  49. libraryDependencies += "play" %% "play-test" % play.core.PlayVersion.current % "test",
  50. parallelExecution in Test := false,
  51. sourceGenerators in Compile <+= (confDirectory, sourceManaged in Compile) map RouteFiles,
  52. // Adds config/routes to continious triggers
  53. watchSources <+= confDirectory map { _ / "routes" },
  54. sourceGenerators in Compile <+= (sourceDirectory in Compile, sourceManaged in Compile, templatesTypes, templatesImport) map ScalaTemplates,
  55. // Adds views template to continious triggers
  56. watchSources <++= baseDirectory map { path => ((path / "app") ** "*.scala.*").get },
  57. commands ++= Seq(playCommand, playRunCommand, playStartCommand, playHelpCommand, h2Command, classpathCommand, licenseCommand, computeDependenciesCommand),
  58. shellPrompt := playPrompt,
  59. copyResources in Compile <<= (copyResources in Compile, playCopyAssets) map { (r, pr) => r ++ pr },
  60. mainClass in (Compile, run) := Some(classOf[play.core.server.NettyServer].getName),
  61. compile in (Compile) <<= PostCompile,
  62. dist <<= distTask,
  63. testResultReporter <<= testResultReporterTask,
  64. testResultReporterReset <<= testResultReporterResetTask,
  65. computeDependencies <<= computeDependenciesTask,
  66. playCommonClassloader <<= playCommonClassloaderTask,
  67. playCopyAssets <<= playCopyAssetsTask,
  68. playCompileEverything <<= playCompileEverythingTask,
  69. playPackageEverything <<= playPackageEverythingTask,
  70. playReload <<= playReloadTask,
  71. playStage <<= playStageTask,
  72. playIntellij <<= playIntellijTask,
  73. cleanFiles <+= distDirectory,
  74. resourceGenerators in Compile <+= LessCompiler,
  75. resourceGenerators in Compile <+= CoffeescriptCompiler,
  76. resourceGenerators in Compile <+= JavascriptCompiler,
  77. minify := false,
  78. playAssetsDirectories := Seq.empty[File],
  79. playAssetsDirectories <+= baseDirectory / "public",
  80. templatesImport := Seq("play.api.templates._", "play.api.templates.PlayMagic._"),
  81. templatesTypes := {
  82. case "html" => ("play.api.templates.Html", "play.api.templates.HtmlFormat")
  83. case "txt" => ("play.api.templates.Txt", "play.api.templates.TxtFormat")
  84. case "xml" => ("play.api.templates.Xml", "play.api.templates.XmlFormat")
  85. })
  86. }