Ethan Atkins 8fd10bfb5f Make all test and run classloaders parallel capable
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
2019-09-27 13:23:42 -07:00
2019-09-11 23:02:50 -04:00
2019-09-11 23:02:50 -04:00
2019-04-20 03:23:54 -04:00
2019-09-24 12:22:03 -07:00
2019-09-04 01:24:08 -04:00
2019-08-30 11:20:53 +09:00
2019-09-14 15:22:05 -07:00
2019-06-06 08:05:16 +03:00
2019-09-19 13:37:11 -04:00
2019-08-16 00:57:05 +03:00
2019-06-11 09:30:14 +02:00
2018-06-25 19:40:15 -04:00
2019-07-18 12:40:21 -07:00
2019-08-01 11:57:29 -07:00
2018-09-14 03:38:58 -04:00
2018-09-14 03:38:58 -04:00
2018-07-08 22:18:57 +09:00
2019-06-06 08:05:16 +03:00
2017-09-16 15:52:58 -04:00
2017-10-03 01:45:06 -04:00
2018-04-25 14:55:09 +01:00

Build Status Latest version Gitter Chat

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.io module.
  • sbt/util hosts a collection of internally used modules.
  • sbt/librarymanagement hosts sbt.librarymanagement module that wraps Ivy.
  • sbt/zinc hosts Zinc, an incremental compiler for Scala.
  • sbt/sbt, this repository hosts modules that implements the build tool.
  • 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.

S
Description
sbt, the interactive build tool
Readme
97 MiB
Languages
Scala 94.5%
Java 3.1%
Shell 1.1%
Batchfile 0.9%
Roff 0.2%
Other 0.1%