mirror of
https://github.com/sbt/sbt.git
synced 2026-09-02 02:57:21 +02:00
6559c3a06da7d3e30a3a357014f84ce4148bd754
In some circumstances, sbt would generate a number of task progress threads that could run concurrently. The issue was that the TaskProgress could be shared by multiple EvaluateTaskConfigs if a dynamic task was used. This was problematic because when a dynamic task completed, it might call afterAllCompleted which would stop the progress thread. There also was a race condition because multiple threads calling initial could theoretically have created a new progress thread which would cause a resource leak. To fix this, we modify the shared task progress so that the `stop()` method is a no-op. This should prevent dynamic tasks from stopping the progress thread. We also defer the creation of the task thread until there is at least one active task. This prevents a thread from being created in the shell. The motivation for this change was that I found that sometimes there was a leaked progress thread that would make the shell not really work for me because the progress thread would overwrite the shell prompt. This change fixes that behavior and I was able to validate with jstack that there was consistently either one or zero task progress threads at a time (zero in the shell, one when tasks were actually running).
…
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/util hosts a collection of internally used modules.
- 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%