Documentation

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:

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")