mirror of
https://github.com/sbt/sbt.git
synced 2026-09-03 08:34:34 +02:00
f4c11a63ab264d35d130285487bbc17bbf3d1a68
The old implementation of checkBuildSources can easily take 20ms to run when called in MainLoop.processCommand. It is rarely faster than 4-5ms. To reduce this overhead, I stopped using the checkBuildSources task in processCommand. Instead, I manually cache the build source hashes in a global state variable and add a file monitor that invalidate the entire set of source hashes if any changes are detected. This could probably be more efficient, but I figure that build sources change infrequently enough that it's fine to just invalidate the entire list of source hashes. Because the CheckBuildSources instance is already watching the meta build, I reworked Continuous to use that FileTreeRepository for the build sources if it is available. Bonus: fixes https://github.com/sbt/sbt/issues/5482
sbt
sbt is a build tool for Scala, Java, and more.
For general documentation, see http://www.scala-sbt.org/.
sbt 1.x
This is the 1.x series of sbt. The source code of sbt is split across several GitHub repositories, including this one.
- sbt/io hosts
sbt.iomodule. - sbt/librarymanagement hosts
sbt.librarymanagementmodule that wraps Ivy. - sbt/zinc hosts Zinc, an incremental compiler for Scala.
- sbt/sbt, this repository hosts modules that implements the build tool.
Other links
- Setup: Describes getting started with the latest binary release.
- FAQ: Explains how to get help and more.
- sbt/sbt-zero-seven: hosts sbt 0.7.7 and earlier versions
Issues and Pull Requests
Please read CONTRIBUTING carefully before opening a GitHub Issue.
The short version: try searching or asking on StackOverflow.
license
See LICENSE.
Languages
Scala
94.5%
Java
3.1%
Shell
1.1%
Batchfile
0.9%
Roff
0.2%
Other
0.1%