mirror of
https://github.com/sbt/sbt.git
synced 2026-09-01 18:47:14 +02:00
97a1dc360b77bb40ca9ba9a1214138e4bf040dbe
Three independent, pre-existing retention bugs kept the classloader of a finished in-process test run -- and the open jar handles it holds -- alive for the rest of the server session. - JUnitXmlTestsListener: testSuite is an InheritableThreadLocal, so threads spawned during a run (e.g. async-framework pool workers) inherit a copy of the suite reference that remove() cannot reach. - TestRecap.collect: the recap is stashed on State.attributes and outlives the command, so it must not retain live throwables. - ClassLoaderCache: loaders evicted from delegate by clearExpiredLoaders are unreachable from the map and never enqueued on the ReferenceQueue, so neither clear()/close() nor the cleanup thread could ever close them. SuiteResult now documents the retention hazard on throwables. Adds deterministic, cross-platform tests for all three severed chains.
…
…
…
…
sbt
sbt is a build tool for Scala, Java, and more.
For general documentation, see https://www.scala-sbt.org/.
sbt 2.x
This is the 2.x series of sbt. The source code of sbt is split across several GitHub repositories, including this one.
- sbt/io hosts
sbt.iomodule. - sbt/zinc hosts Zinc, an incremental compiler for Scala.
- sbt/sbt, this repository hosts modules that implement 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 or a pull request.
If you're looking for an idea for a contribution, issues labeled with good first issue or help wanted might be good starting points.
If you would like to ask questions about sbt, there's sbt channel on Scala Discord, but it would be good to gather questions on Stackoverflow.
license
See LICENSE.
Languages
Scala
94.5%
Java
3.1%
Shell
1.1%
Batchfile
0.9%
Roff
0.2%
Other
0.1%