sbt, the interactive build tool
Go to file
Eugene Yokota 447e2f7f8c Inter-project dependency tracking. Fixes #2266
Adds `trackInternalDependencies` and `exportToInternal` settings. These
can be used to control whether to trigger compilation of a dependent
subprojects when you call `compile`. Both keys will take one of three
values: `TrackLevel.NoTracking`, `TrackLevel.TrackIfMissing`, and
`TrackLevel.TrackAlways`. By default they are both set to
`TrackLevel.TrackAlways`.

When `trackInternalDependencies` is set to `TrackLevel.TrackIfMissing`,
sbt will no longer try to compile internal (inter-project) dependencies
automatically, unless there are no `*.class` files (or JAR file when
`exportJars` is `true`) in the output directory. When the setting is
set to `TrackLevel.NoTracking`, the compilation of internal
dependencies will be skipped. Note that the classpath will still be
appended, and dependency graph will still show them as dependencies.
The motivation is to save the I/O overhead of checking for the changes
on a build with many subprojects during development. Here's how to set
all subprojects to `TrackIfMissing`.

    lazy val root = (project in file(".")).
      aggregate(....).
      settings(
        inThisBuild(Seq(
          trackInternalDependencies := TrackLevel.TrackIfMissing,
          exportJars := true
        ))
      )

The `exportToInternal` setting allows the dependee subprojects to opt
out of the internal tracking, which might be useful if you want to
track most subprojects except for a few. The intersection of the
`trackInternalDependencies` and `exportToInternal` settings will be
used to determine the actual track level. Here's an example to opt-out
one project:

    lazy val dontTrackMe = (project in file("dontTrackMe")).
      settings(
        exportToInternal := TrackLevel.NoTracking
      )
2016-05-01 02:57:03 -04:00
ivy/src/main/scala/sbt Inter-project dependency tracking. Fixes #2266 2016-05-01 02:57:03 -04:00
launch Configure launchconfig to 2.11 2016-04-29 04:39:49 -04:00
licenses move remaining pieces of sbt subproject to sbt_pending and fix notices 2010-09-21 21:55:50 -04:00
main Inter-project dependency tracking. Fixes #2266 2016-05-01 02:57:03 -04:00
notes Inter-project dependency tracking. Fixes #2266 2016-05-01 02:57:03 -04:00
project Move sbt-maven-resolver out of this repository 2016-04-29 04:08:09 -04:00
run Update to latest version of incremental, fix imports 2015-09-16 10:16:03 +02:00
sbt Inter-project dependency tracking. Fixes #2266 2016-05-01 02:57:03 -04:00
scripted Some changes due to cross publishing 2016-04-29 16:18:40 -04:00
src/main/conscript Merge 2016-02-25 23:00:57 -05:00
tasks FPORT: Fixes #2302. Don't check pre and post conditions in sbt.Execute by default. 2016-01-16 12:35:49 +00:00
testing Update to latest version of incremental, fix imports 2015-09-16 10:16:03 +02:00
.gitattributes Added .gitattributes file. 2013-04-25 00:06:51 +08:00
.gitignore support defining Projects in .sbt files 2012-12-09 20:40:41 -05:00
.travis.yml Update Travis CI configuration 2016-04-29 12:37:34 -04:00
CONTRIBUTING.md Link to Stackoverflow ask with sbt tag 2016-03-11 02:27:16 +00:00
ISSUE_TEMPLATE.md Add "Clean history" to contributing with links 2016-02-19 13:21:11 +00:00
LICENSE Update CONTRIBUTING.md 2014-04-14 12:16:06 -04:00
MIGRATION.md Reduce parameters from sbt.Project.apply 2016-04-25 04:26:30 -04:00
NOTICE Update CONTRIBUTING.md 2014-04-14 12:16:06 -04:00
PULL_REQUEST_TEMPLATE.md Add "Clean history" to contributing with links 2016-02-19 13:21:11 +00:00
README.md Link to Stackoverflow ask with sbt tag 2016-03-11 02:27:16 +00:00
api.specification Macro def aware recompilation. 2012-03-04 17:35:51 +01:00
build.sbt Move sbt-maven-resolver out of this repository 2016-04-29 04:08:09 -04:00
scripted.specification New scripted test framework 2009-11-09 09:34:52 -05:00

README.md

sbt

sbt is a build tool for Scala, Java, and more.

For general documentation, see http://www.scala-sbt.org/.

Issues and Pull Requests

Please read CONTRIBUTING carefully before opening a GitHub Issue.

The short version: try searching or asking on StackOverflow and sbt-dev. Don't open an Issue.

sbt 1.0.x

This is the 1.0.x series of sbt.

  • Setup: Describes getting started with the latest binary release.
  • FAQ: Explains how to get help and more.
  • Google Code: hosts sbt 0.7.7 and earlier versions

license

See LICENSE.