mirror of
https://github.com/sbt/sbt.git
synced 2026-09-04 08:45:56 +02:00
8fd10bfb5f42cc739604f6804824b0ccff7235d8
A number of users were reporting issues with deadlocking when using 1.3.2: https://github.com/sbt/sbt/issues/5116. This seems to be because most of the sbt created classloaders were not actually parallel capable. In order for a classloader to be registered as a parallel capable, ALL of the parent classes except for object in the class hierarchy must be registered as a parallel capable: https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html#registerAsParallelCapable--. If a classloader is not registered as parallel capable, then a global lock will be used internally for classloading and this can lead to deadlock. It is impossible to register a scala 2 classloader as parallel capable so I ported all of the classloaders to java. This commit updates the java-serialization scripted test. Prior to the port, the new version of the test would more or less always deadlock. After this change, I haven't been able to reproduce a deadlock. This had no significant performance impact when I reran https://github.com/eatkins/scala-build-watch-performance
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%