ScalaのWebアプリケーションフレームワークであるPlay2、基板を支えるsbt-pluginに含まれる色々なtraitを見る。なおPlayのPluginとは別物なので注意。 PlayRun, PlaySettingsあたり非常に興味深い。playのsbt設定や、runを実行した時にどのような処理が行われるのかが分かる。 以下で触れるのは2.3.xブランチのこのcommit上の話、ただコードを読むだけ trait PlayImport jdbc, anormなどのcomponent def component(id: String) = "com.typesafe.play" %% id % play.core.PlayVersion.current saclaテンプレートでデフォルトで読み込まれるimport val defaultScalaTemplateImports = Seq