Add note that there are advantages to settings in .scala for multi-project builds

Havoc Pennington 2011-10-18 14:43:58 -04:00
parent c01ac9d4a0
commit 1ad23997a5
2 changed files with 12 additions and 1 deletions

@ -198,7 +198,7 @@ In `.scala` files, you are not limited to a series of settings
expressions. You can write any Scala code including `val`, `object`, and
method definitions.
_The recommended approach is to define settings in `.sbt` files, using
_One recommended approach is to define settings in `.sbt` files, using
`.scala` files when you need to factor out a `val` or `object` or method
definition._
@ -214,6 +214,13 @@ nested project inside your main project. `.sbt` ("basic") and `.scala`
build. More on that is coming up in
[[Multi-Project Builds|Getting Started Multi-Project]].
(A disadvantage of using `.sbt` files in a
[[multi-project build|Getting Started Multi-Project]] is that
they'll be spread around in different directories; for that
reason, some people prefer to put settings in their `.scala` files
if they have sub-projects. This will be clearer after you see
how [[multi-project builds|Getting Started Multi-Project]] work.)
## The build definition project in interactive mode
You can switch the sbt interactive prompt to have the build definition

@ -86,6 +86,10 @@ directory of that project_, while the `.scala` file can be as simple as the
one shown above, listing the projects and base directories. _There is no need
to put settings in the `.scala` file._
You may find it cleaner to put everything including settings in
`.scala` files in order to keep all build definition under a
single `project` directory, however. It's up to you.
You cannot have a `project` subdirectory or `project/*.scala` files in the
sub-projects. `foo/project/Build.scala` would be ignored.