sbt, the interactive build tool
Go to file
Eugene Yokota 98b26ae5d3 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-01-13 12:56:28 -05:00
cache Roll back the use of sbt/serialization for update caching 2015-03-10 05:12:17 -04:00
compile Update incremental compile debug message 2015-04-15 14:29:10 +10:00
interface Merge pull request #1759 from jedesah/topic/minor_cleanup 2015-01-14 16:13:06 -05:00
ivy Inter-project dependency tracking. Fixes #2266 2016-01-13 12:56:28 -05:00
launch Remove launcher tests 2015-06-20 14:21:59 -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-01-13 12:56:28 -05:00
notes Inter-project dependency tracking. Fixes #2266 2016-01-13 12:56:28 -05:00
project Ref #2068. Scala version bump needs to accompany scala-reflect bump. 2015-07-09 21:20:47 -04:00
run Minor code cleanup 2014-12-03 09:56:34 -08:00
sbt Inter-project dependency tracking. Fixes #2266 2016-01-13 12:56:28 -05:00
sbt-maven-resolver/src Fix issue with aether resolver and bad URLs. 2015-04-28 17:28:26 -04:00
scripted Try to keep bincompat 2015-06-19 23:05:01 -04:00
src/main/conscript 0.13.9 2015-08-10 20:32:24 -04:00
tasks Minor code cleanup 2014-12-03 09:56:34 -08:00
testing Updated ForkError.getMessage() to include exception's original name. 2015-05-25 13:50:56 +02:00
util Add distinctPath 2015-06-28 14:41:32 -04: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 Skip process unit tests 2015-06-20 14:21:59 -04:00
CONTRIBUTING.md Updated to 0.13.9-SNAPSHOT 2015-03-26 08:40:51 +01:00
LICENSE Update CONTRIBUTING.md 2014-04-14 12:16:06 -04:00
NOTICE Update CONTRIBUTING.md 2014-04-14 12:16:06 -04:00
README.md Fix intended formatting in README. 2015-05-27 07:33:26 +01:00
api.specification Macro def aware recompilation. 2012-03-04 17:35:51 +01:00
build.sbt 0.13.9 2015-08-10 20:32:24 -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 StackOverflow and sbt-dev. Don't open an Issue.

sbt 0.13

This is the 0.13.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.