The Build System
The Play 2.0 build system is based on sbt, a minimally non-intrusive build tool for Scala and Java projects.
The /project directory
All the build configuration is stored in the project directory. This folder contains 3 main files:
build.properties: This is a marker file that describes the sbt version used.Build.scala: This is the application project build description.plugins.sbt: SBT plugins used by the project build.
Default build for a Play 2.0 application
The default build generated by the play new command looks like this:
import sbt._
import Keys._
import PlayProject._
object ApplicationBuild extends Build {
val appName = "Your application"
val appVersion = "1.0"
val appDependencies = Seq(
// Add your project dependencies here,
)
val main = PlayProject(
appName, appVersion, appDependencies, mainLang = SCALA
).settings(
// Add your own project settings here
)
}
It is written this way to make it easy to define standard options like application name, version and dependencies.
Note that every sbt feature is available in a Play 2.0 project.
Play plugin for sbt
The Play console and all development features like live reloading are implemented via a sbt plugin. It is registred in the plugins.sbt file:
addSbtPlugin("play" % "sbt-plugin" % "2.0")